2020-10-28 操作系统作业(五)

1.什么是程序运行时的时间局限性和空间局限性?
答:(1) 时间局限性:如果程序中的某条指令一旦执行,则不久的将来该指令可能再次被执行;如果某个存储单元被访问,则不久的将来该存储单元可能再次被访问。产生时间局限性的典型原因是在程序中存在着大量的循环操作。
(2)空间局限性:一旦程序访问了某个存储单元,则在不久的将来,其附近的存储单元也最有可能被访问,即程序在一段时间内所访问的地址,可能集中在一定的范围内。产生空间局限性的典型原因是程序是顺序执行的。
2. 虚拟存储器有哪些特征? 其中最本质的特征是什么?
答:虚拟存储器有多次性、对换性、虚拟性三大特征。最本质的特征是虚拟性。
3. 实现虚拟存储器需要哪几个关键技术?
答:(1)在分页请求系统中是在分页的基础上,增加了请求调页功能和页面置换功能所形成的页式虚拟存储系统。允许只装入少数页面的程序(及数据),使启动运行。
(2)在请求分段系统中是在分段系统的基础上,增加了请求调段及分段置换功能后形成的段式虚拟存储系统。允许只装入少数段(而非所有段)的用户程序和数据,即可启动运行。
4. 在请求分页系统中,页表应包括哪些数据项? 每项的作用是什么?
答:页表应包括:页号、物理块号、状态位P、访问字段A、修改位M和外存地址。其中状态位P指示该页是否调入内存,供程序访问时参考;
  访问字段A用于记录本页在一段时间内被访问的次数,或最近己有多长时间未被访问,提供给置换算法选择换出页面时参考;
  修改位M表示该页在调入内存后是否被修改过:
  外存地址用于指出该页在外存上的地址,通常是物理块号,供调入该页时使用。
5. 在请求分页系统中,常采用哪几种页面置换算法?
答:采用的页面置换算法有:最佳置换算法和先进先出置换算法,最近最久未使用(LRU)置换算法,Clock置换算法,最少使用置换算法,页面缓冲算法等。
6. 在一个请求分页系统中,采用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现象。
7. 影响页面换进换出效率的若干因素是什么?
(1)页面置换算法:影响页面换进换出效率最重要的因素,直接影响进程在运行过程中的缺页率,影响页面换进换出的开销。
(2)写回磁盘的频率:如果是采取每个页面换出时,就将它写回磁盘的策略,这意味着每换出一个页面,便需要启动一次磁盘。
但如果在系统中建立了一个已修好换出页面链表,对每一个要被换出的页面(已修改),系统可暂不把它们写回磁盘,而是将它们挂在已修改换出页面链表上,仅当被换出页面数目达到一定值时,再将它们一起写回到磁盘上,这样就显著地减少了磁盘I/O的操作次数。
(3)读入内存的频率:在设置了已修改换出页面链表后,在该链表上就暂时有一批装有数据的页面,如果需要再次访问这些页面时,就不需从外存上调入,而直接从已修改换出页面链表获取,这样也可以减少将页面从磁盘读入内存的频率,减少页面换进的开销。或者说,只需花费很小的开销,便可使这些页面,又回到该进程的驻留集中。
8. 页面缓冲算法的主要特点是什么? 它是如何降低页面换进、换出的频率的?
特点:(1)显著地降低了页面换进、换出的频率,使磁盘I/O的操作次数大为减少,因而减少了页面换进换出的开销;
(2)由于换入还出的开销大幅度减小,才能使其采用一种较简单的置换策略,如先进先出算法,它不需要特殊硬件的支持,实现起来非常简单。
在该系统中,内存分配策略上采用了可变分配和局部置换方式。为了能显著地降低页面换进换出的频率,在内存中设置了如下两个链表:
(1)空闲页面链表:是一个空闲物理块链表,用于分配给频繁发生缺页的进程,以降低该进程的缺页率。当有一个未被修改的页要换出时,实际上并不将它换出到外存,而是把它们所在的物理块,挂在空闲链表的末尾。
(2)修改页面链表:由已修改的页面所形成的链表。设置该链表的目的,是为了减少已修改页面换出的次数。降低将已修改页面写回磁盘的频率,以及降低将磁盘内容读入内存的频率。
9. 在请求分页系统中,产生“抖动”的原因是什么?利用哪几种方法来防止“抖动”?
原因:产生抖动的原因是由于CPU的利用率和多道程序度的对立统一矛盾关系引起的,为了提高CPU利用率,可提高多道程序度,但单纯提高多道程序度又会造成缺页率的急剧上升,导致CPU的利用率下降,而系统的调度程序又会为了提高CPU利用率而继续提高多道程序度,形成恶性循环,我们称这时的进程是处于“抖动”状态。
方法:(1)采取局部置换策略(2)把工作集算法融入到处理机调度中(3)利用“L=S”准则调节缺页率(4)选择暂停的进程
10. 何谓工作集? 它是基于什么原理确定的?
工作集是指在某时间间隔内,进程要访问的页面集合。经常被使用的页面需要在工作集中,而长期不被使用的页面要从工作集中被丢弃。为了防止系统出现抖动现象,需要选择合适的工作集大小。
工作集模型的原理是:
让操作系统跟踪每个进程的工作集,并为进程分配大于其工作集的物理块。如果还有空闲物理块,则可以再调一个进程到内存以增加多道程序数。如果所有工作集之和增加以至于超过了可用物理块的总数,那么操作系统会暂停一个进程,将其页面调出并且将其物理块分配给其他进程,防止出现抖动现象。正确选择工作集大小,对存储器的利用率和系统吞吐量的提高,都将产生重要影响。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值