注:
(4)8 P160:(4)代表该道题属于第4章的内容,8是题号(第8题),P160是该习题在书中的大体页码。
(4)8在实时分布式系统中,事件触发和时间触发系统的含义是什么,给出一个例子,并说明为什么动态调度适合于事件触发系统,给出三种动态调度算法。P160、P166
答:事件触发:在一个事件触发的实时系统中,当一个重要的外部事件触发时,它被传感器察觉到,并导致与传感器相连的CPU得到一个中断请求。事件触发系统因此就是中断驱动的,多数的实时系统也是以这样的方式工作的。
时间触发:在时间触发系统中,每△T毫秒产生一次时钟中断。在每一次时钟滴答时,对(选定的)传感器进行采样,并且驱动(特定的)执行机构。中断仅在时钟滴答时发生。
动态调度不要求事先做多少工作,它是执行期间动态地作出决定。动态调度在运行期间决定下面运行哪一个进程。这样更能容易的捕获系统中的触发中断,因此动态调度适合于事件触发系统。
三种动态调度算法:
第一种:比率单调算法:它是设计用来抢占式调度一个单一处理机上的没有顺序和互斥限制的周期性任务的。事先给每个任务分配一个与其执行频率相等的优先级。运行时,运行程序总是选择优先级最高的任务运行,如果有必要,可先暂停当前运行任务。
第二种:最早时限优先法:每当检测到事件时,调度程序将其加入到等待任务队列中。这个等待队列根据这些任务的时限排序,最近的时限排在最前边(对周期性任务时限就是它下一次发生时间)。然后,调度程序就从列表选择地一个任务调度,即距它最后时限最近的一个。同比率单调算法一样,它也产生最优结果,即使是对μ=1的任务集合也是一样的。