好文档 - 专业文书写作范文服务资料分享网站

操作系统大题全集

天下 分享 时间: 加入收藏 我要投稿 点赞

本文档如对你有帮助,请帮忙下载支持!

试分配并修改相应数据结构,资源分配情况如表2-6所示。

表2-6 P2申请资源后的资源分配表 进 程 P0 P1 P2 P3 P4 0 0 3 2 1 0 0 0 1 3 5 4 0 3 3 2 0 0 1 4 0 0 1 2 1 7 5 0 1 1 3 4 0 6 5 2 0 6 5 6 0 4 0 0 资 Allocation 源 情 况 A B C D A B C D A B C D Need Available 再利用安全性检查算法检查系统是否安全,可用资源available(0,4,0,0)已不能满足任何进程的需要,此时系统不能将资源分配给P2。 9.有桥如图2-7所示。

车流如箭头所示,桥上不允许两车交会,但允许同方向多辆车依次通行(即桥上可以有多个北 同方向的车)。用P、V操作实现交通管理以防止桥上阻塞。

解答:由于桥上不允许两车相会,故桥应该互斥访问,而同一方向上允许多辆车一次通过,即临界区允许多个实例访问。用同一信号量来互斥访问临界区。由于不能允许某一方向的车桥 完全“控制桥”,应保证最多某一方向上连续通过一定数量的车后,必须让另一方向的车通过,可以通过3个信号量来控制。具体程序如下: Begin

南 Integer:mutex,availn,abails; Mutes:=0;avialn:=m;avails:=m; Cobegin

South: begin

P(avails); P(mutex); 过桥; V(mutex); V(avails); End; North: begin P(availn); P(mutex); 过桥; V(mutex); V(availn); End;

Coend; End;

10. 设系统中有三类资源A、B和C,又设系统中有5个进程P1,P2,P3,P4和P5.在T0时刻系统状态如下:

本文档如对你有帮助,请帮忙下载支持!

最大需求量 已分配资源量 剩余资源量 A B C A B C A B C P1 8 6 4 1 2 1 2 1 1 P2 4 3 3 3 1 1 P3 10 1 3 4 1 3 P4 3 3 3 3 2 2 P5 5 4 6 1 1 3

(1) 系统是否处于安全状态?如是,则给出进程安全序列. (2) 如果进程P5申请1个资源类A、1个资源类B和1个资源类C,能否实施分配?为什么?

答案:(1)

最大需求量 已分配资源量 剩余资源量 尚需要量 A B C A B C A B C A B C P1 8 6 4 1 2 1 2 1 1 7 4 3 P2 4 3 3 3 1 1 1 2 2 P3 10 1 3 4 1 3 6 0 0 P4 3 3 3 3 2 2 0 1 1 P5 5 4 6 1 1 3 4 3 3 系统是处于安全状态,安全序列为:P4,P2,P1,P3,P5 (2)P5申请(1,1,1) 最大需求量 已分配资源量 剩余资源量 尚需要量 A B C A B C A B C A B C P1 8 6 4 1 2 1 1 0 0 7 4 3 P2 4 3 3 3 1 1 1 2 2 P3 10 1 3 4 1 3 6 0 0 P4 3 3 3 3 2 2 0 1 1 P5 5 4 6 2 2 4 3 2 2 不能实施分配,因为分配后找不到安全序列,系统将处于不安全状态.

31. 有三个进程PA,PB和PC 合作解决文件打印问题:PA将文件记录从磁盘读入主存的缓冲区1,每执行一次读一个记录 ;PB将缓冲区1的内容复制到缓冲区2,每执行一次复制一个记录;PC将缓冲区2的内容打印出来,每执行一次打印一个记录。缓冲区的大小等于一个记录大小。请用P,V操作来保证文件的正确打印。

解答:在本题中,进程PA,PB和PC之间的 关系为:PA 与PB共用一个单缓冲区,而PB又 与PC共用一个单缓冲区,其合作方式可用图2-10表示,当缓冲区1为空时,进程PA可将一个记录读入其中;若缓冲区1中有一个数据且缓冲区2为空,则进程PB可将记录从缓冲区1复制到缓冲区2中;若缓冲区2中有数据,则进程PC 可以打印记录,在其他条件下,相应进程必须等待。事实上,这是一个生产者—消费者的问题

PA 缓冲区1 从磁盘读入 复制 PB 缓冲区2 打印 图2-10 进程间的合作方式

为遵循这一同步规则。应设置四个信号量 empty1,empty2,full1,full2,信号量 empty1

PC 本文档如对你有帮助,请帮忙下载支持!

及empty2分别表示缓冲区1及缓冲区2是否为空,其初值为1;信号量full1,full2分别表示缓冲区1及缓冲区2是否有记录可供处理,其初值为0。其同步描述如下: int empty1=1; int empty2=1; int full1=0; int full2=0; main ( ) {

cobegin PA( ); PB( ); PC( ); coend }

PA( ) {

while( 1 )

{ 从磁盘读一个记录; P (empty1);

将记录存入缓冲区1;

V(full1); } } PB( ) {

while(1) {

P(full1);

从缓冲区1中取出记录; V(empty1); P (empty2);

将记录存入缓冲区2; V(full2); } } PC( ) {

while(1) {

P(full2);

从缓冲区2中取出记录; V(empty2); 打印记录; }

本文档如对你有帮助,请帮忙下载支持!

}

本题也是一个 典型生产者—消费者的问题,其中的难点在于PB既是一个生产者又是一个消费者。

11.有一个虚拟存储系统, 每个进程在内存占有3页数据区、1页程序区. 刚开始时数据区为空. 有以下访页序列:

1、5、4、1、2、3、2、1、5、4、2、4、6、5、1 试给出下列情形下的缺页次数:

(1)系统采用先进先出(FIFO)淘汰算法. (2)系统采用最近最少使用(LRU)淘汰算法. 12.有个一虚拟存储系统, 每个进程在内存占有3页数据区, 刚开始时数据区为以下访页序列:

2、3、4、5、3、4、1、2、3、5、1、4、2、4、5、1、3、2、1、3 试给出下列情形下的缺页次数:

(1) 系统采用先进先出(FIFO)淘汰算法.

(2) 系统采用最近最少使用(LRU)淘汰算法. 用PV操作解决读者写者问题的正确程序如下: begin S, Sr: Semaphore; rc: integer; S:=1; Sr:=1; rc:=0;

cobegin PROCESS Reader i ( i=1,2…) begin P(Sr) rc:=rc+1; if rc=1 then P(S); V(Sr); read file; P(Sr); rc:=rc-1 if rc=0 thenV(S); V(Sr); end ;

PROCESS Writer j (j=1,2…)

空. 有 本文档如对你有帮助,请帮忙下载支持!

begin P(S); Write file; V(S) end; coend ; end;

请回答:(1)信号量 Sr的作用;(2)程序中什么语句用于读写互斥,写写互斥;(3)若规定仅允许5个进程同时读怎样修改程序? 答:(1)Sr用于读者计数rc的互斥信号量;

(2)if rc=1 then P(S)中的P(S)用于读写互斥,写者进程中的P(S)用于写写互斥,读写互斥。

(3)程序中增加一个信号量S5,初值为5,P(S5)语句加在读者进程P(Sr)之前,V(S5)语句加在读者进程第2个V(Sr)之后。

2.考虑一个由8个页面、每页有1024个字节组成的逻辑空间,把它装入到有32个物理

块的存储器中,问:

(1)逻辑地址需要多少二进制位表示? (2)物理地址需要多少二进制位表示?

因为页面数为8=23,故需要3位二进制数表示。每页有1024个字节,1024=210,于是页内地址需要10位二进制数表示。32个物理块,需要5位二进制数表示(32=25)

(1)页的逻辑地址由页号和页内地址组成,所以需要3+10=13位二进制数表示。 (2)页的物理地址由块号和页内地址的拼接,所以需要5+10=15位二进制数表示。

1. 某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:

操作系统大题全集

本文档如对你有帮助,请帮忙下载支持!试分配并修改相应数据结构,资源分配情况如表2-6所示。表2-6P2申请资源后的资源分配表进程P0P1P2P3P4003210001354033200140012
推荐度:
点击下载文档文档为doc格式
7ca77610zx1oirv327pb3jk4h7sglc00ps2
领取福利

微信扫码领取福利

微信扫码分享