当前位置:文档之家› 操作系统习题(有答案)

操作系统习题(有答案)

《计算机操作系统》习题

一.选择题从供选择的答案中选出应填入下列叙述中的( )内的最佳答案,把答案写在答卷纸上的相应处。(每题8分,共40分)

1.操作系统的基本特性是(A),按功能特征的不同而把操作系统分为(B)类型;以作业为处理对象的操作系统是(C)类型和(D)类型,其中(C)的主要优点是系统的吞吐量大、资源利用力高;而(D)的主要优点是具有很好的交互性;分时系统中,影响响应时间的因素是(E),在不影响系统性能的前提下来可用于改善响应时间的方法是(F);网络操作系统的基本功能是(G),而分布式计系统的基本特征是(H) A:(1)不确定性、虚拟性、共享性、并发性(2)不确定性、共享性、并发性、高可靠性 (3)不确定性、虚拟性、共享性、交互性 (4)虚拟性、共享性、并发性、交互性

B:(1)多处理机操作系统、微机操作系统、网络操作系统、分布式操作系统 (2)实时操作系统、分时操作系统、批处理操作系统 (3)实时操作系统、分时操作系统、批处理操作系统、多处理机操作系统、微机操作系统、网络操作系统 (4)(1)和(2)

C,D:(1)实时操作系统 (2)分时操作系统(3)批处理操作系统

E:(1)系统开销、对换时间、对换信息量、用户数 (2)对换时间、时间片、用户数、系统开销 (3)对换时间、时间片、用户数、对换信息量 (4)对换时间、对换信息量、用户数、系统开销F:(1)减少用户数和时间片 (2)减少对换时间 (3)选用高速的外存和减少对换信息量 (4)(1)和(2) G:(1)资源管理 (2)提供网络接口 (3)网络通信 (4)提供多种网络服务 (5)以上所有的 (6)管理进程浮动 (7)以上所有的

H:(1)分布性、并行性、模块性、偶合性 (2)分布性、自制性、并行性、偶合性 (3)分布性、自制性、并行性、模块性、偶合性 (4)分布性、自制性、并行性、模块性

2.(A)是可并发执行的(B),在一个数据集合上的执行过程。(A)与(B)的区别是(A)是动态概念,而(B)是静态概念;正在运行的(A),由于等待外部事件的发生,将执行(C)原语进入(D)状态,为了腾出内存给其它(A)运行,它可能被(E)到外存,当外部事件完成后,由(F)程序负责把它(E)回内存;进程间存在的制约关系(G),引起(G)的原因是(H)。因此要建立相应的同步机构来解决。

A,B:(1)作业 (2)程序 (3)线程 (4)进程 (5)数据

C,D:(1)挂起 (2)静止 (3)阻塞 (4)删除

E:(1)调度 (2)对换 (3)分配 (4)逐出

F:(1)高级调度 (2)中级调度 (3)低级调度 (4)作业调度

G,H:(1)资源共享、合作进程 (2)直接的制约关系 (3)间接的制约关系 (4)(2)和(3)

3.假设某多道系统有供用户使用的内存空间200K,磁带机2台,打印机1台,系统采用可变分区管理方式,对磁带机和打印机采用静态分配,并假设输入输出操作的时间忽略不记。现有一作业序列如下:作业号进入输入井时间要求计算时间要求主存量申请磁带机数申请打印机数

1 8:00 25分钟30K 1台 1台

2 8:20 15分钟60K 0台 1台

3 8:20 20分钟120K 1台 0台

4 8:30 20分钟40K 1台 0台

5 8:35 10分钟20K 1台 1台

假设作业调度采用短作业优先算法,优先分配主存的低地址区域且不能移动已在内存的作业,在内存的作业平分CPU时间,则作业调度选中的次序是(A),如果忽略系统工作时间,最大的作业周转时间是(B),最小的作业周转时间是(C),作业的平均周转时间是(D),作业的平均带权周转时间是(E),作业全部执行结束的时间是(F)。如果假设以上系统是一单道程序系统,则作业调度选中的次序为(G),如果忽略系统工作时间,作业的平均周转时间是(H)。

A,G:(1)(1,3,2,4,5) (2)(1,2,3,4,5) (3)(1,3,4,2,5) (4)(1,2,4,3,5) (5)(1,3,4,5,2) (6)(1,2,5,3,4)

B,C,D,H:(1)30分钟 (2)36分钟 (3)40分钟 (4)44分钟 (5)55分钟 (6)64分钟 (7)70分钟 (8)80分钟 (9)10分钟 (10)25分钟 (11)18分钟 (12)34分钟

E:(1)13.87 (2)2.77 (3)1.5 (4)8.8

F:(1)9:22 (2)9:30 (3)9:40 (4)9:50

解:

4技术把独享设备改造成为若干用户共同使用的设备,以提高设备利用率。而实现SPOOLing 技术要求计算机系统除具有一般计算机硬件基础外,还需要处理功能较强的(B),以及属于(C)的硬件和软件(D)进程的支持,(B)的作

用是在CPU授意下管理I/O操作,(C)保证SPOOLing 系统的(D)进程能与用户进程并行执行。

UNIX系统把设备分为(E)和(F)。属于(E)的设备有磁盘和磁带,而终端设备属于(F)。UNIX系统为(G)设备设置一个驱动程序,对不同商标的磁盘,把它们视成(H)类型的设备,为它们配置(H)的磁盘驱动程序。

A:(1)逻辑设备 (2)物理设备 (3)用户设备 (4)虚拟设备

B:(1)中断 (2)通道 (3)缓冲 (4)进程

C:(1)多道程序系统 (2)单道程序系统(3)单道批处理系统 (4)实时系统

D:(1)护卫 (2)输入/输出守护(3)缓冲 (4)驱动

E:(1)输入设备 (2)输出设备 (3)存储设备 (4)块设备

F:(1)输入设备 (2)字符设备 (3)输出设备 (4)缓冲设备

G:(1)个 (2)类 (3)所有 (4)同组

H:(1)相同 (2)不同 (3)同组 (4)不同组

5.内存储器管理的主要任务是(A),其中(B)是指作业装入到一与其地址空间不一致的存储空间而做的地址部分的调整过程,而(B)的类型分为(C)和(D)。(C)是在装入作业时由装配程序进行的(B),(D)是在作业的执行过程中,而进行的(B),(D)是靠(E)机构来实现的。扩充内存的方法有(F),其中(G)是一个地址空间。虚拟地址空间的最大容量是(H)来决定。

A:(1)内存管理、内存保护、内存扩展、重定位 (2)内存管理、地址变化、内存扩充、重定位 (3)内存分配、内存回收、内存保护、内存扩展、重定位 (4)内存分配、内存回收、内存保护、内存扩展、重定位、动态联接

B:(1)内存分配 (2)地址定位 (3)地址重定位 (4)内存保护

C:(1)预先方式 (2)执行方式 (3)动态方式 (4)静态方式(5)实时方式

D:(1)预先方式 (2)执行方式 (3)动态方式 (4)静态方式 (5)实时方式

E:(1)硬件 (2)软件

F:(1)交换 (2)扩展 (3)覆盖 (4)虚拟存储器 (5)以上所有 (6)(1)、(3)和(4)

(7)(1)、(2)和(3) (8)(2)、(3)和(4)

G:(1)交换 (2)扩展 (3)覆盖 (4)虚拟存储器

H:(1)内存加外存的总容量 (2)内存容量 (3)外存容量 (4)计算机的地址结构

2.假定某采用分页式存储管理的系统中,主存的容量为1M,被分成256块,块号为0,1,2, (255)

某作业的地址空间占用4页,其页号为0,1,2,3,被分配到主存中的第2,4,1,5块中。主存地址应该用(A)位来表示,作业中的每一页长度为(B),逻辑地址中的页内地址应占用(C)位来表示,逻辑地址空间至小是(D)位,作业中第2页在分到的主存块中的起始地址是(E)。

A,C,D:(1)8 (2)10 (3)12 (4)20

B:(1)512字(2)1024字节(3)2048字节(4)4096字节

E:(1)2 (2)1024 (3)4096 (4)4095

答案:A:( 4 )B:(4)C:( 3 )D:(1 )E:(3 )

二.判断题。将答案(Ture或False)写在答卷纸相应的位置(共20分)

1.一个由8页且每页512字节组成的地址空间,如果内存被划分成32768块,则逻辑地址的有效位为物理地址位的一半。

2.设某移动磁头磁盘有200个柱面,编号为0~199,磁头当前正处在144柱面,对于如下请求所得序列:88,148,92,179,90,151,103,176,131

采用SSTF(最短寻道时间优先)比采用SCAN(扫描,移动磁头方向=OUT)的调度策略移动总柱面数要少。

3.在段式系统中,段的动态联结有利于段的共享。如果访问某段时,其段表项的某位为0,则表示缺段,应调用缺段中断处理程序把该页调入内存。

4.当作业需要的所有资源都得到满足后,则把它从后备状态调入内存执行。

5.进程可以是一个单线程进程或多线程进程。在现代操作系统中,线程是调度和分派的基本单位。

6.保护键的方法可以用来保护内存,其值为整数,运行时放在PSW中。

7.系统发生“抖动“现象,可以采用挂起用户进程方法。

8.信号量方法也是进程间的通信的方式,是一种低级的进程的通信方式。对其进行的P操作,可用减1操作代替,表示申请一个资源。

9.由于为了增加程序性能,一般把被调用的模块,写在调用模块相邻的位置上。

10.某文件系统使用1K字节的物理块和16位的盘地址,FCB中含有8个物理块号以及一个一重间接索引块指针和一个二重间接索引块指针,那么一个文件最大可达4168K。

解:

三.简答题。答案写在答卷纸相应位置上。(每题6分,共30分)

1.在UNIX 系统中,其进程调度方式是什么?引起进程调度的时机有那些?

解:UNIX系统中,进程的调度采用多级反馈队列轮转调度方式。

引起进程调度的时机有:(1)当前进程的时间片用完,由核心将当前进程放入下一级的优先级队列的末尾,并调度另一进程运行;(2)在当前进程执行了sleep例程,进入睡眠状态而放弃处理机时;(3)进程通过核心执行了自我终止的系统调用exit时;(4)在执行完系统调用而返回到用户态时,如果此时系统中已出现了更高优先级的进程在等待运行,此时核心将剥夺当前进程的执行;(5)当核心完成中断处理,控制被返回到用户态而要执行原进程时,若有更高优先级的进程在等待运行,等等。

2.为什么要打开文件?叙述在UNIX文件系统,打开文件/home/user01/myfile的过程?

解:当用户要求对一个文件实施多次读/写或其他操作时,每次都要从检索目录开始。为了避免多次重复地检索目录,在大多数OS中都引入了“打开”(open)这一文件系统调用,当用户第一次请求对某文件进行操作时,先利用open系统调用将该文件打开。

在UNIX文件系统,打开文件/home/user01/myfile的过程四步:

(1)检索目录

核心先调用检索目录过程namei从根目录或从当前目录开始,沿目录树查找指名文件的索引结点。在查找时,利用线性检索法,将文件路径名中的各分量名,与相应目录文件中的文件名逐一进行比较。若未找到指名文件,或者该文件不允许存取,便做出错处理;否则,进入第二步。

(2)分配内在索引结点

如果该文件已被其他用户打开,此时只需对在第一步中所找到的i结点,执行其引用计数加1的操作;否则,应为被打开文件分配一内存i结点,并调用磁盘读过程将磁盘i结点的内容拷贝到内存i 结点中,并设置i.count为1。

(3)分配文件表

这是指为已打标开的文件分配一个文件表项,使文件表项中的 f. node指向内存索引结点。通常还将读写指针f.offset置为0,以表示从头开始读/写此文件;置读写标志f.flag,及将文件的引用计数f.count加1,并记入该表项的首址fp。

(4)分配用户文件描述表项

在用户文件描述表中取得一空表项。若成功,便将fp填入该表项中,并把该表项的序号fd作为文件描述符,写入调用进程的U区中。

3.某一系统进程的资源分配“瞬间状态”为

已分配资源矩阵最多资源矩阵可用资源向量

P0 0 0 1 2 0 0 1 2 1 5 2 0

P1 1 0 0 0 1 7 5 0

P2 1 3 5 4 2 3 5 6

P3 0 6 3 2 0 6 5 2

P4 0 0 1 4 0 6 5 6

使用银行家算法回答:系统是否安全?如果进程P1要求(0,4,2,0),系统能否立即满足进程的要求?

解:利用安全算法对该时刻资源分配情况进行分析,如下图所示:

Work Need Allocation Work+Allocation Finish

P0 1 5 2 0 0 0 0 0 0 0 1 2 1 5 3 2 true

P2 1 5 3 2 1 0 0 2 1 3 5 4 2 8 8 6 true

P3 2 8 8 6 0 0 2 0 0 6 3 2 2 14 11 8 true

P4 2 14 11 8 0 6 4 2 0 0 1 4 2 14 12 12 true

P1 2 14 12 12 0 7 5 0 1 0 0 0 3 14 12 12 true

由以上分析可知,在该时刻存在着一个安全序列{P0,P2,P3,P4,P1},故系统是安全的。

如果进程P1要求(0,4,2,0),系统假定可为P1分配资源,由此形成的资源变化情况如图示:已分配资源矩阵需求资源矩阵最多资源矩阵可用资源向量

P1 1 4 2 0 0 3 3 0 1 7 5 0 1 1 0 0

利用安全算法对该时刻资源分配情况进行分析,如下图所示:

Work Need Allocation Work+Allocation Finish

P0 1 1 0 0 0 0 0 0 0 0 1 2 1 1 1 2 true

P2 1 1 1 2 1 0 0 2 1 3 5 4 2 4 6 6 true

P3 2 4 6 6 0 0 2 0 0 6 3 2 2 10 9 8 true

P4 2 10 9 8 0 6 4 2 0 0 1 4 2 10 10 12 true

P1 2 10 10 12 0 3 3 0 1 4 2 0 3 14 12 12 true

由以上分析可知,可找到一个安全序列{P0,P2,P3,P4,P1},故系统能立即满足进程的要求。4.考虑一个请求分页系统,测得如下的时间利用率:

CPU:20%;分页磁盘:97.7%;其它外设:5%

下列措施中,哪个(些)可改善CPU的利用率?说明理由:

(1)更换速度更快的CPU (2)更换更大容量的分页磁盘 (3)增加内存中用户进程数 (4)挂起内存中的某个(些)用户进程

解:因为分页磁盘占95%,主要是考虑页表的存储问题,挂起某个进程,可扩大进程的存储空间;更换更大容量的分页磁盘,可增加页表的分页速度,从而改善CPU的利用率。所以应选择(2)和(4)。5.对于一个利用快表且页表存于内存的分页系统,假定CPU一次访问时间为1us,访问快表的时间可以忽略不记。如果85%的地址影射可直接通过快表完成,那么进程完成一次内存读写的平均有效时间是多少?

解:0.85*1μ+0.15*2μ=1.15μs

四.操作题。(10分)用信号量和P,V操作描述读者-写者问题:即允许多个读者同时读一个共享对象,但绝不允许一个写者和其它进程同时访问共享对象。(答案写在答卷纸相应位置上)。

解:var rmutex, wmutex:semaphore:=1,1;

readcount: integer:=0;

writer :

begin

repeat

wait(wmutex);

perform write operation;

signal (wmutex);

until false;

end

reader:

begin

repeat

wait(rmutex);

if readcount=0 then wait(wmutex);

readcount:=readcount+1;

signal(rmutex);

Perform read operation;

wait(rmutex);

readcount:=readcount-1;

if readcount=0 then signal(wmutex);

signal(rmutex);

until false;

end

Lecture 1

1、什么为核心态、用户态、特权指令?下列哪些指令为特权指令?

(1)改变存储器管理寄存器(2)写程序计数器(3)读日历钟(4)设置日历钟(5)改变处理器优先级(6)写指令寄存器

答:核心态是CPU运行操作系统代码。用户态是CPU运行用户程序代码的状态。通过系统调用、Trap、中断可以使得系统从用户态到核心态。特权指令指的是只能由操作系统而不是用户调用的指令。

(1)是。(2)否(3)否(4)是(5)是(6)否

2、将下列应用程序分成交互性和面向批处理的

(1)字处理(2)按月生成的银行报表(3)生成个人的电子邮箱注册表单

(4)计算精确到百万分为的圆周率

答:(1)交互(2)批处理(3)交互(4)批处理

Lecture 2

一个多级反馈队列的系统中,一个使用CPU较多的进程需要执行50秒。如果第一个队列时间片为5,并且较低一级的时间片是上一级的时间片的2倍,那么这个作业会被中断多少次?当他终止的时候,处于那一级队列?答:经过三次中断后,在第4个队列中终止运行

Lecture 3

1、某计算机有32位虚地址空间,且页大小为1024字节。每个页表项长4个字节。因为每个页表都必须包含在一页中,所以使用多级页表,问共需要几级?

答:因为一张页表只能包含1024/4=256个页表项。而页的大小为210,所以共需要32-10=22位来表示页号。而每一级页表只能处理22位中的8位,所以共需要3级。有两级页表有28个页表项,另一级只有26个页表项

2、在某简单分页系统中,有224字节的物理内存,256页的逻辑地址空间并且页的大小为210字节,问逻辑地址为多少位?答:18位

3、在某段页式系统中,虚地址空间包含了8个段,段长为229字节。硬件把每个段分成大小为256字节的页。问虚地址中有多少位可以用于指定:

(a)段号?(b)页号?(c)页内偏移量(d)整个虚地址

答:(a)3 (b)229/28=221,因此为21页(c)8 (d)3+21+8 =32

4、已知某程序访问以下页面:0、1、4、2、0、2、6、

5、1、2、3、2、1、2、

6、2、1、3、6、2,如果程序有3个页框可用且使用下列替换算法,求出现缺页的次数。(1)FIFO替换算法(5分)(2)LRU替换算法(5分)

解:(1)FIFO算法总是淘汰最先进入内存页面,即选择在内存中驻留时间最长的页予以淘汰。算法

如图所示:

0 1 4 2 0 2 6 5 1 2 3 2 1 2 6 2 1 3 6 2

缺页率=13/20=65%

(2)LRU算法是最近最久未使用的页面予以淘汰。算法如图所示:

0 1 4 2 0 2 6 5 1 2 3 2 1 2 6 2 1 3 6 2

缺页率=14/20=70%

5、某系统使用请求分页存储管理,如果页在内存中,满足一个内存请求需要200ns。如果页不在内存,如有空闲的页框或者没有修改的换出的页,则请求需要7ms。如果替换出的页已经被修改,则需要15ms,如果缺页率是5%,并且60%的时间用于修改要换出的页,问有效访问时间是多长?假设系统只运行一个进程且页交换时CPU空闲。

解:200ns内得到满足的访问占用全部访问的95%。5%的访问造成缺页,其中40%的需要7ms。因此,5%×40%=2%的访问需要7ms。

类似地,5%×60%=3%的访问需要15ms。把所有的时间转换为us,

结果如下:

有效访问时间=0.95×0.2 +0.02×7000+0.03×15000

有效访问时间=590.19us

Lecture 4

1、一个磁盘有19456个柱面,16个读写头,并且每个磁道有63个扇区。磁盘以5400rpm的速度旋转,在相邻的磁道之间寻道时间是2ms。假定读写头在磁道0上,则读整个磁盘需要多少时间?

答:(19456*16*1/5400+(19456-1)*2=3498ms

2、在一个磁盘上,有1000个柱面,从0~999。假定最后服务的请求是在磁道756上,并且读写磁头正在向磁道0移动。在按照FIFO顺序排列的队列中包含了如下磁道上的请求:811、348、15

3、968、407、500。用下面的算法计算为了满足所有的磁盘队列中的请求,磁盘臂必须移的磁盘的数目。

IFO (2)SSTF (3)SCAN

答:(a)2182(b)1023 (c)1724

3、大多数操作系统通过在主存中高速缓存存某些重要的文件系统数据来改善系统性能,这样的操作系统要求计算机关机之后才能切断电源。为什么?

答:如果电源突然切断,存储在磁盘上的文件系统可能还处在一个不一致的状态。例如,将空闲表中的一个块增加到一个文件的写操作结束之后将发生什么事情?假设磁盘中的文件的信息已经更新,记录了刚增加的块。但是假设常用的空闲表的信息被高速缓存存在主存中。虽然在主存中空闲表数据不再指向新增的块,但是磁盘上的空闲表信息仍然指向该块。如果系统的电源突然切断,当重启的时候,该块将既分配给了文件,又被包括在空闲表中。

4、在某系统中,一个目录项可以存储至多13个磁盘块的地址。前10个地址指向文件的前10个块。第11个地址指向一个中间块。第12个地址指向一个二重间接块。第13个地址指向一个三重间接块。每一个间接块可以容纳256个指针。一个块的大小是1024个字节,那么一个文件可以达到多大?

答:210×(10+28+216+254)=17247250432字节

复习题(卷A)

一、填空题(每空1·5分,共15分)

1、在计算机系统中,不允许用户程序直接使用的指令称特权指令。

2、操作系统通过进程管理对进程进行管理。

3、系统出现死锁,不仅与资源分配有关,还与进程执行的相关速度有关。

4、在页式虚拟存储器中,当访问到不再主存的页而主存中又无空闲块的时候,要根据某种原则把已在主存的某页调出,在调入要访问的页,这一工作称为页面置换。

5、在页式存储器管理中,逻辑地址由页号和位移量两部分组成。

6、在主存的存储管理中,把逻辑地址转换为绝对地址的工作称为动态重定位。

7、银行家算法是在能确保系统处于安全状态的情况下,才把资源分配给申请者的。

8、组织成索引和索引顺序形式的物理文件,文件形式可存放在不相邻的物理块上。

二、单项选择题(每空2分,共20分)

1、一个进程刚被创建后,其初始状态为(C )。

A)运行态B)等待态C)就绪态D)创建态

2、采用可变分区方式管理主存储器时,主存中空闲分区的大小和分区的个数是(C)。

A)固定不变的B)不断变化的C)大小不变的D)个数不变的

3、在具有SPOOLING技术的计算机系统中,对于批处理作业,其作业的原始信息是通过(B )存放在输入井中。

A)预输入程序B)缓输入程序C)井管理程序

4、正在运行的进程在信号量S上作P操作之后,当S<0的时候,进程进入信号量的(A )。

A)等待队列B)提交队列C)后备队列D)就绪队列

5、页式管理中页表的始址是存放在(D )。

A)内存中B)存储器页面表中C)联想存储器中D)寄存器中

6、在存储器管理中,“碎片”是指(C )。

A)存储分配完后所剩空闲区B)没有被使用的存储区

C)不能被使用的存储区D)末被使用,而又暂时不能使用的存储区

7、在进行作业调度时,要想兼顾作业等待时间和作业执行时间,应选取(A )。

A)轮转法B)先进先出调度算法C)响应比高优先算法D)短作业优先调度

8、CPU与通道可以并行执行,并通过(C )实现彼此之间的通讯同步。

A)I/O指令B)I/O中断C)I/O指令和I/O中断D)操作员

9、大多数低速设备都属于(B )。

A)独享B)共享C)虚拟

10、有三个进程共享同一段程序段,而每次最多允许两个进程进入该程序段,若用PV操作作为同步机制,而信号量S的取值范围为( A )。

A)2,1,0,-1B)3,2,1,0 C)2,1,0,-1,-2 D)1,0,-1,-2

三、多项选择题(每题3分,每题至小两个选项,多选不给分,共15分)

1、在一个请求页式存储管理中,一个程序的页面表向为4、3、

2、1、4、

3、5、在该访问中发生的缺页次数F和缺页率f是(A、C )。

A)M=3,F=9,f≈75%B)M=3,F=10,f≈83%

C)M=4,F=8,f≈67%D)M=4,F=5,f≈42%

2、文件系统采用多级目录结构的目的是(A、C、D )

A)缩短访问文件的寻找时间B)节省存储空间

C)解决文件的命名冲突D)易于实现文件共享

3、磁盘驱动调度算法中(B、D )算法可能会随时改变移动臂的运动方向。

A)电梯调度B)先来先服务C)扫描D)最短寻找时间优先

4.虚拟存储器的内容由(C、D )来决定。

A)页表的长度B)计算机系统的地址结构C)辅存的容量D)主存的容量

5、下列功能中,不属于设备管理功能的是(C、D )

A)外围设备的启动B)实现虚拟设备C)实现虚拟存储器D)实现文件共享

五、简答题(每题6分,18分)

1.什么是死锁?死锁预防的措施有哪些?为什么?

解:所谓死琐,是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。

死锁预防的措施有:(1)屏弃“请求和保持”条件,优点是简单、易于实现且很安全;(2)屏弃“不剥夺”条件,在采用这种方法预防死锁时,进程是在需要资源时才提出请求。这样,一个已经保持了某些资源的进程,当它再提出新的资源要求而不能立即得到满足时,必须释放它已经保持的所有资源,待以后需要时再重新申请。这种预防死锁方法,实现起来比较复杂,且要付出很大代价。(3)摒弃“环路等待”条件,在这种方法中规定,系统将所有的资源按类型进行线形排队,并赋予不同的序号。这种预防死锁的策略与前两种策略比较,其资源利用率和系统吞吐量,都有较明显的改善。

六、解答题

1.假设某系统有同类资源12个,有三个进程P1,P2,P3来共享,已知P1、P2、P3所需要资源总数分别为8,6,9,它们申请资源的次序和数量如表所示,系统采用银行家算法为它们分配资源。

(1)哪次申请分配会使系统进入不安全状态?(4分)

(2

解:(1)执行完前3次申请后,尚有2个资源空闲,若第4次P1再申请1个资源,则还有1个资源空闲,这个资源无论分给那个进程都会使系统进入不安全状态。若不执行第4次而执行第5次申请,则没有空闲资源,系统也会进入不安全状态。(2)执行完前3次申请后,再执行完序号为6的申请,则进程P1资源数为4,P2资源数为6,P3资源数为2,这样,P2有足够的资源而完成,可释放6个资源;于是可用资源增至6个;以后可将4个资源分配给进程P1,使之运行,待P1完成后,将释放8个资源,P3便能获得足够的资源,从而使P1、P2、P3每个进程都能顺利完成。

七、应用题(共12分)

三个进程A、B、C,共享两个缓冲区B1和B2。缓冲区B1中可存放n件产品,缓冲区B2中可存放m件产品。进程A每次生产一件产品并将其存入缓冲区B1中;进程B每次从缓冲区B1中取出一件产品后再把它送到缓冲区B2中;进程C每次从缓冲区B2中取出一件产品去消费。为防止把产品存入已满的缓冲区,或从空的缓冲区取产品、或重复取产品,试用PV操作实现它们之间的制约。

解:A(R)、B(C)、C(P)。

(1)进程间关系为:A→B1→B→B2→C

A受B制约:当B未把B1信息取走,A不能输入下一信息。

C受B制约:当B未把B1信息送入B2,C不能打印B2信息。

B同时受A、C约束:把A未把信息写入B1;C未把B2信息印出,则B不能把B1信息送至B2。

(2)设四个信号量。它们初值均为零

A私用信号量S1空。(为“0”表示B1空)

B私用信号量S1满。(为“1”表示B1满)

B私用信号量S2空。(为“0”表示B2空)

C私用信号量S2满。(为“1”表示B2满)

PV原语同步算法如下:

A :输入到B1→V(S1满)→P(S1空)过程循环往复

B:P(S1满)→B1的信息送入B2→V(S1空)→V(S2满)→P(S2空)过程循环往复

C:P(S2满)→B2的信息被打印→V(S2空)过程循环往复

(5)状态转换图如下:

相关主题
文本预览
相关文档 最新文档