计算机操作系统|汤小丹|第四版|习题答案(五)

1.常规存储器管理方式具有哪两大特征?它对系统性能有何影响?

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

2.什么是程序运行时的时间局限性和空间局限性?

时间局限性:如果程序中的某条指令被执行,则不久之后该指令可能再次执行;如果某数据被访问过,则不久以后该数据可能再次被访问。产生时间局限性的典型原因是在程序中存在着大量的循环操作。
空间局限性:一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址可能集中在一定的范围之内,其典型情况便是程序的顺序执行。

3.虚拟存储器有哪些特征?其中最本质的特征是什么?

多次性、对换性、虚拟性。虚拟性。

4.实现虚拟存储器需要哪些硬件支持?

分页请求系统:请求分页的页表机制、缺页中断机构、地址变换机构。
请求分段系统:请求分段的段表机制、缺段中断机构、地址变换机构。

5.实现虚拟存储器需要哪几个关键技术?

(1)在分页请求系统中是在分页的基础上,增加了请求调页功能和页面置换功能所形成的页式虚拟存储系统。允许只装入少数页面的程序(及数据),便启动运行。
(2)在请求分段系统中是在分段系统的基础上,增加了请求调段及分段置换功能后形成的段式虚拟存储系统。允许只装入少数段(而非所有段)的用户程序和数据,即可启动运行。

6.在请求分页系统中,页表应包括哪些数据项?每项的作用是什么?

(1)状态位(存在位)P:它用于指示该页是否已调入内存,供程序访问时参考。
(2)访问字段A:用于记录本页在一段时间内被访问的次数,或记录本页最近已有多长时间未被访问,提供给置换算法(程序)在选择换出页面时参考。
(3)修改位M:标识该页再调入内存后是否被修改过。
(4)外存地址:用于指出该页在外存上的地址,通常是物理块号,供调入该页时参考。

7.试比较缺页中断机构与一般的中断,它们之间有何明显的区别?

(1)在指令执行期间产生和处理中断信号。通常,CPU都是在一条指令执行完后,才检查是否有中断请求到达。然而,缺页中断是在指令执行期间,若发现所要访问的指令或数据不在内存时,便立即产生和处理缺页中断信号,一边能及时将所缺之页面调入内存。
(2)一条指令在执行期间可能产生多次缺页中断。

8.试说明请求分页系统中的地址变换过程。

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

9.何谓固定分配局部置换和可变分配全局置换的内存分配策略?

(1)固定分配局部置换。所谓固定分配,是指为每个进程分配一组固定数目的物理块,在进程运行期间不再改变。所谓局部置换,是指如果进程在运行中发现缺页,则只能从分配给该进程的n个页面中选出一页换出,然后再调入一页,以保证分配给该进程的内存空间不变。
(2)可变分配全局置换。所谓可变分配,是指先为每个进程分配一定数目的物理块,在进程运行期间,可根据情况做适当的增加或减少。所谓全局置换,是指如果进程在运行中发现缺页,则将OS所保留的空闲物理块(一般组织为一个空闲物理块队列)取出一块分配给该进程,或者以所有进程的全部物理快为标的,选择一块换出,然后将所缺之页调入。

10.在请求分页系统中,应从何处将所需页面调入内存?

(1)系统拥有足够的对换区空间,这时可以全部从对换区调入所需页面,以提高调页速度。
(2)系统缺少足够的对换区空间,这时凡是不会被修改的文件,都直接从文件区调入;而当换出这些页面时,由于他们未被修改,则不必再将它们重写到磁盘(换出),以后再调入时,仍从文件区直接调入。但对于那些可能被修改的部分,在将它们换出时便须调到对换区,以后需要时再从对换区调入。
(3)UNIX方式。由于与进程有关的文件都放在文件区,故凡是未运行过的页面,都应从文件区调入。而对于曾经运行过但又被换出的页面,由于是被放在对换区,因此在下次调入时应从对换区调入。

11.试说明在请求分页系统中页面的调入过程。

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

12.在请求分页系统中,常采用哪几种页面置换算法?

答:采用的页面置换算法有:最佳置换算法和先进先出置换算法,最近最久未使用(LRU)置换算法,Clock置换算法,最少使用置换算法,页面缓冲算法等。

13.在一个请求分页系统中,采用先进先出FIFO页面置换算法时,假如一个作业的页面走向为4、3、2、1、4、3、5、4、3、2、1、5,当分配给该作业的物理块数M分别为3和4时,试计算在访问过程中所发生的缺页次数和缺页率,并比较所得结果。

M=3时,采用FIFO页面置换算法的缺页次数为9次,缺页率为75%;M=4时,采用FIFO页面置换算法的缺页次数为10次,缺页率为83%。
由此可见,增加分配给作业的内存块数,反而增加了缺页次数,提高了缺页率,这种现象被称为是Belady现象。

14.实现最近最久未使用LRU算法所需的硬件支持是什么?

需要寄存器和栈等硬件支持。寄存器用于记录某进程在内存中各页的使用情况,栈用于保存当前使用的各个页面的页面号。

15.试说明改进型Clock置换算法的基本原理。

因为修改过的页面在换出时付出的开销比未被修改过的页面大,在改进型Clock算法中,既考虑页面的使用情况,还要增加置换代价的因素;在选择页面作为淘汰页面时,把同时满足未使用过和未被修改过作为首选淘汰页面。

16.影响页面换进换出效率的若干因素是什么?

(1)页面置换算法:影响页面换进换出效率最重要的因素,直接影响进程在运行过程中的缺页率,影响页面换进换出的开销。
(2)写回磁盘的频率:如果是采取每个页面换出时,就将它写回磁盘的策略,这意味着每换出一个页面,便需要启动一次磁盘。
但如果在系统中建立了一个已修好换出页面链表,对每一个要被换出的页面(已修改),系统可暂不把它们写回磁盘,而是将它们挂在已修改换出页面链表上,仅当被换出页面数目达到一定值时,再将它们一起写回到磁盘上,这样就显著地减少了磁盘I/O的操作次数。
(3)读入内存的频率:在设置了已修改换出页面链表后,在该链表上就暂时有一批装有数据的页面,如果需要再次访问这些页面时,就不需从外存上调入,而直接从已修改换出页面链表获取,这样也可以减少将页面从磁盘读入内存的频率,减少页面换进的开销。或者说,只需花费很小的开销,便可使这些页面,又回到该进程的驻留集中。

17.页面缓冲算法的主要特点是什么?它是如何降低页面换进换出的频率的?

特点:(1)显著地降低了页面换进、换出的频率,使磁盘I/O的操作次数大为减少,因而减少了页面换进换出的开销;
(2)由于换入还出的开销大幅度减小,才能使其采用一种较简单的置换策略,如先进先出算法,它不需要特殊硬件的支持,实现起来非常简单。
在该系统中,内存分配策略上采用了可变分配和局部置换方式。为了能显著地降低页面换进换出的频率,在内存中设置了如下两个链表:
(1)空闲页面链表:是一个空闲物理块链表,用于分配给频繁发生缺页的进程,以降低该进程的缺页率。当有一个未被修改的页要换出时,实际上并不将它换出到外存,而是把它们所在的物理块,挂在空闲链表的末尾。
(2)修改页面链表:由已修改的页面所形成的链表。设置该链表的目的,是为了减少已修改页面换出的次数。降低将已修改页面写回磁盘的频率,以及降低将磁盘内容读入内存的频率。

18.什么是抖动?产生抖动的原因是什么?

抖动就是指当内存中已无空闲空间而又发生缺页中断时,需要从内存中调出一页程序或数据送磁盘的对换区中,如果算法不适当,刚被换出的页很快被访问,需重新调入,因此需再选一页调出,而此时被换出的页很快又要被访问,因而又需将它调入,如此频繁更换页面,使得系统把大部分时间用在了页面的调进换出上,而几乎不能完成任何有效的的工作,我们称这种现象为“抖动”。
产生抖动的原因是由于CPU的利用率和多道程序度的对立统一矛盾关系引起的,为了提高CPU利用率,可提高多道程序度,但单纯提高多道程序度又会造成缺页率的急剧上升,导致CPU的利用率下降,而系统的调度程序又会为了提高CPU利用率而继续提高多道程序度,形成恶性循环,我们称这时的进程是处于“抖动”状态。

19.何谓工作集?它是基于什么原理确定的?

工作集(或驻留集)是指在某时间间隔内,进程要访问的页面集合。经常被使用的页面需要在工作集中,而长期不被使用的页面要从工作集中被丢弃。为了防止系统出现抖动现象,需要选择合适的工作集大小。
工作集模型的原理是:
让操作系统跟踪每个进程的工作集,并为进程分配大于其工作集的物理块。如果还有空闲物理块,则可以再调一个进程到内存以增加多道程序数。如果所有工作集之和增加以至于超过了可用物理块的总数,那么操作系统会暂停一个进程,将其页面调出并且将其物理块分配给其他进程,防止出现抖动现象。正确选择工作集大小,对存储器的利用率和系统吞吐量的提高,都将产生重要影响。

20.当前可以利用哪几种方法来防止“抖动”?

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

21.试试说明如何利用“L=S”准则来调节缺页率,以避免“抖动”的发生?

P172

22.为了实现请求分段式存储管理,应在系统中增加配置哪些硬件结构?

请求段表机制、缺段中断机制和地址变换机构。

23.在请求段表机制中,应设置哪些段表项?

段名、段长、段基址、存取方式、访问字段、修改位、存在位、增补位、外存始地址。

24.说明请求分段系统中的缺页中断处理过程。

(1)根据当前执行指令中的逻辑地址查页表,判断该页是否在主存储器中;
(2)该页标志为“0”形成缺页中断,中断装置通过交换PSW让操作系统的中断处理程序占用处理器;
(3)操作系统处理缺页中断的办法是查主存分配表找一个空闲的主存块,查页表找出该页在磁盘上的位置,启动磁盘读出该页信息。
(4)把从磁盘上读出的信息装入找到的主存块中。
(5)当页面住处被装入主存后,应修改页表中对应的表目,填上该页所占用的主存块把标志置为“1”,表示该页已在主存储器中
(6)由于产生缺页中断时的那条指令并没执行完,所以在把页面装入之后应重新执行被中断指令。

25.请对共享段表中的各项作简要说明。

在系统中配置一张共享段表,所有各共享段都在共享段表中占有一表项。在表项的上面记录了共享段的段号、段长、内存始址、状态(存在)位、外存始址以及共享计数等信息,接下来就是记录了共享此分段的每个进程的情况。
①共享进程计数count:记录有多少进程正在共享该分段。
②存取控制字段:对于一个共享段,应为不同的进程赋予不同的存储权限。
③段号:每个进程可用自己进程的序号,去访问该共享段。

26.如何实现共享分段的分配和回收?

答:①共享段的分配:在为共享段分配内存时,对第一个请求使用该共享段的进程,由系统为该共享段分配一物理区,当又有其它进程需要调用该共享段时,无须再为该段分配内存。
②共享段的回收:当共享此段的某进程不再需要该段时,若无其他进程使用该段,则由系统回收该共享段的物理内存,否则只是取消调用者进程在共享段表中的有关记录。

你可能感兴趣的:(操作系统,操作系统)