第7章虚拟存储器管理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第7章虚拟存储器管理

一、选择

1.虚拟存储器的最大容量是由决定的。

A.内、外存容量之和B.计算机系统的地址结构

C.作业的相对地址空间D.作业的绝对地址空间2.采用先进先出页面淘汰算法的系统中,一进程在内存占3块(开始为空),页面访问序列为1、2、3、4、1、2、5、1、2、3、4、5、6。运行时会产生次缺页中断。

1 2 3 4 1 2 5 1 2 3 4 5 6

1 2 3 4 1 2 5 3 4 6

1 2 3 4 1 2 5 3 4

1 2 3 4 1 2 5 3

1 2 3 4 5 6 7 8 9 10

1 2 3 4 1 2 5

A.7 B.8 C.9 D.10 3.实现虚拟存储器的目的是。

A.进行存储保护B.允许程序浮动

C.允许程序移动D.扩充主存容量

4.作业在执行中发生了缺页中断,那么经中断处理后,应返回执行指令。

A.被中断的前一条B.被中断的那条

C.被中断的后一条D.程序第一条

5.在实行分页式存储管理系统中,分页是由完成的。

A.程序员B.用户C.操作员D.系统6.下面的页面淘汰算法有时会产生异常现象。

A.先进先出B.最近最少使用C.最不经常使用D.最佳7.在下面所列的诸因素中,不对缺页中断次数产生影响的是。

A.内存分块的尺寸B.程序编制的质量

C.作业等待的时间D.分配给作业的内存块数

二、问答

1.一个虚拟地址结构用24个二进制位表示。其中12个二进制位表示页面尺寸。试问这种虚拟地址空间总共多少页?每页的尺寸是多少?

解:24-12=12,有212个页。每页有212个字节。

2.什么叫虚拟存储器?怎样确定虚拟存储器的容量?

3.为什么请求分页式存储管理能够向用户提供虚拟存储器?

4.试述缺页中断与一般中断的区别。

三、计算

1.系统内存被划分成8块,每块4KB。某作业的虚拟地址空间共划分成16个页面。当前在内存的页与内存块的对应关系如下表所示,未列出的页表示不在内存。

页号块号页号块号

0 2 4 4

1 1 5 3

2 6 9 5

3 0 11 7

试指出对应于下列虚拟地址的绝对地址:

(a)20-》2*4096+20 (b)4100-》4100 (c)33300-》访问第8页,缺页中断2.某请求分页式存储管理系统,接收一个共7页的作业。作业运行时的页面走向如下:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 若采用最近最久未用(LRU)页面淘汰算法,作业在得到2块和4块内存空间时,各会产生出多少次缺页中断?如果采用先进先出(FIFO)页面淘汰算法时,结果又如何?

解:2块内存块:LRU有18次缺页。FIFO有18次缺页。

4块内存块:LRU有10次缺页。FIFO有14次缺页。

3. 在分页虚拟存储器管理中,如果已知时间利用率为:CPU20%、分页磁盘92%、外设50%,请问采取哪些措施可以改善CPU的利用率?解:改善办法是增加分页磁盘容量。

4. 一个32位地址的计算机系统使用二级页表,虚拟地址为9位顶级页表,11位二级页表和偏移。请问:页面长度为多少?虚拟地址空间有多少个页面?

解:32-9-11=12,即页面长度为212字节。虚拟地址空间有220。

6. 在一个请求分页的虚拟存储器管理中,一个程序的运行页面走向为:

1、2、3、4、2、3、5、6、3、1、4、6、7、5、2、4、1、3、2

如果为程序分配页框为3个、4个,请分别用FIFO、OPT和LRU算法求出缺页中断次数和缺页率。

解:3块:FIFO=14次,OPT=8次,LRU=13次

4块:FIFO=7次,OPT=5次,LRU=10次

四、软考、考研真题

1、(8分)请求分页管理系统中,假设某进程的页表内容如下表所示。页面大小为4KB,一次内存的访问时间是100ns,一次快表(TLB)的访问时间是10ns,处理一次缺页的平均时间为108ns(已含更新TLB和页表的时间),进程的驻留集大小固定为2,采用最近最少使用置换算法(LRU)和局部淘汰策略。假设:

(1)TLB初始为空;

(2)地址转换时先访问TLB,若TLB未命中,再访问页表(忽略访问页表之后的TLB更新时间);

(3)有效位为0表示页面不在内存,产生缺页中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。设有虚地址访问序列:2362H、1565H、25A5H,请问:

(1)依次访问上述三个地址,各需多少时间?给出计算过程。

解:2362H,页号为2。因为TLB初始为空,则未命中。要访问内存页表,得到块号。所以总时间是:10+100+100=210纳秒。

1565H,页号为1。地址转换:10+100+108+100=318纳秒,

25A5H,页号为2.地址转换:10+100=110纳秒。

(2)基于上述访问序列,虚地址1565H的物理地址是多少?请说明理由。

因为采用LRU,所以淘汰第0页,物理地址是:101565H。

页号页框号有效位(存在位)

0 101H 1

1 -- 0

2 154H 1

2、某计算机采用二级页表的分页存储管理方式,按字节编制,页大小为2(10)【2的10次方,下同】字节,页表项大小为2字节,逻辑地址结构为:页目录号、页号、页内偏移量,逻辑地址空间大小为2(16)页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是()。【2010】

解:形成二级页表,每个内存块中存放210/21=29个页表项。共有216个页,所以,页目录表总表项数为:216/29=27=128个。

A.64

B.128

C.256

D.512

3、设某计算机的逻辑地址空间和物理地址空间均为64KB,按字节编址。某进程最多需要6页数据存储空间,页的大小为1KB,操作系统采用固定分配局部置换策略为此进程分配4个页框。【2010】

页号页框号装入时间访问位

0 7 130 1

1 4 230 1

2 2 200 1-》0

3 9 160 1

当该进程执行到时刻260时,要访问逻辑地址为17CAH的数据。请回答下列问题。

(1)该逻辑地址对应的页号是多少? 0001 0111 1100 1010页号为5

(2)若采用先进先出(FIFO)置换算法,该逻辑地址对应的物理地址?要求给出计算过程。解:按先进先出淘汰算法,应该淘汰第0页,则第5页装入第7块里。物理地址:0001 1111 1100 1010,1FCAH

(3)采用时钟(Clock)置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。(设搜索下一页的指针按顺时针方向移动,且指向当前2号页框,示意图如下)解:时钟置换算法,用指针指向要淘汰的块,如果该页的访问位为0,则将其淘汰,否则将1改成0,指向下一页考察。

按实际情况发现,第一轮考察后,所有页的访问位都改成了0。第二轮淘汰第2页。所以物理地址:0000 1011 1100 1010,0BCAH

相关文档
最新文档