操作系统课后部分答案(4)

2020-03-26 21:49

6、怎样考虑死锁的检测和恢复?

死锁检测算法(回溯):每次资源被申请或释放时,检测系统资源图是否存在环路(此时死锁可能还没有发生),如果存在环路,则逐一在环路中选择一进程撤消,直至死锁消除.

缺点:效率太低,导致系统总体性能太为下降。

死锁恢复策略(事后恢复):依次流产所有的死锁进程,直至死锁解除;依次剥夺资源直到死锁解除;预先定义检测点,备份每一个死锁的进程,然后重启这些进程。

缺点:原来的死锁可能再次出现 7、产生死锁的四个必要条件?

1)互斥(Mutual exclusion) 在一段时间内某资源只能由一个进程占有。

2)占有且等待(Hold and wait) 已占有了一些资源的进程可能还要等待申请其他的资源才能继续工作。

3)非剥夺(No preemption) 已分配给某进程的资源不可被其他进程剥夺,除非该进程自己释放该资源。

4) 循环等待(Circular wait)存在一个封闭的进程-资源循环链。

8、系统资源向量(Available)为:(1,5,2,0),最大需求量 (Max)、已分配资源量 (Allocation)如下表所示: 资源 Max(最大需求量) Allocation(已分配资源量) 进程 R1 R2 R3 R4 R1 R2 R3 R4 0 0 1 2 0 0 1 2 P1 P2 P3 P4 1 2 0 7 3 6 5 5 5 0 6 2 1 1 0 0 3 6 0 5 3 1 0 4 2 4 0 6 5 6 0 0 P5 使用银行家算法回答下列问题: (1) Need的内容是什么? (2)系统是否处于安全状态? (3)如果P2请求(0,4,2,0),能否立即得到满足? 3、答:(1)Need的内容如下:

P1 (0 0 0 0),P2 (0 7 5 0),P3 (1 0 0 2),P4 (0 0 2 0),P5 (0 6 4 2)。 (2) 系统处于安全状态,因为P1已得到它所需资源,可释放它已分配资源,系统资源向量变为:(1,5,3,2),根据Need,可满足P3,P4,其他进程也相继能满足,因此系统是处于安全状态,其中一个安全序列为:P1,P3,P4,P5。

(3)因为P1已得到它所需资源,可释放它已分配资源,系统资源向量变为:(1,5,3,2),如果P2请求(0,4,2,0),系统资源向量变为:(1,1,1,2),能满足P3进程对资源的要求。其中一个安全序列为:P1,P3,P4,P2,P5。系统仍处于安全状态,能立即满足P2的请求。

6-7假设三个进程共享四个资源,每个进程一次只能预定或释放一个资源,每个进程最多需要两个资源,试证明这样做不会发生死锁。

在最坏情况下,三个进程各占用一个资源,并同时请求第二个资源。由于系统中还有一

个未用的资源,所以三个进程中的一个可以被满足。另外两个进程在这个进程结束以后可以获取需要的资源,然后继续执行。因此,不会出现死锁。 6-8

考虑由n个进程共享的具有m个同类资源的系统,证明:如果对i=1,2,…,n,有Need>0而且所有最大需求量之和小于m+n,那么该系统是死锁无关的。

设每个进程对共享资源的最大需求量为x(0<x≤m),由于每个进程最多申请使用x个资源,在最坏的情况下,每个进程都得到了(x-1)个资源i并且都需申请最后一个资源。这时系统剩余资源数为:m-n(x-1)。只要系统还有一个资源可用,就可使其中的一个进程获得所需的全部资源。该进程运行结束后释放出它所占用的资源,其他进程的资源需求也可全部得到满足。因此,当m-m(x-1)≥1时,即x≤(m+n-1)/n时系统不会发生死锁。进而可得系统中所有进程的最大需求量之和n·x≤(m+n-1)时系统不会发生死锁。该题中,所有进程最大需求量之和小于m+n,所以,该系统是死锁无关的。

6-11

考虑这样一种资源分配策略:对资源的申请和释放可以在任何时刻进行。如果一个进程 的资源得不到满足,则考查所有由于等待资源而被阻塞的进程,如果它们有申请进程所 需要的资源,则把这些资源取出分给申请进程。

例如,考虑一个有三类资源的系统,Available = (4,2,2)。进程A 申请(2,2,1), 可以满足;进程B 申请(1,0,1),可以满足;若A 再申请(0,0,1),则被阻塞(无 资源可分)。此时,若C 申请(2,0,0),它可以分得剩余资源(1,0,0), 并从A 已 分得的资源中获得一个资源,于是,进程A 的分配向量变成:Available = (1,2,1), 而需求向量变成:Need = (1,0,1)。

(1)这种分配方式会导致死锁吗?若会,举一个例子;若不会,说明死锁的哪一个必要 条件不成立。

(2)会导致某些进程的无限等待吗?

解答:

①在本例中不会产生死锁,因为它不满足死锁的第3个必要条件,即不剥夺条件。进程所获得的资源在未使用完毕之前,可以被其他进程剥夺。这样,系统就不会产生死锁。

这种方法会导致某些进程无限期的等待。因为被阻塞的进程的资源可以被剥夺,所以被阻塞的进程所拥有资源数量不会因为进程的推进而逐渐增加。这样,随着进程的向前推进,并不能保证进程一定能获得需要的全部资源。

例如,本题中的进程A申请(2,2,1)后再申请(0,0,1)被阻塞。此后,进程C又剥夺了进程A的一个资源,使得进程A的资源变为(1,2,1),其需求向量为(1,0,1)。之后,若再创建的进程总是只申请第

1和第3类资源,总是占有系统所剩余的第1和第3类资源的全部,且不被阻塞,那么,进程A将会无限期地等待。

6-12 设系统状态如下 :

allocation max available 0012 0012 1520 1000 1750 1354 2356 0632 0652 0014 0656

使用银行家算法回答以下问题: 1、need的内容是什么? 2、系统是否处于安全状态? 3、如果进程2请(0,4,2,0),能否立即得到满足? 答:1)、Need = Max – Allocation,所以得到Need的内容: 0000 0750 1002 0020 0642

2)、系统是处于安全状态。可以找到一个安全序列(P1,P3,P2,P4,P5)。

P1:allocation 0012 max 0012 能满足进程需求,安全运行后释放0012 + 1520 =1532 P3:need 1002 < 1532 能满足进程需求,安全运行后释放1354 + 1532 = 2886 P2:need 0750 < 2886 同样运行释放1000 + 2886 = 3996

P4:need 0652 < 3996 同样运行释放0632 + 3996 = 3 15 12 8 这里相加不能进位(代表同一类资源个数) 最后运行P5. 3)、不能得到满足。此时available = 1520 而P2请求 0420 分配后available=1520-0420=1100, P3 need 1002,P4 need 0020 ,P5 need 0642 无法分配给其中的任何一个进程,系统处于不安全状态。所以不能立即满足。

第七章存储器管理

7.3 什么是动态地址重定位?请画出过程。

解:动态地址重定位是指程序在执行过程中,处理机在访问内存单元之前,将要访问的程序和数据逻辑地址变换成物理地址。过程图如下:

LA T LAL LAL T LA PA 长度 基址 内存 CPU < +

F 地址非法中断 7-6 设有8页的逻辑地址空间,每页有1024字节,它们被映射到32块物理储存器中。那么,逻辑地址的有效位是多少?物理地址至少是多少位? 答:1)逻辑地址占log2(1024*8)=13位 (页号加页内偏移) 2)物理地址占log2(1024*32)=15位 (物理块地址加页内偏移)

7-107.10 设某系统采用分页存储器管理技术,页长为1KB。程序地址长16位,物理内存地址长为16位。作业A的三个页面0,1,2被分配到内存的3,6,8块中。该作业运行时,其页表内存首址为M。将该程序中为(1030)10的地址转换为内存的物理地址,并画出地址映射过程。

解:(1030)10换为二进制:10000000110;

所以前6位为000001,后10位为0000000110 故页号为1,页内相对地址为6. 物理地址 PA=1024*6+6=6150 具体的图如下: 页表寄存器越界p d 主存页表地址页表长度0 1KB <2KB 3KB + 4KB页帧号页内地址 5KB 页号页帧号 036KB615016 7KB 28 8KB LA 页表长度 页表起始地址 00000100000001100001100000000110p d

p 页表 f 联想存储器 f f d

PA

列:一个请求分页存储管理系统,内存空间为32KB,允许用户编程空间为64个页面,每页2KB。若一用户程序有8页,某时刻程序对应的进程页表如下所示,如果程序执行时遇到两个虚地址:1CDBH,2C1DH,试计算它们对应的物理地址。

+

页大小为2KB=2的11次方B,页内偏移量为11bit 逻辑地址:

1CDBH 转换成二进制:0001110011011011 2C1DH 转换成二进制:0010110000011101 取低11位为页内偏移量,剩余高位为页号。

内存空间32KB=2的15次方B,物理地址15bit.

1CDBH 页号为00011,值为3.如表,块号为9.

9 转换成二进制 1001

1CDBH 物理地址为100110011011011 2C1DH 物理地址同上

例3 若在一分页存储管理系统中,某作业的页表如下所示。已知页面大小为1024字节,试将逻辑地址1011,2148,4000,5012转化为相应的物理地址。

页号 物理块号


操作系统课后部分答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017-2022年中国天然气市场专项调研研究报告(目录) - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: