后台分为前台和后台,早期的嵌入式系统中没有作业系统的概念,程式设计师编写嵌入式程式通常直接面对裸机及裸设备。在这种情况下,通常把嵌入式程式分成两部分,即前台程式和后台程式。
基本介绍
- 中文名:后台
- 性质:嵌入式程式
- 分类:前台程式和后台程式
- 要求:实时性要求特别严格
前台程式通过终端来处理事件,其结构一般为无限循环;后台程式则掌管整个嵌入式系统软、硬体资源的分配、管理以及任务的调度,是一个系统管理调度程式。这就是通常所说的前后台系统。一般情况下,后台程式也叫任务级程式,前台程式也叫事件处理级程式。在程式运行时,后台程式检查每个任务是否具备运行条件,通过一定的调度算法来完成相应的操作。对于实时性要求特别严格的操作通常由终端来完成,仅在终端服务程式中标记事件的发生,不再做任何工作就退出中断,经过后台程式的调度,转由前台程式完成事件的处理,这样就不会造成在中断服务程式中处理费时的事件而影响后续和造成其他中断。
实际上,前后台系统的实时性比预计的要差。这是因为前后台系统认为所有的任务具有相同的优先权别,即是平等的,而且任务的执行又是通过FIFO伫列排队,因而对那些实时性要求高的任务不可能立刻得到处理。另外,由于前台程式是一个无限循环的结构,一旦在这个循环体中正在处理的任务崩溃,使得整个任务伫列中的其他任务得不到机会被处理,从而造成整个系统的崩溃。由于这类系统结构简单,几乎不需要RAM/ROM的额外开销,因而在简单的嵌入式套用被广泛使用。
后台实际可以有多种含义,比如手机上说的后台,其实就跟系统的最小化差不多,只是隐藏和缩小的概念,终端设备上的后台还不是很完善,你上了网页,后台运行,有的会直接终止页面的浏览,但浏览器却还在,其实后台的的概念很简单,就是实还在的,但却是看不见,它还在运行,后台执行绪就是如此,碎片回收就是用后台执行绪的方式来执行。