操作系统---第三章内存管理---虚拟内存管理---应用题

操作系统内存管理:虚拟内存应用题解析
本文详细解析了操作系统中关于虚拟内存管理的多项应用题目,涉及请求分页存储管理、页面淘汰算法(如最佳置换、FIFO、LRU)、页式虚拟存储系统性能评估、页面访问时间计算、页面置换策略等概念,通过实例展示了各种算法的工作原理和计算过程。

1 2009年统考真题

我在这里犯的错误是没有考虑到执行完缺页中断后还要优先访问快表,快表找不到才去访问内存。

2在一个请求分页存储管理系统中,一个作业的页面走向为4,3,2,1,4,3,5,4,3,2,1,5,当分配给作业的物理块数分别为3和4时,试计算采用下述页面淘汰算法时的缺页率(假设开始执行时主存中没有页面)。

(1)最佳置换算法

(2)先进先出置换算法

(3)最近最久未使用算法

3一个页式虚拟存储系统,其并发进程数固定为4个。最近测试了它的CPU利用率和用于页面交换的磁盘的利用率,得到的结果就是下列3组数据中的一组。针对每组数据,说明系统发生了什么事情。增加并发进程数能提升CPU的利用率吗?页式虚拟存储系统有用吗?

(1)CPU利用率为13%,磁盘利用率为97%。在内存中的进程数很少,页面交换很频繁,抖动,频繁的进行交换。增加并发进程数可以提高利用率。我脑子瓦特了,我以为是增大页面。抖动会影响页式虚拟存储发挥作用。
(2)CPU利用率为87%,磁盘利用率为3%。CPU一直在运行,很少的进程进行换入换出。系统正常。
(3)CPU利用率3%,磁盘利用率3%。处于运行态的进程太少了,增加并发进程数

4现有一请求页式系统,页表保存在寄存器中。若有一个可用的空页或被置换的页未被修改,则它处理一个缺页中断需要8ms;若被置换的页已被修改,则处理一个缺页中断因增加写回外存时间而需要20ms,内存的存取时间为1us。假定70%被置换的页被修改过,为保证有效存取时间不超过2us,可接受的最大缺页中断率是多少?

注意,这里说的是有效存取时间,也就是访问内存一次的时间,没有说要取虚页号,拼接出物理地址然后再访问内存。
在这里插入图片描述

5已知系统为32位实地址,采用48位虚地址,页面大小为4KB,页表项大小为8B,每段最大为4GB。

(1)假设系统使用纯页式存储,则要采用多少级页表?页内偏移多少位?

我以前没有遇到过这种要计算几级页表,几级段表的情况,要着重记忆。
页面大小为4KB,因此页内偏移为12位,系统采用48位虚拟地址,因此虚页号为48-12=36位。采用多级页表时,最高页表项不能超出一页大小;
每页能容纳的页表项数为4KB/8B=2^9,36/9=4,因此应采用4级页表,最高级页表项正好占据一页空间。

(2)若系统采用段页式存储,则每用户最多可以有多少个段?段内采用几级页表?

系统采用48位虚拟地址,每段最大为4GB,因此段内地址为32位,段号为48-32=16位,每个用户最多可以有2^16段。段内采用页式地址,(32-12)/9上取整得到的结果为3,因此段内应采用3级页表。

(3)假设系统采用二级页表,TLB命中率为98%,TLB访问时间为10ns,内存访问时间为100ns,并假设当TLB访问失败时才开始访问内存,问平均页面访问时间是多少?

注意,这里只是快表访问失败,而不是缺页中断,所以一级页表需要访存两次,二级页表需要访存3次
0.98*(10+100)+0.02*(10+100+100+100)=114ns。

6在一个请求分页系统中,采用LRU页面置换算法时,假如一个作业的页面走向为1,3,2,1,1,3,5,1,3,2,1,5,当分配给该作业的物理块数分别为3和4时,试计算在访问过程中发生的缺页次数和缺页率。

在这里插入图片描述

7在页式虚拟管理的页面替换算法中,对于任何给定的驻留集大小,在什么样的访问串情况下,FIFO与LRU替换算法一样(即被替换的页面和缺页情况完全一样)。?

对访问串的要求:不连续的页面号均不相同
由于驻留集大小任意,现要求两种算法的替换页面和缺页情况完全一样,就意味着FIFO与LRU的置换选择一致。FIFO替换最早进入主存的页面,LRU替换上次访问以来最久未被访问的页面,这两个页面一致。就是说,最先进入主存的页面在此次缺页之前不能再被访问,这样该页面就同时是最久未被访问的页面。

8某请求分页系统的页面置换策略如下:从0时刻开始扫描,每隔5个时间单位扫描一轮驻留集(扫描时间忽略不计)且本轮未被访问过的页框将被系统回收,并放入空闲页框链尾,其中内容在下一次分配之前不清空。当发生缺页时,若该页曾被使用过且还在空闲页链表中,则重新放回进程的驻留集中;否则,从空闲页框链表头部取出一个页框。

忽略其他进程的影响和系统开销。初始时进程驻留集为空。目前系统空闲页的页框号依次为32,15,21,41。进程P依次访问的<虚拟页号,访问时刻>为<1,1>,❤️,2>,<0,4>,<0,6>,<1,11>,<0,13>,<2,14>。
在这里插入图片描述

9设某计算机的逻辑地址空间和物理地址空间均为64KB,按字节编址,若某进程最多需要6页(page)数据存储空间,页的大小为1KB,操作系统采用固定分配局部置换策略为此进程分配4个页框(Page Frame),见下表。在装入时刻260前,改进程的访问情况页见下表。

采用CLOCK算法,首先从当前位置(2号页框)开始顺时针寻找访问位为0的页面,当指针指向的页面的访问位为1时,就把该访问位清“0”,指针遍历一周后,回到2号页框,此时2号叶匡的访问位为0,置换该页框的页面,于是对应的物理地址为 0BCAH。

10 对于一款64位的计算机体系结构,假设每个页表项的长度位8B,而且必须采用四级页表结构,每级页表结构中的页表都必须正好存放在一个物理块中,请问在这种情况下,系统能够支持的最大的页面大小是多少?此时,虚拟地址应该如何划分。

在这里插入图片描述

11

讨论课样题 1.下列页面置换算法说法正确的有(B)。 I先进先出(FIFO)会产生Belady现象。 II.最近最少使用(LRU)会产生Belady现象。 III.在进程运行时,若它的工作集页面都在虚拟存储器内,则能够使该进程有效地运行,否则会出现频繁的页面调入/调出现象。 IV.在进程运行时,若它的工作集页面都在主存储器内,则能够使该进程有效地运行,否则会出现频繁的页面调入/调出现象。 A.I、II B.I、IV C.II、III D.III、IV 2.在一个请求分页系统中,采用LRU页面置换算法时,加入一个作业的页面走向为: 1,3,2,1,1,3,5,1,3,2,1,5。当分配给该作业的物理块数分别为3和4时,在访问过程中所发生的缺页率为()。 A.25%, 33% B. 25%, 100% C.50%, 33% D.50%,, 75% 3.有一个矩阵为100x 200,即a[100][200]在一个虚拟系统中,采用LRU算法。系统分给该进程5个页面来存储数据(不包含程序),设每页可存放200个整数,该程序要对整个数组初始化,数组存储时是按行存放的。试计算下列两个程序各自的缺页次数(假定所有页都以请求方式调入)(B) 程序一: for(i=0;i<= 99;i++) for(j=0;j<= 199;j++) A[i][j]=i*j 程序二: for(j=0; j<= 199;j++) for(i=0; i<= 99; i++) A[i][j]=i*j A.100, 200 B.100, 20000 C.200,100 D. 20000,100 解:外层改变行,内层改变列 程序一:对于外层循环一次后,内层循环都是在一行内运转的,也就是一页内运转的。 程序二:内循环是在行之间运行的,内层循环一次,程序运行页面需要换一个。 5.假定有一个请求分页存储管理系统,测得系统个相关设备的利用率为CPU为10%,磁盘交换区为99.7%;其他I/O设备为5%。试问:下面(B)措施可能改进CPU的利用率? I. 增大内存的容量 II.增大磁盘交换区的容量 III.减少多道程序的度数 V.使用更速的磁盘交换区 IV.增加多道程序的度数 VI:使用更速的CPU A.I、II、III、IV B.I、III C.II、III、V D.II、VI 解:I正确:增大内存可使每个程序得到更多的页面,能减少缺页率,因而减少换入换出过程,可提高CPU的利用率。 II错误:增大磁盘交换区的容量。因为系统实际已处于频繁的换入换出过程中,不是因为磁盘交换区容量不够,因此增大磁盘交换区的容量无用。 III正确:减少多道程序的度数。可以提高CPU的利用率,因为从给定的条件中磁盘交换区的利用率为99.7%,说明系统现在已经处于频繁的换入换出过程中,可减少主存中的程序。 V错误:使用更速的磁盘交换区。因为系统现在处于频繁的换入换出过程中,即使采用更的磁盘交换区,其换入换出频率也不会改变,因此没用。 IV错误:增加多道程序的度数。系统处于频繁的换入换出过程中,再增加主存中的用户进程数,只能导致系统的换入换出更频繁,使性能更差。 VI错误:使用更速的CPU。系统处于频繁的换入换出过程中,CPU处于空闲状态,利用率不高,提高CPU的速度无济于事。 6.一个页式虚拟存储系统,其并发进程数固定为4个。最近测试了它的CPU利用率和用于页面交换的利用率,假设得到的结果为下列选项,(C)说明系统需要增加进程并发数? I. CPU利用率13%;磁盘利用率97% II. CPU利用率97%;磁盘利用率3% III.CPU利用率13%;磁盘利用率3% A.I B.II C.III D.I、III 解:A.系统在抖动,增加并发进程数反而会恶化系统性能。 B.系统正常,不需要采取什么措施 C.CPU没有充分利用 10.考虑页面替换算法,系统有m个页帧供调度,初始时全空;引用串长度为p,包含了n个不同的页号,无论用什么算法,缺页次数不会少于(C)。 A. m B.p C.n D. min(m, n) 解:缺页次数不会少于页数,因为要调入内存。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值