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

操作系统基础教程——第六章课后答案相关推荐

  1. Web前端开发精品课HTML CSS JavaScript基础教程第六章课后编程题答案

    编程题: 利用这样一章学到的知识,制作如图6-10所示的表格效果,并且要求代码语义化. 用VS2013新建ASP.NET空网站,添加新项,建立HTML文件,向其加入以下代码: <!DOCTYPE ...

  2. 数据结构(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)在一个图中,所有顶点的度数之和等于图的边数 ...

  3. 偏微分方程简明教程第六章部分答案

    偏微分方程简明教程答案 第六章 椭圆型方程 习题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. ...

  4. python程序设计与基础教程第六章上机实验_《Python程序设计与算法基础教程》教学大纲.doc...

    PAGE 1/ NUMPAGES 2 作者:江红.余青松 定价:59元 ISBN:9787302466833 <算法与程序设计>课程教学大纲 Programming and algorit ...

  5. python程序设计与基础教程第六章上机实验_《Python程序设计与算法基础教程(第二版)》江红 余青松 课后代码题详解...

    (还在更新中-) 这本书对Python的知识点的描述很详细,而且排版看的很舒服 几个例题: 假装自己从零开始学,将一些有代表性.有意思的例题抽取出来 部分复习题: 遇到有意思的复习题,我会拿出来,并且 ...

  6. Web前端开发精品课HTML CSS JavaScript基础教程第五章课后编程题答案

    编程题: 图5-15所示为一个问卷调查的网页,请制作出来.要求:大标题用h1标签:小题目用h3标签:前两个问题使用有序列表:最后一个问题使用无序列表. 用VS2013新建ASP.NET空网站,添加新项 ...

  7. 【传智播客】Javaweb程序设计任务教程 黑马程序员 第六章 课后答案

    所有章节答案合集-->传送门 [测一测] 学习完前面的内容,下面来动手测一测吧,请思考以下问题: 1.请简述JSP的运行原理. 1.请简述JSP中的9个隐式对象. 2.请使用include标签编 ...

  8. matlab第六章课后答案,MATLAB教程2012a第6章习题解答-张志涌

    第6章 M文件和句柄函数 习题6及解答 1 请分别写出用for 和while 循环语句计算 1000000 K 0.2i 1 0.2 0.22 0.21000000的程序.此外,还请写出i 0 避免循 ...

  9. Web前端开发精品课HTML CSS JavaScript基础教程第四章课后编程题答案

    编程题 利用这一章学到的各种文本标签,把图4-25所示的网页效果做出来. 用VS2013新建ASP.NET空网站,添加新项,建立HTML文件,向其加入以下代码: <!DOCTYPE html&g ...

最新文章

  1. avue validate 变为不可编辑_排版技巧——如何用 Word 编辑参考文献
  2. ubuntu安装QQ
  3. 转发和重定向的区别?
  4. SQLAlchemy的使用---外键ForeignKey数据库创建与连接
  5. 在大厂干了 5 年产品后,如今她裸辞回家开店去了
  6. STM32 进阶教程 13 – FLASH的读写操作
  7. python装饰器副作用_对Python 装饰器的理解心得
  8. sklearn自学指南(part15)--广义线性回归
  9. P3768 简单的数学题(杜教筛)
  10. python常用序列类型_Python基础-序列类型的常用方法
  11. python判断日期为第几天_python怎么判断某一天是一年中的第几天
  12. hulu往届笔试题及解题思路
  13. linux hg(mercurial)入门
  14. 3D 世界的钥匙「GitHub 热点速览 v.22.08」
  15. 计算机装机常用英语词汇,组装生产常用英语专用词汇.doc
  16. Java毕设项目成都某4S店销售管理系统计算机(附源码+系统+数据库+LW)
  17. matlab在电力系统中的应用 当当,MATLAB在电力系统分析中的应用
  18. 作文 进入中职计算机班,我的中职生活作文(精选5篇)
  19. 模似html元素tilte提示
  20. 如何高效学习?(个人经验篇)

热门文章

  1. awk和sed命令详解
  2. 从崩溃的系统中恢复多可文档管理系统的办法
  3. uni-app APP端引入echart
  4. vue 获取用户位置 高德_Vue使用高德地图
  5. 银河麒麟高级服务器部署glusterfs
  6. git合并分支相关操作
  7. centos 7.6 安装Netbackup 9.1
  8. 工业相机(面阵和线阵)和镜头选型
  9. 在Vue中自制视频播放器(上)
  10. Oracle数据库表空间整理回收与释放操作