操作系统原理教程(第2版)[张丽芬][习题解答]

上传人:时间****91 文档编号:123200766 上传时间:2022-07-22 格式:DOC 页数:22 大小:102.50KB
收藏 版权申诉 举报 下载
操作系统原理教程(第2版)[张丽芬][习题解答]_第1页
第1页 / 共22页
操作系统原理教程(第2版)[张丽芬][习题解答]_第2页
第2页 / 共22页
操作系统原理教程(第2版)[张丽芬][习题解答]_第3页
第3页 / 共22页
资源描述:

《操作系统原理教程(第2版)[张丽芬][习题解答]》由会员分享,可在线阅读,更多相关《操作系统原理教程(第2版)[张丽芬][习题解答](22页珍藏版)》请在装配图网上搜索。

1、操作系统 第2章 2-9. (1) x=3 运营顺序为 Px,P3,P5,P6,P9T=(x+(x+3)+(x+3+5)+(x+3+5+6)+(x+3+5+6+9)/5=x+9.6(2) 3x=5 运营顺序为 P3,Px,P5,P6,P9T=(3+(3+x)+(3+x+5)+(3+x+5+6)+(3+x+5+6+9)/5=0.8x+10.2(3) 5x=6 T=0.6x+11.2(4) 6x=9 T=0.4x+12.4(5) 9n时,每个进程最多可以祈求个该类资源 当m=n时,每个进程最多可以祈求1个该类资源 当mn时,每个进程最多可以祈求(m+n-1)/n个该类资源)3-15解答:这是进程之

2、间的同步问题。M2、M3和M4必须在接受到M1的消息后才干运营。同理,M6必须在M2和M3之后运营,M7必须在M4,M5之后运营,M8必须在M3、M7之后运营。如何保证呢?需设立相应的信号量来保证:S12,S13,S14,用来制约M2、M3和M4的运营;S26,S36,用来制约M6的运营;S47,S57,用来制约M7的运营;S38,S78用来制约M8的运营。各进程的制约关系描述如下。S12,S13,S14,S26,S36,S47,S57,S38,S78:semaphore;S12:=0;S13:=0;S14:=0;S26:=0;S36:=0;S47:=0;S57:=0;S38:=0;S78:=

3、0;COBEGIN PROCESS M1: PROCESS M2: BEGIN BEGIN V(S12); P(S12); V(S13); V(S26); V(S14); END ENDPROCESS M3: PROCESS M4:BEGIN BEGIN P(S13); P(S14); V(S36); V(S47); V(S38); ENDENDPROCESS M5: PROCESS M6:BEGIN BEGIN V(S57); P(S26);END P(S36); ENDPROCESS M7: PROCESS M8BEGIN BEGIN P(S47); P(S38); P(S57); P(S

4、78); V(S78); ENDENDCOEND3-16. 叉子是临界资源,在一段时间内只容许一种哲学家使用。一种信号量表达一把叉子,五个信号量构成信号量数组,这些信号量的初值为1。int fork0=fork1=fork4=1;第i个哲学家所执行的程序:do P(mutex); P(forki); P(fork(i+1)mod5); V(mutex); 吃饭 V(forki); V(fork(i+1)mod5); while(1);3-17. (1)公平竞争(无写者时,读者仍遵循多种读者可以同步读)rmutex互斥共享readcount; rwmutex读写互斥,写写互斥;读写进程在z上排队

5、。int rmutex=1,rwmutex=1,readcount=0;reader:begin p(z); /读写进程在z上排队。 p(rmutex); if(readcount=0) then p(rwmutex); end if +readcount; v(rmutex); v(z); /无写者时,多种读者可以同步读. read data;写z读写写读读读写 p(rmutex); -readcount; if(readcount=0 then v(rwmutex); end if; v(rmutex); endwriter:begin p(z); /读写进程在z上排队。 p(rwmute

6、x); write data; v(rwmutex); v(z); end(2)写者优先int readcount,writecount;semaphore rmutex=1,wmutex=1,rwmutex=1,z=1,x=1;reader:/当来了一种写进程时,通过p(x)严禁其后读进程读,直到写进程写完为止。 while(1)p(z); /其她读进程在z上排队p(x); /一种读进程与一种写进程在x上竞争p(rmutex); /读进程互斥访问readcount+readcount;if(readcount=1) p(rwmutex); v(rmutex);v(x);rwmutexxz读读

7、读读写读写写v(z);read data; /临界区p(rmutex);-readcount;if(readcount=0) v(rwmutex);v(rmutex); Writer: while(1)p(wmutex); /写进程互斥访问writecount+writecount;if(writecount=1) p(x); /一种写进程与一种读进程在x上竞争v(wmutex);p(rwmutex); /其她写进程在rwmutex上排队write data; /临界区v(rwmutex);p(wmutex);-writecount;if(writecount=0) v(x); /写进程都写完

8、时,通过v(x)容许读进程读v(wmutex); 附加题:读者优先,规定仅容许5个进程同步读,如何修改程序?解:增长一种资源信号量s,初值为5。 int s=5;Reader:beginP(rmutex);readcount=readcount+1;if(readcount=1)then P(rwmutex);V(rmutex);P(s);read_file();V(s);P(rmutex);readcount=readcount-1;if(readcount=0)then V(rwmutex);V(rmutex);endwriter:begin p(rwmutex); write data;

9、 v(rwmutex); end3-18int s1=0, s2=n;顾客进程:P(s2);V(s1);坐椅子等理发理发师进程:P(s1);给顾客理发V(s2)3-19(2)和(4)会发生死锁。3-20P1/剩余P2/剩余P3/剩余系统剩余13/5722/4534(不安全)45/3352(不安全)6(5+3)/00(8)74/348(2+2)/229(1)P1占有5个资源,剩余3个资源祈求。P2占有2个资源,剩余4个资源祈求。P3占有0个资源,剩余7个资源祈求。系统剩余3个资源。(2)P1的祈求最先满足。进程完毕序列:P1,P2,P3。3-21(1) 最大需求矩阵: 分派矩阵: 剩余祈求矩阵:

10、0 0 0 00 7 5 01 0 0 20 0 2 00 6 4 20 0 1 21 0 0 01 3 5 40 6 3 20 0 1 40 0 1 21 7 5 02 3 5 60 6 5 20 6 5 6Max = Allocation = Need = 剩余资源向量:Available=(1 5 0 2)(2)目前系统是安全的。判断系统与否安全,只要检查系统剩余资源向量能否对各进程的剩余祈求向量找到一种进程完毕序列,当按照这个序列为各进程分派资源时,各进程都能成功完毕。若能找到,则系统是安全的,否则,为不安全。先找到p0, 由于p0已满足最大资源祈求,它可以完毕,释放其占有的资源,使系

11、统剩余资源向量为(1 5 1 4)之后,系统剩余资源向量(1 5 1 4),可满足进程p2, 使p2 可以完毕,释放其占有的资源,使系统剩余资源向量为(2 8 6 8)。之后无论选哪一种进程都可成功完毕。故找到的进程完毕序列可为:p0,p2,p4,p3,p1; 或 p0,p2,p3,p1,p4 等,故系统是安全的。(3)因系统剩余可用向量为(1502),p2的剩余祈求向量为(1002),即(1502)(1002)。故,当p2提出(1001)祈求时,能满足。进程完毕序列:p0,p2,p4,p3,p1第4 章 习题答案4-14 内存有如下顺序排列的空闲块:10K,40K,20K,18K,7K,9K

12、,12K和15K,有如下的祈求序列:12K,10K,9K。(1)若采用初次适应法: l 12K的祈求:将分派40K的空闲块, 40K变为剩余的(40-12)K=28K,空闲队列变为:10K,28K,20K,18K,7K,9K,12K和15K;l 10K的祈求:将分派10K的空闲块,空闲队列变为:28K,20K,18K,7K,9K,12K和15K;l 9K的祈求:将分派28K的空闲块,空闲队列变为:(28-9)=18K,20K,18K,7K,9K,12K和15K;(2)若采用最佳适应法:l 12K的祈求:将分派12K的空闲块,空闲队列变为:10K,40K,20K,18K,7K,9K和15K;l

13、10K的祈求:将分派10K的空闲块,空闲队列变为:40K,20K,18K,7K,9K,12K和15K;l 9K的祈求:将分派9K的空闲块,空闲队列变为: 40K,20K,18K,7K, 12K和15K;(3)若采用最坏适应法:l 12K的祈求,将分派40K的空闲块,空闲队列变为:10K,28K,20K,18K,7K,9K和15K;l 10K的祈求:将分派28K的空闲块,空闲队列变为: 20K,18K,7K,9K,12K和15K;l 9K的祈求:将分派20K的空闲块,空闲队列变为:10K,18K,11K, 18K,7K, 12K和15K。4-15 有如下图所示的页表中的虚地址与物理地址之间的关系

14、,即该进程分得6个内存块。页的大小为4096。给出相应下面虚地址的物理地址:(1)20; (2) 5100; (3) 8300; (4) 47000.01234567216043xx解:(1)虚地址 20变为页号0 和页内偏移20 由页号查页表得0页相应内存块号为2 ,可计算得 物理地址=块号*页的大小+页内偏移=2*4096+20=8212(2)虚地址 5100变为页号1 和页内偏移1004(5100/4096) 由页号查页表得1页相应内存块号为1 ,可计算得 物理地址=块号*页的大小+页内偏移=1*4096+1004=5100(3)虚地址 8300变为页号2 和页内偏移108 由页号查页表

15、得2页相应内存块号为6 ,可计算得 物理地址=块号*页的大小+页内偏移=6*4096+108=24684(4)虚地址 47000变为页号11 和页内偏移1944 117 页号越界4-16一种作业在执行过程中,按如下顺序依次访问各页,作业分得四个主存块,问分别采用FIFO、LRU和OPT算法时,要产生多少次缺页中断?设进程开始运营时,主存没有页面。 页访问串顺序为:0 1 7 2 3 2 7 1 0 3 2 5 1 7(1)FIFO0 1 7 2 3 2 7 1 0 3 2 5 1 70 1 7 2 3 3 3 3 0 0 0 5 1 7 0 1 7 2 2 2 2 3 3 3 0 5 1 0

16、1 7 7 7 7 2 2 2 3 0 5 0 1 1 1 1 7 7 7 2 3 0 F F F F F S S S F S S F F F 采用FIFO裁减算法,产生9次缺页中断。(2)LRU 0 1 7 2 3 2 7 1 0 3 2 5 1 70 1 7 2 3 2 7 1 0 3 2 5 1 7 0 1 7 2 3 2 7 1 0 3 2 5 1 0 1 7 7 3 2 7 1 0 3 2 5 0 1 1 1 3 2 7 1 0 3 2 F F F F F S S S F F F F F F采用LRU算法时,产生11次缺页中断。4-17 考虑如图所示的段表,给出如下所示的逻辑地址所相

17、应的物理地址。段始址段的长度219600230014921001326580195496(1)0,430 219+430=649(2)1,10 2300+10=2310(3)2,500 500100段内地址越界(4)3,400 1326+400=1726(5)4,112 11296 段内地址越界4-18 一台计算机具有65536字节的存储空间,这一空间被提成许多长度为4096字节的页。有一程序,其代码段为32768字节,数据段为16386字节,栈段为15870字节。试问该机器的主存空间适合这个作业吗?如果每页改成512字节,适合吗?答:(1)存储空间每块为4096个字节,共可提成16块。程序代

18、码段占32768/4096=8块,数据段占16386/4096=5块,栈段占15870/4096=4块,合计为8+5+4=17块,故该机器的主存空间不适合这个作业。(2) 当存储空间每块为512个字节,共可提成128块。程序代码段占32768/512=64块,数据段占16386/512=33块,栈段占15870/512=31块,合计为64+33+31=128块,故该机器的主存空间是适合这个作业的。4-19 逻辑地址中,用9位表达页号,用10位表达页内地址。4-20 (1)缺页中断50次; 5000次(2)缺页中断100次; 10000次4-21 0.9(0.751+0.258)+0.10(8+

19、5000+8)+84-23 8192/4=204864=7+11+11+11+11+13 5级页表第5章 文献系统5-9. 文献存贮空间管理可采用成组自由块链表或位示图。若一磁盘有B个盘块,其中有F个自由块。若盘块号用D位表达。试给出使用自由块链表比使用位示图占用更少的空间的条件。当D为16时,给出满足条件的自由空间占整个空间的比例。解:一磁盘有B个盘块,用位图表达要使用B位 既有F个自由块,若表达一种盘块需用D位。则采用链表接连F个盘块,需要F个链指针,共占F*D位。使用自由块链表比使用位示图占用更少的空间的条件是F*DB。当D=16时,满足条件的自由空间占整个空间的比例为F/B1/16=6

20、.25%。5-10. 文献系统的执行速度依赖于缓冲池中找到盘块的比率。假设盘块从缓冲池读出用1毫秒,从盘上读出用40毫秒。从缓冲池找到盘块的比率为n,请给出一种公式计算读盘块的平均时间,并画出n从0到1.0的函数图像。 解:读一种盘块的平均时间=n+40(1-n)=40-39n40 10 1n5-13. 1574/256=638, 因此,要访问文献的第7个记录内的38B处。每个块放两个记录,所要访问的字节处在第4个逻辑块内,其相应的物理块号为4,应访问4号块内的第38个字节。要访问4次磁盘才干将该字节的内容读出。5-14共需要4次磁盘操作5-151GB=230 ,16KB=214 , 230/

21、214 =216 ,每个磁盘块号需要2个字节表达,即2B。 (1)10KB16KB, 因此,只占用1个磁盘块。(2)1089KB/16KB=69 需一种索引块和69个数据块,共70个盘块。(3)129MB/16KB=8256 , 16KB/2B=8K(个索引项)8256 因此,需2个一级索引表和一种1个二级索引表,8256个数据块。 共需8259个磁盘块。第6章 设备管理6-6下列工作各是在四层I/O软件的哪一层上实现的? (1) 对于读磁盘,计算柱面、磁头和扇区(设备驱动) (2) 维持近来所用块而设的高速缓冲(独立于设备的软件层) (3) 向设备寄存器写命令(设备驱动) (4) 查看与否容

22、许顾客使用设备(独立于设备的软件层) (5) 为了打印,把二进制整数转换成ASCII码(顾客进程)6-13假设移动头磁盘有200个磁道(从0号到199号)。目前正在解决143号磁道上的祈求,而刚刚解决结束的祈求是125号,如果下面给出的是按达到时间的先后排成的等待服务队列:86,147,91,177,94,150,102,75,130。那么,用下列多种磁盘调度算法来满足这些祈求所需的总磁头移动量是多少?(1) FCFS:125 143-86-147-91-177-94-150-102-75-130满足这些祈求所需的总磁头移动量=(143-86)+(147-86)+(147-91)+(177-9

23、1)+(177-94)+(150-94)+(150-102)+(102-75)+(130-75)=57+61+56+86+83+56+48+27+55=524(2) SSTF:125 143-147-150-130-102-94-91-86-75-177满足这些祈求所需的总磁头移动量=(150-143)+(150-75)+(177-75)=7+75+102=182(3)SCAN:125 143-147-150-177-199-130-102-94-91-86-75 满足这些祈求所需的总磁头移动量= (199-143)+(199-75)=56+124=180(5)C-SCAN:125 143-147-150-177-199-0-75-86-91-94102 -130满足这些祈求所需的总磁头移动量=(199-143)+(199-0)+(130-0)=56+199+130=385(4)C-LOOK:125 143-147-150-177-75-86-91-94-102-130满足这些祈求所需的总磁头移动量=(177-143)+(177-75)+(130-75)=33+102+55=190

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!