进程调度_嵌入式系统设计大学教程(第2版)_[共5页]

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

106
如果微处理器支持保护模式,那么操作系统一般都在保护模式下运行。

虽然系统设计者设计的程序会经过严格的测试才加载到系统中执行,但是也不能保证程序无错误。

在保护模式下运行时,就可以防止编程中的错误(如一个进程干涉其他进程运行的错误)引起整个系统的崩溃。

5.2.4 进程调度
一个进程的生存期,将使用许多系统资源。

例如,使用CPU运行它的指令,使用文件系统中的文件,间接或直接地使用系统中的物理设备等。

操作系统必须跟踪进程及进程所使用的资源,这样才能管理进程。

进程是并发机制的实体和基础,调度则是实现并发机制的手段。

所谓进程调度,是指在系统中所有的就绪进程里,按照某种策略确定一个合适的进程并让处理器运行它。

进程调度应使用恰当的调度算法以确保公平。

进程调度程序必须从系统所有能运行的进程中找出下一个最应该执行的进程。

所谓能运行的程序是指只等待CPU运行,而其他条件已经就绪的进程。

一个简单的进程调度算法是基于进程优先级的,即每个进程被分配一个优先级,调度器将在已就绪的进程队列中选取优先级最高的进程执行。

但是,如果一个进程执行直到它需等待时才让出CPU,那么这个进程就可能占用CPU较长时间,这是不合适的。

合适的方法是每次进程只执行一段少量的时间,当这一段时间用完后,在下一段时间内,选择另一个就绪的、优先级最高的进程执行,这段执行的少量时间被称为时间片。

嵌入式系统中的进程有许多是实时性的,实时性的进程可以用几种不同类型的时间属性描述。

一个进程集合上的时间属性往往对进程调度方案有很大影响,即一个调度策略必须定义时间属性需求,以此来确定一个调度方案是否有效。

下面首先讨论嵌入式系统设计中不同类型的进程时间属性需求,然后再讨论进程调度策略。

1.时间属性需求
进程的两个重要的时间属性需求是进程启动时间和进程期限。

启动时间是进程从等待状态进入就绪状态的时间。

对于非周期性执行的进程来说,由于它是由某个事件启动的(例如,外部数据或者由
其他进程计算出的数据到达时启动),因而启
动时间一般都是从触发事件开始计算。

但实
际上,系统在事件触发后,还需要一段时间来
使进程就绪。

对于周期性执行的进程来说,
启动时间有两种可能性,一种是在简单系统
中,进程可能在周期的一开始就已经就绪,
启动时间即开始计算;另一种是在复杂的系
统中,周期开始以后还需特定数据(也是事
件触发)到来才开始启动时间的计算,如图
5-3所示。

进程期限描述了什么时候进程的运行必
须结束。

非周期性进程的进程期限一般从进
程启动时间开始计算,因为它是唯一合理的
参考时间。

一般来说,周期性进程的进程期
限发生在一个周期结束之前的某个时刻。

对图5-3 进程事件属性的定义。

相关文档
最新文档