参考答案:
【问题1】
分区是一个相对独立实体,对于每个分区来讲,它们在空间和时间上完全隔离;分区由一个以上的进程组成,在时间上,每个分区按预先设定的时间片运行,分区没有优先级,系统中的所有分区按线性方式顺序工作;在空间上,每个分区有自己独立的存储空间,其空间大小是预先分配好的,任何分区内的进程发生故障不会影响其他分区的进程运行。分区技术使应用之间既能够相互独立的工作而不相互影响,又能共享系统资源;各个应用之间故障隔离,防止错误蔓延,可靠性和安全性高。开发人员能够快速地将新的软件模块插入系统,从而实现了高级别的系统集成和更新。
【问题2】
(1)0 (2)1 (3)2 (4)P2 (5)P3
(6)4 (7)20 (8)3 (9)null (10)7
详细解析:
【问题1】
图3-1给出的具有分区技术的操作系统架构已明确说明了此类操作系统的能力,通过本图考生就可以正确地回答该问题。
【问题2】
本题涉及到两方面的知识,其一是实时系统的周期任务的可调度分析方法;其二是正对问题1中提到的分区的时间表调度算法,完成对表3-1的实例进行可调度分配,使操作系统按照设置好的调度序列调度分区,一定会保证表3-1中所有任务在最坏情况下按其周期要求执行完成。在可调度分析时,表3-1给出的实例中,分区调度的主时间框架应是实例中所用任务周期的最大公约数,即40ms,这样可调度分析首先应分析在40ms时间范围内是否可保证表3-1中所有任务的最坏执行时间都被至少执行一次。在此前提下,依次类推,完成对20ms周期、10ms周期和5ms周期的所用任务的最坏执行时间都被至少执行一次,如果四种分析都可调度,则表3-1给出的实例是可调度的。具体公式如下:
1(P3T1)≤5ms;
1(P1T1)+1(P2T1)≤10ms;
2(P1T2)+1(P3T2)≤20ms
1(P3T1)×8+1(P1T1)×4+1(P2T1)×4+2(P1T2)×2+1(P3T2)×2+5(P1T3)×1+3(P2T2)≤40ms
如果上述分析是可调度的,那么完成表3-2的分区调度表就可很容易实现。调度表是分区操作系统调度分区的依据,调度表将时间框架分成若干个窗口,每一个窗口可定义分配给哪个分区运行,启动时间是指本窗口针对主时间框架的第一个窗体“0”的偏移量,持续时间是指分配给此窗口的实际可运行时间。考生在填写时必须清楚以下4点:
(1)分区时间表调度中某窗口的启动时间不一定必须等于上一窗口的启动时间加持续时间。也就是说,窗口间的启动时间可以不连续;
(2)分区时间表调度中的第一个窗口的启动时间一般都为0;
(3)操作系统调度程序在遇见主时间框架最后一个窗口运行完后,应在主时间框架结束时刻重新加载主时间框架,新周期开始从第一个窗口运行;
(4)空窗口(null)是指本时间段操作系统不做任何分区调度,系统运行一种称之为空分区的任务。