您的当前位置:首页正文

《操作系统》第五章习题

2024-02-12 来源:易榕旅网


第五章课后习题

1.(1)一次性,作业必须一次性的全部装入内存后方能开始运行。

(2)驻留性,作业被装入内存后,整个作业都一直驻留在内存中,其中任何部分都不会被换出,直至作业运行结束。

一次性和驻留性特征使得许多在程序运行中不用或暂时不用的程序(数据)占据了大量的内存空间,而一些需要运行的作业又无法装入运行中,浪费了宝贵的内存资源。

2.(1)时间局限性,如果程序中的某条指令被执行,则不久以后该指令可能再次被执行,如果某数据被访问,则不久之后该数据可能再次被访问。

(2)空间局限性,一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址可能集中在一定的范围之内。

3.(1)多次性。(2)对换性。(3)虚拟性。

最本质的特征是多次性和对换性。

4.分页请求系统的硬件支持:(1)请求分页的页表机制;(2)缺页中断机构;(3)地址变换机构;

请求分段系统的硬件支持:(1)请求分段的段表机制;(2)缺段中断机构;(3)地址变换机构。

5.分页请求系统和请求分段系统。

6.页表项有:页号,物理块号,状态位P,访问字段A,修改位M,外存地址。

(1)状态位(存在位)P:用于只是该页是否已调入内存,供程序访问时参考;

(2)访问字段A:用于记录本页在一段时间内被访问的次数,或记录本页最近已有多长时间未被访问,提供给置换算法在选择换出页面时参考;

(3)修改位M:标识该页在调入内存后是否被修改过;

(4)外存地址:用于指出该页在外存上的地址,通常是物理块号,供调入该页时参考。

7.区别:(1)在指令执行期间产生和处理中断信号。通常,CPU都是在一条指令执行完后才检查是否有中断请求到达。而缺页中断是在指令执行期间,若发现所要访问的的指令或数据不在内存时,便立即产生和处理缺页中断信号。

(2)一条指令在执行期间可能产生多次缺页中断。

8.在进行地址变换时,首先检索快表,试图从中找到所要访问的页。若找到,便修改页表项中的访问位,供置换算法选换出页面时参考。对于写指令,还须将修改位置成“1”,表示该页在调入内存后已被修改。然后利用页表项中给出的物理块号和页内地址形成物理地址。地址变换过程就此结束。

9.固定分配局部置换:所谓固定分配,是指为每个进程分配一组固定数目的物理块,在进程运行期间不再改变。所谓局部置换,时甚至如果进程在运行中发现缺页,则只能从

分配给该进程的n个页面中选出一页换出,然后再调入一页,以保证分配给该进程的内存空间不变。

可变分配全局置换:所谓可变分配,是指先为每个进程分配一定数目的物理块,在进程运行期间,可根据情况做适当的增加或减少。所谓全局置换,是指如果进程在运行中发现缺页,则将OS所保留的空闲物理块取出一块分配给该进程,或者以所有进程的全部物理快为标的,选择一块换出,然后将所缺之页调入。

10.(1)系统拥有足够的对换区空间,可以全部从对换区调入所需页面;

(2)系统缺少足够的对换区空间,凡是不会被修改的文件,都直接从文件区调入,对那些可能被修改的部分,在将它们换出时便须调到对换区,以后需要时再从对换区调入。

(3)UNIX方式。由于与进程有关的文件都放在文件区,故凡是未运行过的页面,都应从文件区调入。

11.当程序所要访问的页面未在内存时,便向CPU发出一缺页中断,中断处理程序首先保留CPU环境,分析中断原因后转入缺页中断处理程序。该程序通过查找页表得到该页在外存的物理块后,如果此时内存能容纳新页,则启动磁盘I/O,将所缺之页调入内存,然后修改页表。如果内存已满,则须先按照某种置换算法,从内存中选出一页准备换出,如果该页未被修改过,可不必将该页写回磁盘,但如果此页已被修改,则必须将它写会磁盘,然后再把所缺的页调入内存,并修改页表中的相应表项,置其存在位为“1”,并将此页表项写入快表中。

12.最佳置换算法,先进先出置换算法,最近最久未使用和最少使用置换算法,clock

置换算法,页面缓冲算法。

13.当物理块数为3时:缺页次数F为8,缺页率f为8/12=6.7

当物理块数为4时:缺页次数F为10,缺页率f为10/12=0.3

14.(1)寄存器;(2)栈

15.在改进型clock算法中,还增加了一个因素,置换代价。选择页面换出时,既要是未使用过的页面,又要是未被修改的页面。把同时满足这两个条件的页面作为首选淘汰的页面,由访问位A和修改位M可以组合成四种类型的页面。在进行页面置换时,可采用与简单clock算法相似的算法,其差别在于该算法须同时检查访问位与修改位,以确定该页是四类页项中的哪一种。

16.(1)页面置换算法;(2)写回磁盘的频率;(3)读入内存的频率

17.特点:(1)显著的降低了页面换进、换出的频率,使磁盘I/O的操作次数大为减少,因而减少了页面换进、换出的开销;

(2)正是由于换入换出的开销大幅度减小,才能使其采用一种较简单的置换策略,如先进先出算法,它不需要特殊硬件的支持,实现起来非常简单。

18.原因:同时在系统中运行的进程太多,由此分配给每一个进程物理块太少,不能满足进程正常运行的基本要求,致使每个进程在运行时,频繁的出现缺页,必须请求系统将所缺之页调入内存。这会使得在系统中排队等待页面调进/调出的进程数目增加。显然,对磁盘的有效访问时间也随之急剧增加,造成每个进程的大部分时间都用于页面的换进/换

出,而几乎不能再去做任何有效的工作,从而导致发生处理机的利用率急剧下降并趋于0的情况。

19.工作集:指在某段时间间隔Δ里,进程实际所要访问页面的集合。

原理:工作集w(t,Δ)是二元函数,即在不同时间t的工作集大小不同,所含的页面数也不同;工作集与窗口尺寸Δ有关,是窗口尺寸Δ的非降函数。

20.(1)采取局部置换策略;(2)把工作集算法融入到处理机调度中;(3)利用“L=S”准则调节缺页率;(4)选择暂停的进程

21.在“L=S”准则中,“L”是缺页之间的平均时间,“S”是平均缺页服务时间,即用于置换一个页面所需的时间,只有当L=S接近时,磁盘和处理机都可达到它们的最大利用率。

22.硬件支持有:段表机制、缺段中断机构、地址变换机构

23.段名(号)、段长、段起始地址、存取方式、访问字段A、修改位M、存在位P、增补位、外存地址

24.每当发现运行进程所要访问的段尚未调入内存时,便由段中断机构产生一缺段中断信号,进入OS后,由缺段中断处理程序将所需的段调入内存。与缺页中断机构类似,缺段中断机构同样需要在一条指令的执行期间产生和处理中断,以及在一条指令执行期间,可能产生多次缺段中断。

25.(1)共享进程计数count。记录有多少进程正在共享该分段;

(2)存取控制字段。为不同的进程赋予不同的存取权限;

(3)段号。不同的进程可以具有不同的段号,每个进程可用自己进程的段号去访问该共享段。

26.共享段的分配:对第一个请求使用该共享段的进程,由系统分配一物理区,再把共享段调入该区,同时将该区的始址填入请求进程的段表的相应项中,还须增加一表项,填写进程名、段号和存取控制等有关数据,把count置为1.当又有其他进程需要调用该共享段时,只需在调用进程的段表中增加一表项,填写该共享段的物理地址,增加一个表项,并填上段号,存取控制等,再执行count=count+1操作

共享段的回收:释放该段,包括撤销在该进程段中共享段所对应的表项,以及执行count=count-1操作。若结果为0,则须由系统回收该共享段的物理内存,以及取消在共享段中该段所对应的表项,表明此时已没有进程使用该段;否则,只是取消调用者进程在共享段表中的有关记录。

因篇幅问题不能全部显示,请点此查看更多更全内容