第六周虚拟存储器

在线阅读PDF文档

第1讲  分页存储管理的基本概念

早期虚拟存储器的概念(7m05s)

分页的基本概念(7m31s)

第2讲  虚拟存储器及虚拟地址空间

虚拟存储器的基本概念(5m46s)

虚拟地址空间(2m57s)

按需调页是由Page fault异常实现的

第3讲  分页存储管理的实现

实现虚拟存储管理需考虑的问题(6m06s)

页表的结构(9m03s)

地址转换过程(5m20s)

缺页由OS处理

快表(TLB)(8m13s)

3次:取指令、取操作数、写结果

第4讲  存储器层次结构及其访问过程

存储器访问过程(8m41s)

存储器层次结构举例(14m56s)(难点)

一个一个检查这些随手写的数据发现0A 34 1确实不在主存中,这里有错。

第5讲  段式和段页式虚拟存储管理(8m45s)

第6讲 存储保护(6m46s)

第六周小测验

错题序号:1、7、8、10

1以下有关早期分页存储管理(自动执行Overlay)方式的叙述中,错误的是( B )。

A.分页方式主要解决程序文件比主存空间大的问题

B.程序员编写程序时应将逻辑地址转换为主存物理地址

C.程序员编写程序所用的地址空间称为逻辑地址空间

D.分页方式可以使程序员编写程序时无需考虑主存容量

解析: B、早期的分页存储管理方式主要解决“程序很大而存放程序的主存很小”的问题。程序员在一个逻辑地址空间中编写程序,不用管主存有多大;运行程序时,由专门的分页管理程序,将程序中的逻辑地址转换为主存的物理地址,并实现程序块在主存的换入和换出操作。因此,地址转换的工作由管理程序自动完成,而不是由编写程序的程序员完成。

2以下有关分页虚拟存储管理方式的叙述中,错误的是( D )。

A.每条指令执行过程中,都需要把指令或数据的虚拟地址转换为物理地址

B.主存地址空间称为物理(实)地址空间,被划分成大小相等的页框

C.每个进程所占的地址空间称为虚拟地址空间,被划分成若干页面

D.程序执行时,必须把程序所包含的所有代码和数据都装入主存中

解析: D、分页虚拟存储管理方式下,每个进程都有一个统一的虚拟地址空间,被划分成大小相等的页面,主存空间被划分成大小相等的页框,程序执行时,主要把正在执行的页面装入主存的页框中,其他还没有执行到的页面可以存放在磁盘中,这样,可以在较小的主存中运行大程序。因此,无需把所有代码和数据都装入主存才能运行程序。

3以下是有关现代虚拟存储管理机制中地址转换的叙述,其中错误的是( A )。

A.整个过程主要由操作系统实现

B.缺页时将转相应异常处理程序执行

C.地址转换过程中要访问页表项

D.地址转换过程中能发现是否缺页

解析: A、虚拟存储管理机制中,地址转换是在指令执行过程中进行的,指令的执行由硬件实现,因而地址转换也由硬件完成,而不是由操作系统软件完成。操作系统生成并修改页表,而由硬件在地址转换过程中查询页表来进行地址转换,并检测是否发生缺页,在发生缺页时,硬件会发出“Page Fault”异常,从而调出相应的异常处理程序进行缺页处理。

4下列命中组合情况中,一次访存过程中不可能发生的是(C )。

A.TLB未命中、cache命中、Page命中

B.TLB命中、cache未命中、Page命中

C.TLB未命中、cache命中、Page未命中

D.TLB未命中、cache未命中、Page命中

解析: C、Page未命中,说明相应信息不在主存,cache中信息是主存信息的副本,因而相应信息肯定不在cache,也就不会cache命中。

5以下是有关虚拟存储管理机制中页表的叙述,其中错误的是( A )。

A.一个页表中的表项可以被所有进程访问

B.每个页表项中都包含装入位(有效位)

C.页表中每个表项与一个虚页对应

D.系统中每个进程有一个页表

解析: A、页表中的每个表项反映的是对应虚拟页面的位置和使用等信息,只能由操作系统和硬件进行访问,不能被任何用户进程访问。

6以下是有关缺页处理的叙述,其中错误的是( A )。

A.缺页是一种外部中断,需要调用操作系统提供的中断服务程序来处理

B.缺页处理过程中需根据页表中给出的磁盘地址去读磁盘数据

C.若对应页表项中的有效位(或存在位)为0,则发生缺页

D.缺页处理完后要重新执行发生缺页的指令

解析: A、外部中断是指CPU以外的中断请求事件,而缺页是由CPU在执行指令过程中进行地址转换时发现的在CPU内部操作时检测到的异常事件,相应的处理工作由操作系统提供的缺页异常处理程序来完成。

7以下是有关分页式存储管理的叙述,其中错误的是( D )。

A.当从磁盘装入的信息不足一页时会产生页内碎片

B.采用全相联映射,每个页可以映射到任何一个空闲的页框中

C.采用回写(Write Back)写策略,每页对应一个修改位(Dirty Bit)

D.相对于段式存储管理,分页式更利于存储保护

解析: D、因为分页方式将地址空间划分成大小相等的页面,因而可能有些页面中的有效信息一部分是代码一部分是数据,或者有效信息不足一页,前者不利于存储保护,后者容易造成页内碎片。而分段方式按代码和数据的不同类信息分段管理,显然易于存储保护。分页方式采用全相联映射方式和Write Back写策略,只要主存中有空闲页框就可以存放任何一个页面,在每次写主存时,都不会同时写磁盘,只有当某一页从主存中替换到磁盘时才可能写磁盘。

8以下有关快表(TLB)的叙述中,错误的是( C )。

A.引入快表的目的是为了加快地址转换速度

B.快表中存放的是当前进程的常用页表项

C.在快表中命中时,在L1 cache中一定命中

D.快表是一种高速缓存,一定在CPU中

解析: C、在快表中命中,是指当前正在进行地址转换的存储单元所在页面对应的页表项在TLB中,因此,可以直接从TLB中取到物理页框号,而立即生成对应的物理地址。不过,这个物理地址所在的主存块不一定在L1 cache中。

9以下是有关段式存储管理的叙述,其中错误的是( C )。

A.每个段表项中必须记录对应段在主存的起始位置和段的长度

B.按程序中实际的段来分配主存,所以分配后的存储块是可变长的

C.段表项中无需有效位(或存在位),因为每个段都在主存中

D.段是逻辑结构上相对独立的程序和数据模块,因此段是可变长的

正确答案:C你选对了

段表项也需要有效位

10以下给出的事件中, 无需通过异常处理程序进行处理的是( C )。

A.缺页故障

B.段不存在

C.cache缺失

D.地址越界

解析: C、cache缺失由硬件处理,无需调出操作系统中的异常处理程序来处理。