1、第四章 存储管理习题一、选择题、存储分配解决多道作业()的划分问题。为了解决静态和动态存储分配,需采用地址重定位,即把()变换成() ,静态重定位由()实现,动态重定位由()实现。: 地址空间 符号名空间 主存空间 虚拟空间、: 页面地址 段地址 逻辑地址 物理地址 外存地址 设备地址: 硬件地址变换机构 执行程序 汇编程序 连接装入程序 调试程序 编译程序 解释程序、提高主存利用率主要是通过()功能实现的。 ()的基本任务是为每道程序做() ;使每道程序能在不受干扰的环境下运行,主要是通过()功能实现的。、: 主存分配 主存保护 地址映射 主存扩充: 逻辑地址到物理地址的变换; 内存与外存间
2、的交换; 允许用户程序的地址空间大于内存空间; 分配内存、由固定分区方式发展为分页存储管理方式的主要推动力是() ;由分页系统发展为分段系统,进而以发展为段页式系统的主要动力分别是() 。B : 提高主存的利用率; 提高系统的吞吐量; 满足用户需要; 更好地满足多道程序运行的需要; 既满足用户要求,又提高主存利用率。、静态重定位是在作业的()中进行的,动态重定位是在作业的()中进行的。、: 编译过程; 装入过程; 修改过程; 执行过程、对外存对换区的管理应以()为主要目标,对外存文件区的管理应以()为主要目标。、: 提高系统吞吐量; 提高存储空间的利用率; 降低存储费用; 提高换入换出速度。、
3、从下列关于虚拟存储器的论述中,选出一条正确的论述。 要求作业运行前,必须全部装入内存,且在运行中必须常驻内存; 要求作业运行前,不必全部装入内存,且在运行中不必常驻内存; 要求作业运行前,不必全部装入内存,但在运行中必须常驻内存; 要求作业运行前,必须全部装入内存,且在运行中不必常驻内存;、在请求分页系统中有着多种置换算法: 选择最先进入内存的页面予以淘汰的算法称为() ; 选择在以后不再使用的页面予以淘汰的算法称为() ; 选择自上次访问以来所经历时间最长的页面予淘汰的算法称为() ;: FIFO 算法; OPT 算法; LRU 算法; NRN 算法; LFU 算法。、静态链接是在()到某段
4、程序时进行的,动态链接是在()到某段程序时进行的。、: 编译; 装入; 调用; 紧凑。、一个计算机系统的虚拟存储器的最大容量是由()确定的,其实际容量是由()确定的。、: 计算机字长; 内存容量; 硬盘容量; 内存和硬盘容量之和; 计算机的地址结构。、以动态分区式内存管理中,倾向于优先使用低址部分空闲区的算法是() ;能使内存空间中空闲区分布较均匀的算法是() ;每次分配时把既能满足要求,又是最小的空闲区分配给进程的算法是() 。: 最佳适应法; 最坏适应法; 首次适应法; 循环适应法。、某虚拟存储器的用户编程空间共个页面,每页,主存为。假定某时刻该用户页表中已调入主存的页面的虚页号和物理页号
5、对照表如下:虚页号物理页号则下面与虚地址相对应的物理地址为(若主存中找不到,即为页失效)虚地址 物理地址0A5C(H) ()1A5C(H) ()这里, ()表示十六进制。虚拟存储器的功能由()完成。、: 页失效; 1E5C(H) ; 2A5C(H) ; 165C(H) ; 125C(H) ; 1A5C(H ) 。: 硬件; 软件; 软硬件结合。二、填空题、使每道程序能在内存中“各得其所”是通过内存分配功能实现的;保证每道程序在不受干扰的环境下运行,是通过内存保护功能实现的;为缓和内存紧张的情况而将内存中暂时不能运行的进程调至外存,这是通过对换功能实现的;能让较大的用户程序在较小的内存空间中运行
6、,是通过内存扩充功能实现的。、在连续分配方式中可通过紧凑来减少内存零头,但此时必须将有关程序和数据进行重定位;而动态重定位是一种允许作业在运行中、在内存中进行移动的技术。、分段保护中的越界检查是通过段表寄存器中存放的段表长度和段表中的段长实现。、在分页系统中若页面较小,虽有利于提高内存利用率,但会引起页表太长;而页面较大,虽有利于页表长度,但会引起页内碎片增大。、在分页系统中的地址结构可分为页号和页内偏移量两部分;在分段系统中的地址结构可分为段号和段内偏移量两部分。、在分页系统中,必须设置页表,其主要作用是实现页号到物理块号的映射。、在分页系统中进行地址变换时,应将页表寄存器中的页表起始地址和
7、页号进行相加,得到该页的页表项位置,从中可得到物理块号。、在两级页表结构中,第一级是页表目录,其中每一项用于存放相应的页表首址。、在分页系统中为实现地址变换而设置了页表寄存器,其中存放了页表起始地址和页表长度。、在页表中最基本的数据项是物理块号;在段表中最基本的数据项是段的内存起始地址和段长。、在作业装入时进行的链接称为静态链接;在作业运行中调用时进行的链接称为动态链接。、为实现存储器的虚拟,除了需要有一定容量的内存和相当容量的外存外,还需有地址变换机构和缺页中断机构的硬件支持。、在请求分页系统中的调页策略有预调页策略,它是以预测为基础;另一种是请求调页策略,由于较易实现,故目前用得较多。三、
8、问答题1、 存储管理的 主要功能是什么?2、 解释下列与存储管理有关的名词:地址空间与存储空间;逻辑地址与物理地址;虚地址与实地址;地址再定位;虚拟存储器。3、什么是请求页式管理?能满足用户那些需要?4、 请求页式管理中有哪几种常用的页面淘汰算法?试比较它们的优缺点。5、什么是虚拟存储器,其特点是什么?为什么从逻辑上说采用虚拟存储器能扩大内存存储空间? 6、简述什么是内存的覆盖和交换技术?两者有什么区别? 7、你认为内存管理和外存管理有哪些异同点? 8、 用哪些方式将程序装入内存?它们分别适用于什么场合? 9、 在进行程序链接时,应完成哪些工作?11、 为什么要引入动态重定位?如何实现?12、
9、 分页式和分段式内存管理有什么区别?怎样才能实现共享和保护?13、 在系统中引入对换后带有哪些好处 ?14、 对于如下的页面访问序列: 1 , 2 , 3 , 4 , 1 , 2 , 5 , 1 , 2 , 3 , 4 , 5 当内存块数量分别为 3 和 4 时,试问:使用 FIFO 、 LRU 置换算法产生的缺页中断是多少?(所有内存开始时都是空的,凡第一次用到的页面都产生一次缺页中断) 15、 某虚拟存储器的用户编程空间共 321KB,内存为 16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下: 页号 物理块号 1 5 2 10 3 4 4 7 则逻辑地址 0A5
10、C(H)所对应的物理地址是什么? 16、 某段表内容如下: 段号 段首地址 段长度 0 120K 40K 1 760K 30K 2 480K 20K 3 370K 20K 一逻辑地址为(2,154)的实际物理地址为多少? 答 案 一、选择题、 : : : : :、 : : :、 : :、 : :、 : : :、 : : :、 : : : :、 : :、 、: : : :、: :、: : :、: : :、: :、: :、 、: : :、: : :、: : : 二、填空题、内存分配、内存保护、对换、内存扩充。、地址递增、空闲区大小递增。、紧凑、重定位、动态重定位。、段表寄存器、段表长度、段长。、阻
11、塞、优先级最低、就绪且换出、在外存中驻留最久。、进程、页面、分段。、提高内存利用率、页表太长、页表长度、页内碎片增大。、页号、页内偏移量、段号、段内偏移量。、页号、物理块号。、页表始址、页号、物理块号。、页表目录、页表首址。、页表始址、页表长度。、物理块号、段的内存始址、段长。、物理、系统管理、逻辑、用户。、装入、调用、多次性、对换性、请求调页(段)和页(段)置换。、地址变换机构、缺页中断机构。、预调页策略、请求调页策略。问答题1. 答: 、内存区域的分配和管理:通过建表、查表、改表和回收登录内存使用情况,系统或用户申请内存时按选定的分配算法确定分区等,保证分配和回收; 、内存的扩充技术:使用
12、虚拟存储或自动覆盖技术提供比实际内存更大的空间; 、内存的保护技术:各道作业、任务或进程在自己所属区域中运行,不破坏别的作业或不被“别人”破坏,更不要破坏整个系统工作。 2、 、目标程序所在的空间称为地址空间,即程序员用来访问信息所用的一系列地址单元的集合。由内存中一系列存储单元所限定的地址范围称为内存空间或存储空间。 、:用户程序经编译之后的每个目标模块都是以 0 为基地址顺序编址,这种地址叫相对地址或逻辑地址。内存中各物理存储单元的地址是从统一的基地址顺序编址,它是数据在内存中的实际存储地址,这种地址叫绝对地址或物理地址。 、:虚地址即用户程序地址,实地址即内存中实际存储地址。 、重定位是
13、把逻辑地址转变为内存的物理地址的过程。根据重定位时机的不同,又分为静态重定位(装入内存时重定位)和动态重定位(程序执行时重定位) 。 、虚拟存储器是一种存储管理技术,用以完成用小的内存实现在大的虚空间中程序的运行工作。它是由操作系统提供的一个假想的特大存储器。但是虚拟存储器的容量并不是无限的,它由计算机的地址结构长度所确定,另外虚存容量的扩大是以牺牲 CPU 工作时间以及内、外存交换时间为代价的。 3.答:把内存和用户逻辑地址空间都分成同样大小的块分别称为实页和虚页,利用页表建立起虚页和实页的联系,通过地址变换将虚页的逻辑地址转换成实页的物理地址。页式系统的逻辑地址分为页号和页内位移量。页表包
14、括页号和块号数据项,它们一一对应。根据逻辑空间的页号,查找页表对应项找到对应的块号,块号乘以块长,加上位移量就形成存储空间的物理地址。每个作业的逻辑地址空间是连续的,重定位到内存空间后就不一定连续了。 此外,页表中还包括特征位(指示该页面是否在内存中) 、外存地址、修改位(该页的内容在内存中是否修改过)等。 页式存储管理在动态地址转换过程中需要确定某一页是否已经调入主存。若调入主存,则可直接将虚地址转换为实地址,如果该页未调入主存,则产生缺页中断,以装入所需的页。 能满足用户扩大内存的需求,动态页式管理提供了内存与外存统一管理的虚存实现方式;内存利用率高;不要求作业连续存放,有效解决“碎片问题
15、” 。4. 答:有 4 种常用的页面淘汰算法: 、先进先出法(FIFO):先进入内存的页先被换出内存。它设计简单,实现容易,但遇到常用的页效率低。 、最近最少使用页面先淘汰(LRU):离当前时间最近一段时间内最久没有使用过的页面先淘汰。这种算法其实是照顾循环多的程序,其它则不能提高效率,且实现时不太容易。 、最近没有使用页面先淘汰(NUR):是 LRU 的一种简化算法, “0”“1”分别表示某页没被访问或被访问。它较易于实现,开销也较少。 、最优淘汰算法(OPT):系统预测作业今后要访问的页面,淘汰页是将来不被访问的页面或者在最长时间后才被访问的页面。它保证有最少的缺页率,但它实现困难,只能通
16、过理论分析用来衡量其它算法的优劣。 5. 答:虚拟存储器是由操作系统提供的一个假想的特大存储器,是操作系统采用内外存的交换技术逻辑上提供对物理内存的扩充。采用虚拟存储器技术时,操作系统根据程序执行的情况,随机对每个程序进行换入、换出,用户却没有察觉,得到了一个比真实内存空间大得多的地址空间。所以从逻辑上说采用虚拟存储器能扩大内存存储空间。 6. 答:在多道系统中,对换是指系统把内存中暂时不能运行的某部分作业写入外存交换区,腾出空间,把外存交换区中具备运行条件的指定作业调入内存。对换是以时间来换取空间,减少对换的信息量和时间是设计时要考虑的问题 。 由于 CPU 在某一时刻只能执行一条指令,所以
17、一个作业不需要一开始就全装入内存,于是将作业的常驻部分装入内存,而让那些不会同时执行的部分共享同一块内存区,后调入共享区的内容覆盖前面调入的内容,这就是内存的覆盖技术。 两者的区别主要有:交换技术由操作系统自动完成,不需要用户参与,而覆盖技术需要专业的程序员给出作业各部分之间的覆盖结构,并清楚系统的存储结构;交换技术主要在不同作业之间进行,而覆盖技术主要在同一个作业内进行;另外覆盖技术主要在早期的操作系统中采用,而交换技术在现代操作系统中仍具有较强的生命力。 7. 答:相同点:它们都要提供给用户方便的方法来进行分配和管理存储空间,都有自己的分配算法。它们都要考虑保护问题,使作业或文件不被破坏。
18、 不同点:内存管理还要使用扩充技术以增大虚拟空间。外存管理提供给用户键盘命令及系统调用的控制操作。 8. 答:区式:为支持多道程序运行而设计的一种最简单的存储管理方式。早期操作系统的存储管理中使用较普遍。 页式:利用划分大小相等的虚页和实页存储。它允许程序的存储空间是不连续的,提高了内存的利用率。 段式:拥护程序被划分成有逻辑意义的段。它便于段的共享及新数据的增长。 9. 答:应进行各逻辑段的合并及地址重定位,及将逻辑地址转变为物理地址。 10最近最久未使用算法 LRU: 选择内存中最久未使用的页面被置换。这是局部性原理的合理近似,性能接近最佳算法。该算法必须对每个页面都设置有关的访问记录项,
19、而且每次访问都必须更新这些记录。最不经常使用算法 LFU :选择到当前时间为止被访问次数最少的页面被置换。这只要在页表中给每一页增设一个访问计数器即可实现,当该页被访问时,计数器加 1 ,当发生一次缺页中断时,则淘汰计数值最小的那一页,并将所有的计数器清零。 最近没有使用页面置换算法 NUR :从那些最近一个时期内未被访问的页中任选一页淘汰。在页表中增设一个访问位来实现,当某页被访问时,访问位置 1 ,否则置 0 。系统周期性地对引用位清零。当需淘汰一页时,从那些访问位为零的页中任选一页淘汰。 11、 答:静态重定位是在链接装入时一次集中完成的地址转换,但它要求连续的一片区域,且重定位后不能移
20、动,不利于内存空间的有效使用。所以要引入动态重定位,它是靠硬件地址变换部分实现的。通常采用重定位寄存器等实现。 12. 答:分页式是将线性地址空间直接分成大小相同的页进行存储,段式则是根据用户有逻辑意义的程序模块划分地址空间。页的共享是使相关进程的逻辑空间中的页指向相同的内存块,若页中既有共享的部分又有不共享的部分则不好实现。页面保护必须设置存储保护键指明对其内容的存取权限。实现页(段)的共享是指某些作业的逻辑页号(段号)对应同一物理页号(内存中该段的起始地址) 。页(段)的保护往往需要对共享的页面(段)加上某种访问权限的限制,如不能修改等;或设置地址越界检查,对于页内地址(段内地址)大于页长
21、(段长)的存取,产生保护中断。因为页的划分没有逻辑意义,故共享和保护不便实现。段的共享一般是硬件实现,要比页 的共享容易的多。段的保护可由存储保护键和界限寄存器实现。 13、 能将内存中暂时不运行的进程或暂时不用的程序和数据,换到外存上,以腾出足够的内存空间,把已具备运行条件的进程或进程所需的程序和数据换入内存,从而大大地提高了内存的利用率. 14FIFO 淘汰算法: 内存块为 3 时,缺页中断(或称缺页次数、页面故障)为 9 ;内存块为 4 时,缺页中断为 10 。 (这似乎是一个奇怪的现象,同时也告诉我们,操作系统是一个复杂的机构,直观是靠不住的!) LRU 淘汰算法: 内存块为 3 时,
22、缺页中断为 10 ;内存块为 4 时,缺页中断为 8 。 15答:逻辑地址 0A5CH)所对应的二进制表示形式是:0000 10 10 0101 1100 ,由于 1K=2 10 ,下划线部分前的编码为 000010,表示该逻辑地址对应的页号为 3 查页表,得到物理块号是 4(十进制) ,即物理块地址为:0001 00 10 0000 0000 ,拼接块内地址 0000 00 00 0101 1100 ,得 0001 00 10 0101 1100 ,即 125C(H) 。 16答:逻辑地址( 2154)表示段号为 2,即段首地址为 480K,154 为单元号,则实际物理地址为 480K+154。