操作系统作业题(1)参考答案

上传人:j****9 文档编号:45094112 上传时间:2018-06-15 格式:DOC 页数:17 大小:215KB
返回 下载 相关 举报
操作系统作业题(1)参考答案_第1页
第1页 / 共17页
操作系统作业题(1)参考答案_第2页
第2页 / 共17页
操作系统作业题(1)参考答案_第3页
第3页 / 共17页
操作系统作业题(1)参考答案_第4页
第4页 / 共17页
操作系统作业题(1)参考答案_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《操作系统作业题(1)参考答案》由会员分享,可在线阅读,更多相关《操作系统作业题(1)参考答案(17页珍藏版)》请在金锄头文库上搜索。

1、操作系统作业题(1)参考答案一、判断题(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) 二、(1)答:1955-1965 年是第二代计算机系统时代,这时候的计算机硬件非常昂贵,人们想 尽了一切办法来减少机时的浪费,其中最好的方式是批处理系统。因为这时计算机主要处 理的问题是像解偏微分方程之类的科学计算。程序与用户之间的交互性不强,程序在运行 过程中,基本上不需要用户干预,适合于批处理系统。而分时系统主要是为共享计算机系 统的软硬件资源而设计的,用于程序系统与用户之间的交互性较强的场合。其次分时系统 相对批处理系统来说较为耗时,因为进程之间的切换是需要花费一定时间

2、的,不能充分发 挥这个时期非常昂贵的硬件资源。因此在第二代计算机系统中没有广泛采用分时系统。 (2) 答:多道系统中,进程的运行是走走停停的,它在处理器上的交替运行,使它的运行 状态不停地变化着,最基本的状态有三种:运行、就绪和阻塞。运行状态就是进程正在处 理器上运行,就绪状态就是进程只要获得处理器就可以运行,阻塞状态就是进程正在等待 某个件的发生,现代操作系统中,还有进程的挂起状态。状态之间的转换如下图所示:运行 阻塞 就绪 挂起阻塞 挂起就绪 恢复或 激活 挂 起 恢复或 激活 挂 起 挂 起 事件发生 事件发生 等待某个事件 (3) 答:若一个进程集合中的每一个进程都在等待只能由本集合中

3、的另一个进程才能引发 的事件,则把这种情况称之为死锁。如果一个进程正在等待一个不可能发生的事件,则称 该进程处于死锁状态。系统发生死锁是指一个或多个进程处于死锁状态。 死锁发生的条件:产生死锁的主要原因是供共享的系统资源不足,资源分配策略和进 程的推进顺序不当。系统资源既可能是可重用的永久性资源,也可能是消耗的临时资源。 关于可重用资源死锁存在四个必要条件,他们是:(1)互斥条件:又称独占条件,即一个 资源每次只能被一个进程使用。 (2)保持和等待条件:又称部分分配条件:即一个进程已 获得一些资源,又因请求其他资源而被阻塞等待。 (3)不剥夺条件:进程已获得的资源, 不经进程释放,不能剥夺这个

4、资源。 (4)环路等待条件:若干进程形成一个环形链,其中 每一个进程占有链中下一个进程所申请的一个或多个资源。 (4)答:连续分配存储空间存在的许多存储碎片和空间管理较复杂的问题,其原因在于 连续分配要求把作业放在主存的一片连续区域中。页式管理能够避开这种连续性需求。页 式管理系统工作原理如下图所示,图中显示了从逻辑地址 LA 到物理地址 PA 的映射过程。页表起始地 址 + f F d P d LA PA k-1 0 k-1 0 页表 下图是一个虚地址的例子,是 16 个 4K 页的情况下 MMU 的内部操作。虚地址 8196(二进制为:0010000000000100) ,输入的 16 位

5、虚地址被分为 4 位的页号和 12 位的偏 移量,4 位的页号可以表示 16 个页面,12 位的偏移可以为一个页内的全部 4096 个字节编 址。页号用作页表的索引,以得出对应于这个虚页的页框号。如果在/不在位是 0,则将引 发一个操作系统的陷入;如果这个位是 1,在页表中查到的页框号将被复制到输出寄存器 的高三位中,加上输入地址中的 12 位偏移量,就构成了 15 位的物理地址。输出寄存器的 内容随即被作为物理地址送到内存总线。1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 000 0 000 0 000 0 000 0 111 1 000 0 101 1 000 0 000 0

6、 000 0 011 1 100 1 000 1 110 1 001 1 010 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 送入的虚地址 (8196) 在/不在位 110 12 位的偏移直接从输入复制 到输出 虚页=2作为页表的索引 页 表 送出的物理地址 (24580) 三、设 TLB 的访问时间为 TC,页表的访问时间为 TP,TLB 的命中率为 h,平均开销时间 TM。则 TM=h*(TC)+(1-h)*(TC+TP) ,解得 h=(TC+TP-TM)/TP=(100+500- 200)/500=0.8。四、读取一个块的时间为:寻道延迟+旋转延迟/2+传送时间。

7、 (1)在第一种情况下传输 100 块的文件需要的时间为:(13*6+100/2+25)*100=15300ms。 (2)在第一种情况下传 输 100 块的文件需要的时间为:(2*6+100/2+25)*100=8700ms。五、块 2 在两个文件中出现,如果删除任何一个文件,磁盘块 2 会加到空闲表中,导致一 个磁盘块同时出现在文件和空闲表中。两个文件都删除后,这个磁盘块会在空闲表中出现 两次。文件系统可以这样处理,先分配一个空闲块,把磁盘块 2 中的内容复制到空闲块中, 然后把它插入到其中一个文件中。这样,文件中的内容未改变,而文件系统的结构保持了 一致。块 5 既出现在使用表中,又出现在

8、空闲表中。只需重新建立空闲表。块 6 不出现在任何一张表中,这时报告块丢失。尽管块丢失不会造成任何损坏,但浪费 了磁盘空间,减少了磁盘容量。解决块丢失问题是比较简单的,只需要重新建立空闲表。六、把 64K 的文件从这样的磁盘上装入内存需要的时间计算如下: 一般来说,页的大小与块的大小是一样的,取块的大小为 4K。则共有 64/4=16 个块, 每块的装入时间为:寻道延迟+旋转延迟+传送时间=30+20/2+(4/32)*20=42.5ms 整个文件的装入时间为: 42.5*16=680ms。操作系统操作系统作业题(作业题(2)参考参考答案答案一、 (1)为用户提供一个虚拟机,管理系统的各种资源

9、 (2)页式管理,段式管理,段页式管理 (3) 寻道时间,旋转延迟,实际的数据传输时间 (4)SEND 调用, RECEIVE 调用二、 1、答:不一定。发生死锁需要满足四个条件:(1)互斥条件,每一个资源或者分配给一 个进程,或者空闲。 (2)保持和等待条件,已经分配到了一些资源的进程可以申请新的资 源。 (3)非剥夺条件,已分配给一个进程的资源不可剥夺,只能被占有它的进程明确地释 放。 (4)循环等待条件,系统必然有两个或两个以上的进程组成的循环链,链中的每一个 进程都在等待相临进程占用的资源。这四个条件是发生四锁的必要条件,只要其中的一条 或多条不成立,就不会发生死锁。因此当多个进程同时

10、对几个有限的资源进行互斥访问, 是否发生死锁要看它是否满足以上四个条件。2、 答:三级存储结构主要由高速缓存(CACHE) 、主存储器(RAM)和磁盘组成。高速 缓存(CACHE)相对于主存储器(RAM)来说,价格昂贵,存储速度非常快,容量很小。 主存储器(RAM)相对于磁盘来说,价格较贵,存储速度较快,容量较小。磁盘的价格便 宜,存储速度慢,但容量非常大。3、答:FIFO 算法选择淘汰在主存驻留时间最长的页。这似乎比较合理,但可能淘汰立即要 使用的页。另外,使用 FIFO 算法时,在未给予进程分配足够的页面时,有时会出现给予 进程的页面数越多,缺页次数反而增加的异常现象,这称为 Belady

11、 现象。二次机会算法所 做的就是寻找从上一次检查以来有没有引用过的页面。如果所有的页面被引用过了,它就 降级为纯粹的 FIFO 算法。显然二次机会算法要优于 FIFO 算法。4、答:进程是指一个正在执行的程序,包括计数器、寄存器和变量的当前值。每个进程拥 有他自己的虚拟 CPU,有一个地址空间和单线程控制。线程像微小进程,每个线程按顺序 执行,并有自己的程序计数器和堆栈来记录运行到什么地方。线程能够创建子线程也能阻 塞以等待系统调用来完成。通常,多个线程共享一个进程的地址空间。一个进程拥有一个 或多个线程。线程相对于进程,犹如进程相对于机器。三、这五个作业的预计运行时间是确定的,因此用最短作业

12、优先是最优的,即平均周转时间 最短。答案取决于 X 的值。X 可在 3,6,9,10 这个顺序间的任何位置,保持这个顺序是 由小到大的顺序。四、 设 TLB 的访问时间为 TC,页表的访问时间为 TP,TLB 的命中率为 h,平均开销时间 TM。则 TM=h*TC+(1-h)*(TC+TP) ,解得 h=(TC+TP-TM)/TP=4/5=0.8。五、(1) FIFO(先进先出算法): (1,2,3,4,5,1) ; (2) LRU(最近最少使用算法):(3, 4,5,3) ; (3) NRU(最近不使用算法): (4,5,4) ;六、 设 TLB 的访问时间为 TC,页表的访问时间为 TP,

13、TLB 的命中率为 h,平均开销时间 TM。则 TM=h*(TC)+(1-h)*(TC+TP) ,解得 TM=0.8*(100)+(1-0.8)*(100+2000) =500 微妙。操作系统操作系统作业题(作业题(3)参考参考答案答案一、 (1)B,D (2)A,B,C,D (3)A (4)C (5) B (6)D (7)A,B,C,D (8)C (9)A,B,C (10)A,B,C,D二、 1、T U C D 答:上图中方形表示资源,圆形表示进程。共有两个进程和两个资源。从进程到资源的 有向箭头表示进程当前正申请该资源并处于阻塞状态。从资源节点到进程的有向箭头表示 该资源已被进程占用。上图

14、就表示这两个资源出现了死锁。进程 C 等待资源 T,资源 T 又 被进程 D 占用,进程 D 又在等待被进程 C 占用的资源 U。于是两个进程都将等待下去。2、答:在分页系统中,由于页表尺寸较大,因此许多分页方案都只能把它保存在内存中, 但这种设计对性能有很大的影响。例如一条把寄存器的内容复制到另一个寄存器中的指令, 在不使用分页时只需要访问内存一次以获取指令,而在使用分页时需要额外的内存访问去 读取页表。因为系统的运行速度一般都是受 CPU 从内存中取得指令和数据的速率所限制的, 因而在每次访问内存时都要访问两次页表会使机器的性能降低 2/3,这样的系统是没有人愿 意使用的。因此在分页系统中

15、,如何提高对页表的查询速度就成为研究的焦点。解决的办 法是,为计算机装备一个不需要经过页表就能把虚地址映射成为物理地址的小的硬件设备, 这个设备就是转换后援存储器 TLB。当一个虚地址被送到 MMU 进行转换时,硬件首先把 它和 TLB 中的所有条目同时进行比较,看它的页号是否在 TLB 中,如果找到了并且这个 访问没有违反保护位,则它的页框号将直接从 TLB 中取出而不用去查页表。 3、 答:(1)要使 a,b 两个进程互斥,只需设定一个信号量 mutex,该信号量 mutex 的取 值为 0、1 和-1 三个值,若 Mutex=1 表示没有进程进入临界区;当 Mutex=0 表示有一个进

16、程进入临界区;当 Mutex=-1 表示有一个进程进入临界区,另一个进程等待进入。设定 Mutex 的初始值为 1。当 a 进程预进入临界区时,首先检查 Mutex 的值,如果 Mutex0, 进程 a 把 Mutex 做减一操作后,进入临界区。当 Mutex=2 then wait(db); /如果有读写进程数大于等于 2,则写进程应阻塞 V(mutex);write_data_base();P(mutex); Rc:=rc-1; V(mutex);end; end monitor;procedure reader beginwhile true dobeginReaderWriter.read;Use_data_read(); /使用所读的数据 end; end;procedure writer beginwhile true do beg

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号