第五章操作系统 虚拟存储器习题

1、什么是程序局部性原理?程序局部性主要体现在哪里方面?

答:程序局部性原理:程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。相应地,执行所访问的存储空间也局限于某个内存区域。
程序局限性表现在如下两个方面:时间局限性:如果程序中的某条指令被执行,则不久以后该指令可能再次被访问。如果某数据已被访问,则不久以后该数据可能被再次访问。
空间局限性:一旦程序访问了某个存储单元,在不久以后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址可能集中在一定的范围之内。

2、什么是虚拟存储器?虚拟存储区有什么特征?

答:虚拟存储器:是指具有请求调入功能和置换功能,能从逻辑上堆内存容量进行扩充的一种存储区系统。其逻辑容量由内存容量和外存容量之和所决定。
特征:多次性:指一个作业被分为多次调入内存运行。作业在运行时,只需将当前运行的那部分程序和数据装入内存,以后再陆续从外存将需要的部分调入内存。
对换性:是指一个作业中的程序和数据,无须在作业运行时一直常驻内存,而是运行在作业运行的过程中进行换进换出。允许将暂时不用的程序和数据从内存调至外存的对换区,以后需要时再从外存调入到内存。
虚拟性:指能够从逻辑上扩充内存容量,使用户看到的内存容量远大于实际内存容量。
离散性:是指内存分配bai时采用离散分配的方式。若采用连续分配方式,需要将作业装入到连续的内存区域,这样需要连续地一次性申请一部分内存空间,无法实现虚拟存储功能,只有采用离散分配方式,才能为它申请内存空间,以避免浪费内存空间。

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

答:页表应包含的数据项有:页号,物理块号,状态位P,修改位M,外存地址。
页号:页号是虚拟地址的划分,指向程序中的某一页,每个页号对应一个页面号。
物理块号:块号是实际地址的划分,指向内存空间中某一个物理块。
状态位P:指示该页是否调入内存,供程序访问时参考,通常0表示未调入、1表示已调入;
访问字段A:用于记录本页在一段时间内被访问的次数,或最近已有多长时间未被访问,提供给置换算法在选择换出页面时参考;
修改位M:表示该页在调入内存后是否被修改过,通常0表示未修改(淘汰该页也就是从内存换出该页时无需替换外存对应页)、1表示已修改(淘汰该页时需要替换外存对应页),提供给置换页面时参考;
外存地址:用于指出该页在外存上的地址,通常是物理块号(注意是外存的物理块号,页表的第二个表项:物理块号是内存的物理块号),供调入该页时使用(知道在哪调入该页)。

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

答:可分为如下三种情况:
系统拥有足够的对换区空间:系统拥有足够的对换区空间时,可以全部从对换区调入所需页面,提高调页速度。在进程运行前将与该进程有关的文件从文件去拷贝到对换区。
系统缺少足够对换区空间时,不被修改的文件直接从文件去调入:当换出这些页面时,未被修改的不必换出,再调入时,仍从文件去直接调入。对于可能修改的,在换出时便调到对换区,以后需要时再从对换区调入。
Unix方式:未运行页面从文件区调入。曾经运过但被换出页面,下次从对换区调入。Unix系统允许页面共享,某进程请求的页面有可能已调入内存,直接使用不再调入。

5、简述产生“抖动”的原因以及“抖动”的预防方法。

答:(1)系统中运行进程过多,(2)进程分得物理块太少;(3)页面置换算法不适当。当内存中已无可分配空间而又发生缺页中断时,需要从内存中调出一页程序或数据送磁盘的对换区中,如果算法不适当,刚被换出的页很快被访问,需重新调入。由于CPU的利用率和多道程序度的对立统一矛盾关系,为了提高CPU利用率,可提高多道程序度,但单纯提高多道程序度又会造成缺页率的急剧上升,导致CPU的利用率下降,而系统的调度程序又会为了提高CPU利用率而继续提高多道程序度,形成恶性循环,我们称这时的进程是处于"抖动"状态。
预防方法:(1)采取局部置换策略:仅允许进程在自身范围内进行置换。即使发生抖动,也可以把影响限制在较小范围内。(2)把工作集算法融入到处理机调度中。(3)利用“L=S”准则调节缺页率。

6.在一个请求分页虚拟存储系统中,用户编程空间32个页,页长1KB,内存空间16KB。如果应用程序有10页长,若已知逻辑地址页号0,1,2,3已分得物理块4,7,8,10,试把虚拟地址0AC5H、1AC5H转换为物理地址。

答:页面大小为1K,因此页内偏移共有10位
0AC5H:0000 1010 1100 0101;000010对应十进制为2,第2页,对应物理地址块号为8,偏移地址不变,因此物理地址的二进制表示为:0010 0010 1100 0101
1AC5:0001 1010 1100 0101;0000110对应十进制为6,无对应物理块号,越界,无对应物理地址。

7、在一个请求分页系统中,假如一个作业的页面走向是2,3,2,1,5,2,4,5,3,2,5,2。目前没有任何页面装入内存,当分配给该作业的物理块数为3时,请分别计算采用OPT算法、FIFO算法、LRU算法、CLOCK算法时,访问过程中所发生的缺页次数和缺页率。

答:OPT:
2 3 2 1 5 2 4 5 3 2 5 2
2 2 2 2 2 2 4 4 4 2 2 2
3 3 3 3 3 3 3 3 3 3 3
1 5 5 5 5 5 5 5 5
1 1 1 1 1 1
缺页次数:6;
缺页率:50%
FIFO:
2 3 2 1 5 2 4 5 3 2 5 2
2 2 2 2 5 5 5 5 3 3 3 3
3 3 3 3 2 2 2 2 2 5 5
1 1 1 4 4 4 4 4 2
1 1 1 1 1 1 1 1 1
缺页次数:9
缺页率:75%

LRU算法:
2 3 2 1 5 2 4 5 3 2 5 2
2 2 2 2 2 2 2 2 3 3 3 3
3 3 3 5 5 5 5 5 5 5 5
1 1 1 4 4 4 2 2 2
1 1 1 1 1 1 1
缺页次数:7
缺页率:58.33%

Clock算法:
2 3 2 1 5 2 4 5 3 2 5 2
2 2 2 2 5 5 5 5 3 3 3 3
3 3 3 3 2 2 2 2 2 5 5
1 1 1 4 4 4 4 4 2
1 1 1 1 1 1 1 1 1
缺页次数:9
缺页率:75%

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
存储器管理是操作系统中的一个重要组成部分,它主要负责管理计算机的内存资源,包括内存分配和回收、内存保护、虚拟内存管理等。下面介绍一下操作系统实验中的存储器管理。 1. 内存分配和回收 内存分配是将一定大小的内存块分配给进程使用,而内存回收则是将进程不再使用的内存块释放出来,以便其他进程使用。在实现内存分配和回收时,可以采用多种算法,比如首次适应算法、最佳适应算法、最坏适应算法等。这些算法的实现过程可以通过链表或位图来完成。 2. 内存保护 内存保护是指防止进程越界访问内存区域,从而导致系统崩溃或数据损坏。在操作系统中,可以通过硬件和软件两种方式来实现内存保护。硬件保护通常通过内存管理单元(MMU)来实现,而软件保护则通过访问权限控制和地址空间隔离来实现。 3. 虚拟内存管理 虚拟内存管理是操作系统中的一个重要功能,它可以将进程的虚拟地址空间映射到物理内存中,从而使得进程可以访问超过实际物理内存大小的数据。在实现虚拟内存管理时,需要采用一些算法来完成页面置换和页面调度等操作,比如最近最少使用算法(LRU)。 总之,存储器管理是操作系统中重要的组成部分,对于系统的稳定性和性能有着重要的影响。在操作系统实验中,可以通过实现内存分配和回收、内存保护、虚拟内存管理等功能,来加深对操作系统存储器管理的理解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值