操作系统基础教程——第六章课后答案
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把供等候理发的顾客坐的椅子。要求:①如果没有顾客,理发师便在理发椅上睡觉;②一个顾客到来时,他必须叫醒理发师;③如果理发师正在理发时又有顾客来到,如果有空椅子可坐,就坐下来等待,否则就离开。
操作系统基础教程——第六章课后答案相关推荐
- Web前端开发精品课HTML CSS JavaScript基础教程第六章课后编程题答案
编程题: 利用这样一章学到的知识,制作如图6-10所示的表格效果,并且要求代码语义化. 用VS2013新建ASP.NET空网站,添加新项,建立HTML文件,向其加入以下代码: <!DOCTYPE ...
- 数据结构(C语言)第二版 第六章课后答案
数据结构(C语言)第二版 第六章课后答案 1~5 C B B B C 6~10 B A B A A 11~15 D C C (D,D) B 1.选择题 (1)在一个图中,所有顶点的度数之和等于图的边数 ...
- 偏微分方程简明教程第六章部分答案
偏微分方程简明教程答案 第六章 椭圆型方程 习题6.1 6.1.1 6.1.3 6.1.6 6.1.7 习题6.4 6.4.4 6.4.7 6.4.8 6.4.9 第六章 椭圆型方程 习题6.1 6. ...
- python程序设计与基础教程第六章上机实验_《Python程序设计与算法基础教程》教学大纲.doc...
PAGE 1/ NUMPAGES 2 作者:江红.余青松 定价:59元 ISBN:9787302466833 <算法与程序设计>课程教学大纲 Programming and algorit ...
- python程序设计与基础教程第六章上机实验_《Python程序设计与算法基础教程(第二版)》江红 余青松 课后代码题详解...
(还在更新中-) 这本书对Python的知识点的描述很详细,而且排版看的很舒服 几个例题: 假装自己从零开始学,将一些有代表性.有意思的例题抽取出来 部分复习题: 遇到有意思的复习题,我会拿出来,并且 ...
- Web前端开发精品课HTML CSS JavaScript基础教程第五章课后编程题答案
编程题: 图5-15所示为一个问卷调查的网页,请制作出来.要求:大标题用h1标签:小题目用h3标签:前两个问题使用有序列表:最后一个问题使用无序列表. 用VS2013新建ASP.NET空网站,添加新项 ...
- 【传智播客】Javaweb程序设计任务教程 黑马程序员 第六章 课后答案
所有章节答案合集-->传送门 [测一测] 学习完前面的内容,下面来动手测一测吧,请思考以下问题: 1.请简述JSP的运行原理. 1.请简述JSP中的9个隐式对象. 2.请使用include标签编 ...
- matlab第六章课后答案,MATLAB教程2012a第6章习题解答-张志涌
第6章 M文件和句柄函数 习题6及解答 1 请分别写出用for 和while 循环语句计算 1000000 K 0.2i 1 0.2 0.22 0.21000000的程序.此外,还请写出i 0 避免循 ...
- Web前端开发精品课HTML CSS JavaScript基础教程第四章课后编程题答案
编程题 利用这一章学到的各种文本标签,把图4-25所示的网页效果做出来. 用VS2013新建ASP.NET空网站,添加新项,建立HTML文件,向其加入以下代码: <!DOCTYPE html&g ...
最新文章
- avue validate 变为不可编辑_排版技巧——如何用 Word 编辑参考文献
- ubuntu安装QQ
- 转发和重定向的区别?
- SQLAlchemy的使用---外键ForeignKey数据库创建与连接
- 在大厂干了 5 年产品后,如今她裸辞回家开店去了
- STM32 进阶教程 13 – FLASH的读写操作
- python装饰器副作用_对Python 装饰器的理解心得
- sklearn自学指南(part15)--广义线性回归
- P3768 简单的数学题(杜教筛)
- python常用序列类型_Python基础-序列类型的常用方法
- python判断日期为第几天_python怎么判断某一天是一年中的第几天
- hulu往届笔试题及解题思路
- linux hg(mercurial)入门
- 3D 世界的钥匙「GitHub 热点速览 v.22.08」
- 计算机装机常用英语词汇,组装生产常用英语专用词汇.doc
- Java毕设项目成都某4S店销售管理系统计算机(附源码+系统+数据库+LW)
- matlab在电力系统中的应用 当当,MATLAB在电力系统分析中的应用
- 作文 进入中职计算机班,我的中职生活作文(精选5篇)
- 模似html元素tilte提示
- 如何高效学习?(个人经验篇)