操作系统 总复习题(6)

2019-08-31 18:15

18、哲学家就餐算法描述: semaphore fork[5]={1,1,1,1,1};

void philosopher(int i) /*i:哲学家编号,从0 到4*/ {

while (TRUE) {

think( ); /*哲学家正在思考*/ take_fork(i); /*取左侧的筷子*/

take_fork((i+1) % N); /*取左侧筷子;%为取模运算*/ eat( ); /*吃饭*/

put_fork(i); /*把左侧筷子放回桌子*/ put_fork((i+1) % N); /*把右侧筷子放回桌子*/ } } main ( ) {

cobegin {

philosopher(0); philosopher(1); philosopher(2); philosopher(3); philosopher(4); } }

分析:假如所有的哲学家都同时拿起左侧筷子,看到右侧筷子不可用,即所有的程序都在 无限期地运行,但是都无法取得任何进展,即出现死锁,所有哲学家都吃不上饭。 根据下面的提示解决方案来描述一种没有人饿死(永远拿不到筷子)算法。

方法1:至多只允许四个哲学家同时进餐,以保证至少有一个哲学家能够进餐,最终总会释放出他所使用过的两支筷子,从而可使更多的哲学家进餐。以下将room 作为信号量,只允 许4 个哲学家同时进入餐厅就餐,这样就能保证至少有一个哲学家可以就餐。

25

方法 2:利用信号量的保护机制实现。通过信号量mutex对eat()之前的取左侧和右侧筷 子的操作进行保护,使之成为一个原子操作,这样可以防止死锁的出现。

方法 3:规定奇数号的哲学家先拿起他左边的筷子,然后再去拿他右边的筷子;而偶数号 的哲学家则相反.

26

19、(2009年计算机专业研究生入学考试试题)三个进程P1,P2,P3互斥使用一个包含N(N>0)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用geteven()从该缓冲区中取出一个偶数并用counteven()统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义信号量的含义。要求用伪代码描述。

27

第三章 处理机调度与死锁

一、单项选择题

1. 如果一个进程的周转时间比较大,但带权周转时间比较小,说明该进程( )。 A.是一个短进程,且执行过程中等待时间相对较长 B.是一个短进程,且执行过程中等待时间相对较短 C.是一个长进程,且执行过程中等待时间相对较长 D.是一个长进程,且执行过程中等待时间相对较短

2. 下列调度算法中,对所有就绪进程都比较公平的算法是( )。 A.FCFS B.SPF C.RR(时间片轮转法) D.HRRN

3. 下列调度算法中,需要事先估计进程运行时间的算法是( )。 A.FCFS B.HRRN

C.RR D.多级反馈队列调度算法 4. 下列哪种调度决定了系统的多道程序度?( ) A.高级调度 B.中级调度 C.低级调度 D.进程调度 5. 以下执行最频繁的调度方式是( )。

A.高级调度 B.中级调度 C.低级调度 D.作业调度 6. 从用户提交作业到作业最终完成的时间间隔称为( )。 A.响应时间 B.周转时间 C.服务时间 D.等待时间

7. 抢占方式的调度是指当前正在运行的进程被操作系统中断,并转移到( )状态。 A.阻塞状态 B.新建状态 C.就绪状态 D.挂起状态

8. 当一个时间片比运行时间最长的进程还要长时,时间片轮转调度算法就退化成了( )。

A.HRRN B.FCFS C.SPF D.多级反馈队列调度算法 9. 下列调度算法中,属于抢占策略的算法是( )。 A.FCFS B.RR C.SPF D.HRRN

28

10. 若某一时刻系统中的一个进程的响应比最高,则说明该进程( )。 A.运行时间最长 B.等待时间最长

C.周转时间最长 D.等待时间与运行时间的比值最大

11.下列调度算法中,能让每一个进程在进入就绪队列后很快得到一次运行机会的调度算法是( )。

A.FCFS B.SPF C.RR

12. 对于一个刚刚到达的进程,其响应比应该为( )。 A.0 B.1 C.2 D.无穷大

13. 在时间片轮转调度算法中,如果时间片一定,且每个进程的服务时间都大于一个时间片,则运行的进程越多,每个进程( )。

A.响应时间越长 B.响应时间越短 C.运行速度越快 D.周转时间越长 14. 在FCFS调度算法中,下面哪种进程运行的更好一些( )。 A.较早到达的进程 B.较晚到达的短进程 C.紧随在长进程之后的短进程 D.较晚到达的长进程 15. 在衡量调度算法时,下面哪一个是用户关心的准则( )。 A.处理器的利用率 B.系统的吞吐量 C.响应时间 D.资源的平衡使用 16. 在衡量调度算法时,下面哪一个是系统关心的准则( )。 A.周转时间 B.系统的吞吐量 C.响应时间 D.优先权准则 17. FCFS调度算法优先选择下面哪种进程运行( )。

A.估计运行时间最长的 B.等待时间最短的 C.估计运行时间最短的 D.等待时间最长的

18. 在采用RR调度算法进行调度时,某进程连续获得了两个时间片,可能的原因是( )。 A.该进程是一个短进程 B.该进程的优先级最高 C.当时就绪队列为空 D.该进程的等待时间最长

19. 为多道程序提供的可共享资源不足时,可能出现死锁。但是,不适当的( )也可能产生死锁。

A.进程优先权 B.资源的线性分配 C.进程推进顺序 D.分配队列优先权

20. 除了采用资源剥夺法解除死锁,还可以采用( )方法解除死锁。 A.执行并行操作 B.撤销进程

29


操作系统 总复习题(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:00147 - 人力资源管理(一)自学考试

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: