操作系统基础教程——第六章课后答案
创始人
2024-02-21 18:53:30
0

1.思考题

(6)什么是临界区?什么是临界资源?什么是竞争条件?

临界区:访问临界资源的程序段(代码)。

临界资源:并发进程中共享变量所代表的资源;一次只能供一个进程使用的资源。

竞争条件:指多进程并发访问(操作)同一个数据时执行的结果依赖于进程之间执行的顺序。

(7)试述临界区管理的基本原则。

基本原则:

       一次至多允许一个进程停留在相关的临界区内

       一个进程不能无限止地停留在临界区内

       一个进程不能无限止地等待进入临界区

(17)试述产生死锁的必要条件。

           必要条件:

(1)互斥条件(mutal exclusion):进程互斥使用临界资源

 (2)占有和等待条件(hold and wait):进程在申请新资源得不到满足而等待时,不释放已经占有资源

 (3)不剥夺条件(no preemption):一个进程不能抢夺其他进程占有的资源

 (4)循环等待条件(circular wait):存在一个循环等待链,每个进程分别等待它前一个进程所持有的资源,造成永远等待

              

(18)列举死锁的各种防止策略。

          策略:

                  1、使资源可同时访问而非互斥

                  2、采用静态分配

                  3、采用剥夺式调度方法

                  4、采用层次分配策略

2.应用题

(2)两个进程P1和P2并发执行,其程序代码分别如下。

P1(){

       while(true){

              k = k * 2;

              k = k + 1;

       }

}

P2(){

       while(true){

              print k;

              k = 0;

       }

}

若令k的初值为5,在进程P1执行了两个循环后,进程P1和P2又并发执行了一个循环。写出该过程中可能的打印值,并指出其中与时间有关的错误。

 P1的前两次循环:

                            1、k=10+1,即k=11

                            2、k=22+1,即k=23

进程P1和P2又并发执行了一个循环:

与时间有关的错误:

两个程序并发执行共享了变量k,导致结果不唯一。

(7)有如下两个优先级相同的进程P1和P2,已知信号量S1和S2的初值均为0,试问P1、P2并发执行后x、y、z的值各为多少?

P1(){

       y = 1;      

       y = y + 3;

       V(S1);

       z = y + 1;

       P(S2);

       y = z + y;   

}

P2(){

       x = 1;

       x = x + 5;

       P(S1);

       x = x + y;

       V(S2);

       z = z + x;

}

 

(15)现有一个如题图所示的小巷,除安全岛可容2人暂时停身外,仅能容1人通过,若A、B两端都允许行人进出,试使用信号量与PV操作设计一个算法,让两端行人顺利通过小巷。

 

 

 

(17)有一个阅览室,读者进入时必须先在一张登记表上登记,此表为每个座位列出一个表目,包括座位号、姓名,读者离开时要注销登记信息;假如阅览室共有100个座位。试用信号量和PV操作实现用户进程的同步算法。

 

 

(21)一个经典的同步问题:吸烟者问题(Patil,1971年)。三位吸烟者在同一个房间内,还有一位香烟供应者。为了制造并抽掉香烟,每位吸烟者需要三样东西:烟草、纸和火柴,供应者有丰富的货物提供。三位吸烟者中,第一个人有自己的烟草,第二个人有自己的纸,第三个人有自己的火柴。供应者随机地将两样东西放在桌子上,允许一位吸烟者吸烟。当吸烟者吸完烟后唤醒供应者,供应者再将两样东西放在桌子上,唤醒另一位吸烟者。试采用信号量和PV操作编写他们同步工作的程序。

 

 

 

(24)试用信号量和pv操作实现睡眠的理发师问题:理发店里有一位理发师、一把理发椅和n把供等候理发的顾客坐的椅子。要求:①如果没有顾客,理发师便在理发椅上睡觉;②一个顾客到来时,他必须叫醒理发师;③如果理发师正在理发时又有顾客来到,如果有空椅子可坐,就坐下来等待,否则就离开。

 

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...