收藏 分享(赏)

操作系统作业习题及其答案内容.doc

上传人:小屁孩 文档编号:8890922 上传时间:2019-07-15 格式:DOC 页数:25 大小:234.50KB
下载 相关 举报
操作系统作业习题及其答案内容.doc_第1页
第1页 / 共25页
操作系统作业习题及其答案内容.doc_第2页
第2页 / 共25页
操作系统作业习题及其答案内容.doc_第3页
第3页 / 共25页
操作系统作业习题及其答案内容.doc_第4页
第4页 / 共25页
操作系统作业习题及其答案内容.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、#*操作系统课程作业(2013 年春)姓名:学号:专业:年级:学校:日期:#*作业一:作业管理1、 有三道程序 A、B、C 在一个系统中运行,该系统有输入、输出设备各 1 台。三道程序A、B、C 构成如下:A:输入 32 秒,计算 8 秒,输出 5 秒B:输入 21 秒,计算 14 秒,输出 35 秒C:输入 12 秒,计算 32 秒,输出 15 秒问: (1)三道程序顺序执行的总时间是多少?(2)充分发挥各设备的效能,并行执行上述三道程序,最短需多少时间(不计系统开销)?并给出相应的示意图。2、 假设一个单 CPU 系统,以单道方式处理一个作业流,作业流中有 2 道作业,共占用CPU 计算时

2、间、输入卡片数和打印输出行数如下:作业号 占用 CPU 计算时间 输入卡片张数 打印输出行数1 3 分钟 100 张 2000 行2 2 分钟 200 张 600 行其中,卡片输入机速度为 1000 张/分钟,打印机输出速度为 1000 行/ 分钟,试计算:(1) 不采用 spooling 技术,计算这两道作业的总运行时间(从第 1 道作业输入开始到最后一个作业输出完毕) 。(2) 如采用 spooling 技术,计算这 2 道作业的总运行时间(不计读 /写盘时间) ,并给出相应的示意图。#*作业二:进程管理1、 请写出两程序 S1 和 S2 可并发执行的 Bernstein 条件。2、 有以

3、下 5 条语句,请画出这 5 条语句的前趋图。S1:y=x+1 R(x) W(y)S2:c=f-w R(f,w) W(c)S3:d=r-y R(r,y) W(d)S4:x=a+b R(a,b) W(x)S5:r=c+y R(c,y) W(r)3、 设在教材第 62 页 3.6.4 节中所描述的生产者消费者问题中,其缓冲部分为 m 个长度相等的有界缓冲区组成,且每次传输数据长度等于有界缓冲区长度以及生产者和消费者可对缓冲区同时操作。重新描述发送过程 deposit(data)和接收过程 remove(data)。12 nP12Pin C12Cik.有 界 缓 冲 区 m4、 设有 k 个进程共享

4、一临界区,对于下述情况,请说明信号量的初值、含义,并用 P,V操作写出有关互斥算法。(1) 一次只允许一个进程进入临界区;(2) 一次允许 m(mV(s)信号量 s 的变化范围为-(k-1) ,-1,0,1。其中,s=1 表示有 1 个空闲且可用的临界资源,且没有进程进入类名为 s 的临界区;s=0 表示有 1 个进程在临界区中(该临界资源已被某进程占用) ,但无等待使用该临界资源的进程;s=-n(1nk-1,n 为整数) 表示有 1 个#*进程在临界区中,且有 n 个进程等待使用该临界资源。(2)一次允许 m(mV(s)信号量 s 的变化范围为-(k-m) ,-1,0,1,m。其中,s= m

5、 表示有 m 个空闲且可用的临界资源,且没有进程进入类名为 s 的临界区;s=j(1jm ,j 为整数)表示有 m-j 个进程正在该临界区中,且仍有 j 个空闲且可用的临界资源,但无等待使用该临界资源的进程;s=0 表示有 m 个进程在临界区中,目前无空闲且可用的临界资源,但无等待使用该临界资源的进程;s=-n(1nk-m,n 为整数)表示有 m 个进程在临界区中,目前无空闲且可用的临界资源,且有 n 个进程等待使用该临界资源。#*作业三:进程管理3、 假若一个街道交通如下图所示,若有一长度大于两个路口距离的车,可以从东南西北四个方向开来,问(1)何时会发生死锁?(2)请提出一种可预防死锁发生

6、的简单方法。北./4、 某超市市场科容纳 100 人同时购物,入口处备有篮子,每个购物者可取 1 只篮子入内购物,出口处结账并归还篮子(出、入口仅容 1 人通过) 。请试用 P,V 操作及信号量写出如下情况的购物同步算法:(1)1 个出入口,且一次只允许 1 人通过;(2)1 个入口,n 个出口(n1 且为整数) 。3、设有无穷多个缓冲区和无穷多个信息,甲进程把信息逐个写入每个缓冲区,乙进程则逐个地从缓冲区中取出信息。试问:(1)两个进程间的制约关系;(2)用 P,V 操作写出两个进程的同步算法,并给出信号量的初值;(3)指出信号量的值的变化范围及取值的含义。#*作业三解答过程:1、 (1)何

7、时会发生死锁?北(2)请提出一种可预防死锁发生的简单方法北方向方向方向方向路口S1路口S2路口S3路口S4#*设 4 个路口为 4 个资源,其信号量分别设为 S1,S2,S3 和 S4,初值均为 1,代表资源空闲可用,下面用 P,V 操作预防死锁问题:方向进程:P(S1,S2)V(S1,S2)方向进程:P(S2,S4)V(S2,S4)方向进程:P(S3,S4)V(S3,S4)方向进程:P(S1,S3)V(S1,S3)信号量 S1,S2,S3 和 S4 的变化范围均为 -,-1,0,1。其中,S1S4=1 表示有 1 个空闲且可用的临界资源,且没有进程进入类名为 S1S4 的临界区;S1S4=0

8、 表示有 1 个进程在临界区中,目前无空闲且可用的临界资源,但无等待使用该临界资源的进程;S1S4=-m(m 为正整数)表示有 1 个进程正在该临界区中,目前无空闲且可用的临界资源,且有m 个进程等待使用该临界资源。 #*2、 (1)1 个出入口,且一次只允许 1 人通过:设超市容量信号量为 S,初值为 100;购物进程为 Pi,购物信号量为 mutex,初值为1。购物进程 Pi 同步描述:P(S)P(mutex)V(mutex )P(mutex)V(mutex )V(S)信号量 S 的变化范围为-m,-1,0,1 ,100 (m 为正整数 )。其中,S=100 表示有 100个空闲且可用的临

9、界资源,且没有进程进入类名为 S 的临界区;s=j(1j100,j 为整数)表示有 100-j 个进程正在该临界区中,且仍有 j 个空闲且可用的临界资源,但无等待使用该临界资源的进程;s=0 表示有 100 个进程在临界区中,目前无空闲且可用的临界资源,但无等待使用该临界资源的进程;s=-m (m 为正整数) 表示有 100 个进程在临界区中,目前无空闲且可用的临界资源,且有 m 个进程等待使用该临界资源;信号量 mutex 的变化范围为-99 ,-1,0,1 。其中,(2)1 个入口,n 个出口(n1 且为整数)设购物进程为 Pi,;超市容量信号量为 S,初值为 100;入口互斥信号量为 m

10、utex1,初值为 1;出口互斥信号量为 mutex2,初值为 n。购物进程 Pi 同步描述:P(S)P(mutex1)V(mutex1 )P(mutex2)V(mutex2 )V(S)信号量 S 的变化范围为-m ,-1,0,1 ,100(m 为正整数) 。其中,;信号量mutex1 和 mutex2 的变化范围均为 -99 ,-1,0,1 。其中,3、 (1)两个进程间的制约关系:乙进程不能先于甲进程执行,而甲进程不受乙进程约束。(2)设置 1 个信号量 S,S 表示甲进程写满的缓冲区的个数,S 初值为 0,表示缓冲区为空,则甲、乙两进程的同步算法描述为甲进程:i=0i=i+1乙进程:j=

11、0j=j+1P(S)#*V(S) (3)信号量 S 的变化范围为-1,+ 中的整数,当 S=-1 时表示缓冲区从未被写入信息或缓冲区信息被乙进程读空,且乙进程要求进一步读缓冲区中的信息,即乙进程超前甲进程欲读取缓冲区的信息而受阻。#*作业四:作业、进程调度1、下面哪几种调度算法适合于作业调度,哪些适合进程调度?(1)先来先服务(2)轮转法(3)短作业优先(4)优先级高者优先(5)长作业优先2、作业调度算法选择作业的原则可以是保证系统吞吐量大、对用户公平合理或者充分发挥系统资源的利用率。下表给出了 3 种简单的作业调度算法: 调度算法 吞吐量大 公平合理 发挥资源利用率先来先服务最短作业优先?(

12、1)请指出每种算法主要是体现了上述哪种原则。 (在对应的行列上打上记号)(2)如果在实际系统中只采用上述 3 种简单算法的任一种,都只能体现其中一种原则而其它原则得不到反映。为此,给出下列能反映多种原则的调度算法,并假定完全根据优先数从高到低顺序挑选作业,作业优先数按下述公式计算:R(优先数)=(作业等待时间) 2+1/(作业要求运行时间)请问这种算法反映了上述原则中的哪些原则?并简述理由。3、假设有 4 道作业,它们的提交时刻及运行时间由下表给出:作业号 提交时刻/小时 执行时间/小时1 10.00 22 10.20 13 10.40 0.54 10.50 0.3计算在单道程序环境下,采用先

13、来先服务调度算法、最短作业优先调度算法和最高响应比优先调度算法时的平均周转时间和平均带权周转时间,并指出他们的调度顺序。#*作业四解答过程:1、适用于作业调度用的算法:(1) (3) (4) (5) ,适用于进程调度用的算法:(1) (2)(4) 。2、 (1)调度算法 吞吐量大 公平合理 发挥资源利用率先来先服务 最短作业优先 (2)该算法体现了先来先服务原则和最短作业优先原则。理由如下:体现先来先服务原则:假若两作业运行时间相同,但到达时间不同,早到达的作业等待时间长,根据公式计算,它的优先数大,则优先调度。体现最短作业优先原则:假若两道作业同时到达,但运行时间不等,根据公式计算,运行时间

14、短的作业其优先数高,因而优先调度。3、 (1)先来先服务(FCFS)调度:调度顺序为 1234。作业号 到达时间 结束时间 周转时间 带权周转时间1 10.00 12.00 2 1.002 10.20 13.00 2.8 2.803 10.40 13.50 3.1 6.204 10.50 13.80 3.3 11.00平均周转时间 T=(2+2.8+3.1+3.3)/4=2.8 小时平均带权周转时间 W=(1+2.8+6.2+11)/4=5.25 小时(2)最短作业优先(SJF)调度:调度顺序为 1432。作业号 到达时间 结束时间 周转时间 带权周转时间1 10.00 12.00 2 14

15、10.50 12.30 1.80 63 10.40 12.80 2.40 4.82 10.20 13.80 3.60 3.6平均周转时间 T=(2+1.8+2.4+3.6)/4=2.45 小时平均带权周转时间 W=(1+6+4.8+3.6)/4=3.85 小时(3)最高响应比优先(HRN)调度:调度顺序为 1432。响应比=( 作业执行时间 +作业等待时间)/作业执行时间从下表可见,在作业 1 完成时刻(12.00) ,作业 2、3、4 的响应比最高的为 4;在作业4 完成时刻(12.30) ,作业 2、3 的响应比最高的为 3。作业号 等待时间 执行时间 响应比2 1.80 1 2.83 1

16、.60 0.5 4.24 1.50 0.3 62 2.1 1 3.13 1.9 0.5 4.8作业号 到达时间 结束时间 周转时间 带权周转时间1 10.00 12.00 2 1#*4 10.50 12.30 1.80 63 10.40 12.80 2.40 4.82 10.20 13.80 3.60 3.6平均周转时间 T=(2+1.8+2.4+3.6)/4=2.45 小时平均带权周转时间 W=(1+6+4.8+3.6)/4=3.85 小时#*作业五:存储管理1、假定某页式虚拟系统中,页面大小为 100 个单元,某作业占有实页面数为 M=3,它的访问地址(走向)序列为 75,175,66,2

17、67,32,102,333,166,22,255,256(数字为虚存的逻辑地址) 。 (1)请指出这些单元对应的页面访问顺序序列;(2)按先来先服务(FIFO )页面淘汰算法求出缺页率 f,并画出图表表示之;( 3)按最近最久未使用(LRU)页面置换算法求出缺页率 f,并画出图表表示之。2、有系统其主存容量为 1024K(字节) ,有 6 个作业同时到达,各作业要求主存量和运行时间如下表所示。假定系统初启时,将主存 1024K 按作业的编号顺序分给各道作业,并假定是多 CPU 下,分配到主存的作业都可以立即运行。请问:(1)1 秒后,主存空白区按首次适应和最佳适应算法的链接方式链接,将如何链接

18、?(2)2 秒后,主存空白区按首次适应和最佳适应算法的链接方式链接,将如何链接?(3)在(2)后,此时有一个作业 7 要求进入主存,它需要主存量为 30K,按上述两种算法应把那一块空白区分给它,并画出分配后的链接情况。作业编号 需主存量(K) 运行时间(s)1 200 22 120 13 100 34 50 15 80 36 320 2#*作业五解答过程:1、 (1)访问序列为 0,1,0,2,0,1,3,1,0,2,2。(2)FIFO :页面 0 1 0 2 0 1 3 1 0 2 21 0 1 1 2 2 2 3 3 0 0 02 0 0 1 1 1 2 2 3 3 33 0 0 0 1

19、1 2 2 2缺页 缺页率 f=5/11=45.45%。(3)LRU:页面 0 1 0 2 0 1 3 1 0 2 21 0 1 0 2 0 1 3 1 0 2 22 0 1 0 2 0 1 3 1 0 03 1 1 2 0 0 3 1 1缺页 缺页率 f=5/11=45.45%。2、 (1)1 秒后,主存空白区按首次适应和最佳适应算法的链接方式:首次适应算法:12050154最佳适应算法:50120154(2)2 秒后,主存空白区的链接方式:首次适应算法:32050474最佳适应算法:50320474(3)2 秒后,作业 7 要求进入主存:首次适应算法:29050474最佳适应算法:2032

20、04742001201005080320154(空闲)#*作业六:文件管理1、在 UNIX 系统中,为使文件的索引表较小又能允许组织大文件,采用直接索引与多次间接索引(多级索引)方式,给出一个文件的所有磁盘的块号,如下图。假设每个磁盘块大小为 1024 字节,并且每个间接块容纳 256 个块号,试问:(1)如某进程要读取某文件的字节偏移量为 9000 处的数据,应如何找到它所在的磁盘块及块内位移量?(2)如想要存取 350000 处,又将如何?直接 0 4096直接 1 228直接 2 45423直接 3 401直接 4 702直接 5 11111直接 6 10直接 7 101直接 8 367

21、直接 9 90间接 428间接 9156间接 8242、磁道(0-90 道)的存取正在处理第 55 道的服务请求,对于磁盘访问序列(磁道号):22、77、35、90、40、83、66,试问对以下的磁盘 I/O 请求调度算法而言,满足以上请求序列,磁头将如何移动,移动距离为多少?若每移动一个柱面需 3ms,计算总共花费的寻道时间。(1)先来先服务算法(FCFS)(2)最短查找时间优先调度(SSTF)(3)扫描调度(SCAN) (电梯调度算法)(4)循环扫描(C-SCAN)算法3、如果磁道范围 0-99,刚结束第 50 道的服务请求,对于磁道序列70,25,40,85,90,55,分别按第 2 题

22、(1)-(4)四种磁道扫描方法,磁头将如何移动?367808数据块3313333一次间址759156331二次间址0 3333数据块816#*作业六解答过程:1、 (1)根据 9000/1024=8.8,故该字节在文件索引 8(从 0 开始计)直接块中,于是可从表目项中读出内容为 367,即该字节在磁盘块号为 367 的盘块中;再根据9000mod1024=808,查表在 367 号磁盘块的 808 字节即为文件的 9000 字节。(2)350000/1024=341.8,则该字节在文件的逻辑块号为 341 的块中,故可知它必在二次间接寻址中(因为直接+1 次间接可寻 256+10=266 块

23、) 。根据(341-266)/256=75/256=0.29(整数部分为 0) ,可知其在二次间接块中 0 的表目上,又因为75mod256=75,可知在一次间接 75 表目处,从题表中可分别读出表目项内容为 331 和3333,可知在磁盘块 3333 中。由 350000mod1024=816,得出文件的 350000 字节是 3333磁盘块的 816 字节。2、 (1)先来先服务算法(FCFS):访问序列 5522773590408366总移动柱面距离为:33+55+42+55+50+43+17=295,总寻道时间为 3ms*295=885ms。(2)最短查找时间优先调度(SSTF):根据

24、各个 I/O 请求的不同,总是为接近当前磁头位置的请求提供优先服务,也就是先执行查找时间最小的那个请求。由于查找时间正比于两个请求的柱面差值,所以磁头移动总是移到距当前最近的柱面上去。很明显,它比FCFS 改善了磁盘的服务。从本质上讲,它是 SJF 短作业优先调度的形式。同样,可能导致某些请求长期得不到服务(被饿死) (当不断有 I/O 请求时) 。访问序列 5566778390403522总移动柱面距离为:11+11+6+7+50+5+13=103 ,总寻道时间为 3ms*103=309ms。(3)扫描调度(SCAN):由于 I/O 请求具有动态性质,所以可以采取扫描法。磁头从磁盘的一端出发

25、,向另一端移动,扫过所有柱面,遇到请求就服务。直到移到另一端后,移动方向反过来,继续做下面的服务。访问序列 5566778390403522总移动柱面距离为:11+11+6+7+50+5+13=103 ,总寻道时间为 3ms*103=309ms。(4)循环扫描(C-SCAN)算法:它是 SCAN 扫描算法的变种,这是为了适应极大量存取请求而设计的。磁头臂总是从 0 号柱面至最大号柱面顺序扫描,到头后直接返回 0 号柱面重复进行,就像是循环至 0 号柱面一样(也可视为单向扫描) 。在一个柱面上,磁头臂往往停留,待磁盘旋转一定圈数之后,再移向另一个柱面。为了在磁盘移动每一周时间内执行更多的存取,必须考虑旋转优化(考虑等待时间与传送时间) 。访问序列 55667783900223540总移动柱面距离为:11+11+6+7+90+22+13+5=165,总寻道时间为 3ms*165=495ms。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报