操作系统基础教程——第六章课后答案-创新互联

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把供等候理发的顾客坐的椅子。要求:①如果没有顾客,理发师便在理发椅上睡觉;②一个顾客到来时,他必须叫醒理发师;③如果理发师正在理发时又有顾客来到,如果有空椅子可坐,就坐下来等待,否则就离开。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享名称:操作系统基础教程——第六章课后答案-创新互联
转载源于:http://myzitong.com/article/dioiep.html