操作系统概念(第七版 翻译版)复习题说课讲解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作系统概念(第七版翻译版)复习题

2011-12操作系统复习题

(一)进程同步

●进程同步1

进程P1和进程P2并发执行时满足一定的时序关系,P1的代码段S1执行完后,才能执行P2的代码段S2.为描述这种同步关系, :试设计相应的信号量, :给出信号量的初始值,●:给出进程P1和P2的结构

●进程同步2

问题描述:(理发店问题)一个理发店有一间配有n个椅子的等待室和一个有理发椅的理发室。如果没有顾客,理发师就睡觉;如果顾客来了二所有的椅子都有人,顾客就离去;如果理发师在忙而有空的椅子,顾客就会坐在其中一个椅子;如果理发师在睡觉,顾客会摇醒他。

①给出同步关系

②设计描述同步关系的信号量;

③给出满足同步关系的进程结构(请完成满足同步关系的进程结构)。

进程同步2

设公共汽车上,司机和售票员的活动分别为:司机的活动为启动车辆,正常行车,到站停车;售票员的活动为关车门,售票,开车门。

给出在汽车不断地到站、停车、行驶过程中,司机和售票员的活动的同步关系。

用信号量和wait, signal操作实现他们间的协调操作。

进程同步3:某高校计算机系开设网络课并安排上机实习,假设机房共有2m台机器,有2n名学生选该课,规定:

(1)每两个学生组成一组,各占一台机器,协同完成上机实习;

(2)只有凑够两个学生,并且此时机房有空闲机器,门卫才允许该组学生进入机房;

(3)上机实习由一名教师检查,检查完毕,一组学生才可以离开机房。

试用信号量机制实现它们的同步关系。

●进程同步4:多个进程对信号量S进行了5次 wait操作,2次signal

操作后,现在信号量的值是-3,与信号量S相关的处于阻塞状态的进程有几个?信号量的初值是多少?

●进程同步5:使用两个进程计算Y=F1(X)+F2 (X). 在这个问题中,F1(X)

和F2 (X)的计算是可以并行处理的,因此F1(X)和F2 (X)可以分别出现在两个进程中。在F1(X)+F2 (X)中,必须在F1(X)和F2(X)计算完

毕,才能进行加法运算,因此本问题是同步问题。

(1)确定并发和顺序操作

(2)确定互斥或同步的规则

(3)同步的操作流程

(4)确定信号量的个数和含义

(5)确定进程的程序结构

进程同步6:如下图所示,有多个PUT操作同时向BUFF1放数据,有一个MOVE操作不断地将BUFF1的数据移到Buff2,有多个GET操作不断地从Buff2中将数据取走。BUFF1的容量为m,BUFF2的容量是n,

PUT、 MOVE、 GET每次操作一个数据,在操作的过程中要保证数据不丢失。试用wait、signal原语协调PUT、 MOVE的操作,并说明每个信号量的含义和初值。

(1)确定并发操作的规则

(2)设计信号量、初始值及用途含义

(3)给出进程的程序结构GET

PUT

Buff1 Buff2

MOVE

●进程同步7:一售票厅只能容纳300人,当少于300人时,可以进入;

否则,需在外等候。若将每一个购票者作为一个进程,请用wait、signal操作给出进程程序结构,并写出信号量及初值。

●进程同步8:针对如下所示的优先图,使用信号量给出正确的程序结

构。

S1

S4 S2 S3

S5

S6

(二)进程调度与死锁

进程调度与死锁1 :5个进程,3种资源,某个时刻,资源分配情况如下:

Allocation Max Available

A B C A B C A B C

P0 0 1 0 7 5 3 ,3 3 2

P1 2 0 0 3 2 2

P2 3 0 2 9 0 2

P3 2 1 1 2 2 2

P4 0 0 2 4 3 3

问:系统是否处于安全状态?如果P1再提出请求1个A类,2个C类资源,是否该批准?

进程调度与死锁2:假设一个系统有某类资源m个,被n个进程共享,进程每次只请求和释放一个资源,证明只要系统满足下面两个条件,就不会发生死锁:

(1)每个进程需求资源的最大值在1到m之间;

(2)所有进程需要资源的最大值的和小于m+n。

证明:

设每个进程最多申请资源x个(1≤x≤m),

最坏情况下,为进程分配资源数为n(x-1)。系统剩余资源为m- n(x-1)。

只要 m- n(x-1)≥1;则系统不会出现死锁。整理得:

nx ≤m+n-1,所以nx ≤m+n时,不会引起死锁

●进程调度与死锁3:和死锁1相同,系统的资源数量为:(10,5,

7)。经过一段时间的分配后,资源分配与占用情况见下表所示。

分析进程P0的请求(0, 1, 0)能否满足?

●进程调度与死锁4:假设系统有4个相容类型的资源被3个进程共享,

每个进程最多需要2个资源,证明这个系统不会死锁。

假设每个进程都需要2个资源,3个进程先每个进程分一个资源,共需3个资源,这时候只需要再有一个资源就能保证至少有一个进程能够执行,系统即不会死锁

●进程调度与死锁5:有三个进程P1、P2和P3并发工作。进程P1需要资

源S3和S1;进程P2需用资源S1和S2;进程P3需用资源S2和S3,

回答:

(1)若对资源分配不加限制,会发生什么情况?为什么?

(2)为保证进程正确地工作,应采用怎样的资源分配策略?为什么?

1) 若对进程间的资源分配不加限制,可能会发生死锁。若进程P1、P2和P3分别获得资源S3、S1和S2,后再继续申请资源时会导致进程间的“循环等待”,并且这种状态将永远持续下去。

(2) 为保证系统处于安全状态,应采用下面列举3种资源分配策略:

1) 采用静态资源分配:由于执行前已获得所需全部资源,故不会出现占有资源又等待资源的现象,从而避免资源的循环等待。

2) 采用资源按序分配,避免出现循环等待资源的现象。

3) 采用银行家算法进行分配资源前的检测。

进程调度与死锁6:有5个任务A,B,C,D,E,它们几乎同时到达,预计它们的运行时间为10,6,2,4,8min。其优先级分别为3,5,2,1和4,这里5为最高优先级。对于下列每一种调度算法,计算其平均进程周转时间(进程切换开销可不考虑)。

(1)先来先服务(按A,B,C,D,E)算法。

(2)优先级调度算法。

(3)时间片轮转算法。

相关文档
最新文档