序号 A B C D E F 柱面号 5 7 15 9 20 7 磁头号 6 5 20 4 9 15 扇区号 3 6 6 4 5 2 请你分析并列出一个最省时间的响应顺序: 答:经分析,移臂调度采用电梯调度算法(初使状态下移动臂向外移),旋转调度总是让
首先到达读写磁头位置下的扇区先进行传送操作,最省时间的响应顺序为FBADCE
第六章
一、单项选择题
1. 一个进程要向其它进程发送消息时,应先组织好一封信,(接收者名)是不必存放在信
件中的 2. 临界区是指并发进程中涉及共享变量的(程序段)
3. 按序分配资源:按序分配资源是指对系统中每一个资源给出一个编号。规定任何一个进
程申请两个以上资源时,总是先申请编号小的资源,再申请编号大的资源。 4. 进程调用receive原语后可能被置成等待(信件)的状态
5. 在PV操作管理临界区时定义了信号量S,其初值为1。当S的值为( <0 )时表示有进
程在等待进入临界区 6. 在采用信箱通信方式的系统中,把信箱作为一种(可共享的软件)资源来管理 7. 有n个并发进程都要使用共享资源R,系统规定最多允许m个进程(n>=m>=1)同时
使用资源。现用PV操作来管理,定义了信号量S,其初值应该为( m ) 8. 使用PV操作管理共享资源后,(仍可能出现 )系统死锁
9. 如果让进程在相关临界区的执行是(互斥)的,那么就不会出现与时间有关的错误 10. 若信号量S<=0, 则执行V(s)时将释放一个(等待信号量S的)进程 11. 采用银行家算法分配资源可以(避免)系统死锁
12. 如果在一个为负值的信号量上执行P操作,则调用该P操作的进程将变为(等待)状态 13. 用PV操作实现进程同步时每一个信号量表示一种(消息)
14. 若一个进程的执行依赖另一个进程的消息,则把进程间的这种制约关系成为(进程同步) 15. 用V操作唤醒一个等待信号量的进程时,被唤醒进程的状态应变成(就绪)状态 16. 对资源采用按序分配策略可以破坏形成死锁的4个必要条件中的(循环等待资源)条件 17. 用PV操作实现进程同步时,每一个信号量表示一种(消息)
18. 一个进程独占处理器顺序执行时其执行结果(只取决于进程本身)
19. 用PV操作来管理可供n个进程共享的资源时,若信号量S的初值定义为m,则信号量S
可能出现的最小值为( m-n ) 20. 把一组可同时执行的进程称为(并发进程)
21. 若一组并发进程中的任意一个进程的执行不会影响其它进程的执行,则这组进程相互之
间是(无关) 22. 有关并发进程的下列阐述中(并发进程在同一CPU上是轮流运行的)是正确的 23. 把并发进程中与共享变量有关的程序段称为(临界区)
二、多项选择题
1. 程序的并行执行不是利用了( )与( )的并行工作能力( C )( D )( E )( )
( )
A.多道程序 B.CPU C.外设 D.多媒体 E.中断 2. 程序的并行执行是利用了哪些设备的并行工作能力( A )( B )
A.外设 B.CPU C.多媒体 D.输入设备 E.输出设备
3. 下列选项中,属于死锁发生的必要条件的是( A )( B )( D )( E )( ) A.互斥使用资源 B.占有并等待资源 C.进程同步 D.不可抢夺资源 E.循环等待资源
三、填空题
四、名词解释
1. 进程同步:进程同步是指并发进程之间存在的一种制约关系,一个进程的执行依赖另一
个进程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到达才被唤醒。 2. 死锁:若系统中存在一组进程(两个或多个进程),它们中的每一个进程都占用某种资
源而又都在等待其中另一个进程所占用的资源,这种等待永远不能结束就说系统出现死锁。 3. 并发进程:在多道程序设计系统中,作为单个作业可以同时执行,而每一个作业又需要
多个进程协调来完成。因此,系统会同时存在着许多进程,在单处理器的情况下,这些进程轮流地占用处理器,即一个进程的工作没有全部完成之前,另一个进程就开始工作,我们说这些可同时执行的进程具有并发性,并且把同时执行的进程称为“并发进程”。 4. 进程的互斥:进程的互斥是指当有若干个进程都要使用某一共享资源时,任何时刻最多只允许一个进程去使用,其他要使用该资源的进程必须等待,直到占用资源者释放了该资源。 5. 剥夺式分配资源:剥夺式分配资源策略是当一个进程申请资源得不到满足时则可以从另
一个进程那里去抢夺。 五、简答题
1. 什么是同步?什么是互斥?
答:(1) 同步是对操作时间顺序所加的必要限制的一种说法;
(2) 互斥是对操作时间所加的一种限制;其限制规则是“操作A和操作B决不能
在同一时刻执行”。
2. 什么是死锁?
答:若系统中存在一组进程(两个或多个);它们中的每一个进程都占用了某个资源而
又都在等待该组中另一个进程所占用的资源;且这种等待永远不能结束;则说系统出现了死锁 3. 引起死锁的原因是什么?
答:引起死锁的原因可能是资源分配不当,也可能是由并发进程的执行速度引起的。 六、综合题
1. A、B两组学生进行投球比赛,规定A组(或B组)的一个学生投了一个球后应让B
组(或A组)的一个学生投一个球。假定让A组的学生先开始投球,用PV操作控制时,回答如下问题:
(1)应定义的信号量的个数和初值:
(2)在两组工作流程的方框位置上填上适当的P、V操作,使其能按规定进行
A组:
(1) 投一个球 (2)
B组: (3)
投一个球
(4)
答:(1)两个信号量S1和S2,设初值分别为:S1=1;S2=0。 (2)两组的工作流程如下: A组: P(S1) 投一个球
V(S2) B组: P(S2) 投一个球
V(S1)
2. 某系统有输入机和打印机各一台,今有两个进程都要同时使用它们,采用PV操作实现
请求使用和归还释放后,还会产生死锁吗?若否,说明理由;若会产生死锁则给出一种防止死锁的方法。 答:(1)如果让一个进程先得到使用输入机的权利,另一个进程的到了使用打印机的权利,
那么任何一个进程都将处于等待另一个进程所占资源的状态;这种等待永远不能结束,于是便发生了死锁,故PV操作使用不当仍为死锁,例如,两个进程采用如下的方式实现请求使用和归还释放时会发生死锁:
Process A
Begin
…… P(S1); P(S2);
使用输入机和打印机; V(S1) ; V(S2); ……
end;
Process B Begin
…… P(S2); P(S1);
使用输入机和打印机; V(S2) ; V(S1); ……
end;
(2) 如果采用PV操作实现请求使用和归还释放时结合资源的按需分配策略,则可防止
死锁。下面是一种防止死锁的实现方法:
Begin
S1,S2 :semaphore; S1:=1;S2:=1; Cobegin
Process A Begin
…… P(S1); P(S2);
使用输入机和打印机; V(S1) ; V(S2); ……
end; Process B
Begin
…… P(S1); P(S2);
使用输入机和打印机; V(S1) ; V(S2); ……