内存管理习题讲解
《操作系统》第4章教材习题解答

第4章存储管理“练习与思考”解答1.基本概念和术语逻辑地址、物理地址、逻辑地址空间、内存空间、重定位、静态重定位、动态重定位、碎片、碎片紧缩、虚拟存储器、快表、页面抖动用户程序经编译之后的每个目标模块都以0为基地址顺序编址,这种地址称为相对地址或逻辑地址。
内存中各物理存储单元的地址是从统一的基地址开始顺序编址的,这种地址称为绝对地址或物理地址。
由程序中逻辑地址组成的地址范围叫做逻辑地址空间,或简称为地址空间。
由内存中一系列存储单元所限定的地址范围称作内存空间,也称物理空间或绝对空间。
程序和数据装入内存时,需对目标程序中的地址进行修改。
这种把逻辑地址转变为内存物理地址的过程称作重定位。
静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。
动态重定位是在程序执行期间,每次访问内存之前进行重定位。
这种变换是靠硬件地址转换机构实现的。
内存中这种容量太小、无法被利用的小分区称作“碎片”或“零头”。
为解决碎片问题,移动某些已分配区的内容,使所有进程的分区紧挨在一起,而把空闲区留在另一端。
这种技术称为紧缩(或叫拼凑)。
虚拟存储器是用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器与物理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。
为了解决在内存中放置页表带来存取速度下降的矛盾,可以使用专用的、高速小容量的联想存储器,也称作快表。
若采用的置换算法不合适,可能出现这样的现象:刚被换出的页,很快又被访问,为把它调入而换出另一页,之后又访问刚被换出的页,……如此频繁地更换页面,以致系统的大部分时间花费在页面的调度和传输上。
此时,系统好像很忙,但实际效率却很低。
这种现象称为“抖动”。
2.基本原理和技术(1)存储器一般分为哪些层次?各有何特性?存储器一般分为寄存器、高速缓存、内存、磁盘和磁带。
CPU内部寄存器,其速度与CPU一样快,但它的成本高,容量小。
操作系统(内存管理)习题与答案

1、学习了内存管理以后,GDT实际上就是:()A.进程的段表B.进程的页表C.操作系统的页表D.操作系统的段表正确答案:D2、引入多级页表以后,有什么好处?()A.页表总空间变少B.提高了查找页表的时间效率C.需要载入到内存中页表空间变少D.提高了创建进程的速度正确答案:C3、下面哪项工作不是创建进程时要完成的?()A.给进程创建TLB快表B.给进程创建段表C.给进程分配内存空间D.给进程创建页表正确答案:A4、编译和链接的区别是?()A.编译产生物理地址,链接产生逻辑地址B.编译产生一个文件的逻辑地址,链接产生一个段的逻辑地址C.编译产生一个段的逻辑地址,链接产生一个文件的逻辑地址D.编译产生逻辑地址,链接产生物理地址正确答案:C5、在系统初始化是,mem_init初始化了一个数组,这个数组是什么?()A.是一个段表B.是管理分配给进程的内存位图C.是管理所有物理内存的位图D.是一个页表正确答案:C6、操作系统将一个程序分段的目的是()A.创建进程更容易B.节约内存,提高内存空间的利用率C.没有什么特殊原因,是一种习惯D.方便用户编写程序正确答案:D7、操作系统将物理内存分页的原因是()A.没有什么特殊原因,是一种习惯B.节约内存,提高内存空间的利用率C.方便用户编写程序D.创建进程更容易正确答案:B8、在操作系统启动过程中,启动保护模式以后执行jmpi 0, 8指令,要想弄明白这条指令的具体含义,需要理解下面哪部分内容?()A.分段B.分页C.汇编寻址D.内存分区9、用户程序中的地址(如C程序中的指针)被称为是?()A.虚拟地址B.线性地址C.逻辑地址D.物理地址正确答案:C10、在段、页式内存管理中,虚拟地址是什么时候产生的?()A.查完页表以后B.查完段表以后C.查完TLB快表以后D.链接完正确答案:B11、虚拟内存的大小是由什么决定的?()A.地址空间大小B.磁盘大小和地址空间大小共同决定C.磁盘大小D.物理内存大小正确答案:B12、Clock算法为什么被称为是clock算法()A.算法中存在一个定时器B.这是一个人名C.时钟算法要放在时钟中断处理函数中D.算法的执行过程类似于在一个钟表上扫描13、对LRU算法的描述,下面哪句话不对?()A.LRU算法在实际操作系统中很常见B.LRU算法是对页面置换优化算法的一个近似C.实现LRU算法并不困难D.LRU算法基于了程序局部性原理正确答案:A14、引入虚拟内存的目的是什么?()A.给进程提供一个规整的内存空间B.让物理内存增大了C.降低进程的代价D.提高程序执行的时间效率正确答案:A15、一旦启动请求调页以后,下面哪个表会不断的发生变化?()A.操作系统页表B.进程段表C.操作系统段表D.进程页表正确答案:D16、当系统发生颠簸时,系统管理员应该干什么?()A.杀死进程B.扩大交换分区大小C.缩小交换分区大小D.创建进程17、请求调页过程什么时候发生,哪个论述最精确?()A.缺页中断时B.程序载入时C.进程创建时D.完成地址映射时正确答案:A18、虚拟内存和物理内存在大小上的关系是?()A.虚拟内存一定大于物理内存B.虚拟内存一定小于物理内存C.虚拟内存一定等于物理内存D.不一定正确答案:D19、针对系统颠簸曲线,如果增大交换分区的大小,曲线会发生什么变化?()A.颠簸点位置前移B.颠簸点位置后移C.整个曲线不变D.颠簸点位置不变,但整个曲线会变扁正确答案:C20、引入虚拟内存的请求调页以后,进程创建会发生什么变化?()A.不需要为进程分配物理内存了B.不需要为进程创建页目录表了C.不需要为进程创建段表了D.不需要为进程创建页表了。
操作系统(内存管理)习题与答案

一、单选题1、下面关于内存管理的叙述,正确的是()A.存储保护的目的是限制内存的分配B.在内存大小为M、有N个用户的分时系统中,每个用户占用M/N 大小的内存空间C.在虚拟内存系统中,只要磁盘空间无限大,作业就能拥有任意大的编址空间D.实现虚拟内存管理必须要有相应的硬件支持正确答案:D2、在虚拟内存管理中,地址变换机构将会把逻辑地址转变为物理地址,而形成该逻辑地址的阶段是()A.程序装载时B.程序链接时C.程序编译时D.源程序编辑时正确答案:B3、动态分区又称为可变分区,它们是系统运行过程中伴随()而动态形成的。
A.作业的完成B.各道作业的装入或完成C.各道作业的创建D.各道作业的装入正确答案:B4、内存保护需要(),以保证整个内存空间不被非法访问。
A.由操作系统和硬件机构共同协作完成B.由操作系统或者硬件机构独立完成C.由硬件机构独立完成D.由操作系统独立完成正确答案:A5、下面的内存管理方案中,()内存管理方式最适宜采用静态重定位。
A.固定分区B.分页C.分段D.动态重定位分区正确答案:A6、在可变分区内存管理方案中,某一进程完成后,系统回收其主存空间并与相邻空闲分区合并,为此需修改空闲分区表,造成空闲分区数减1的情况是回收分区()。
A.前后均无邻接空闲分区B.前后均有邻接空闲分区C.前有邻接空闲分区但后无邻接空闲分区D.前无邻接空闲分区但后有邻接空闲分区正确答案:B7、动态重定位是在程序的()过程中进行的。
A.链接B.装入C.执行D.编译正确答案:C8、在使用对换技术时,如下最适于将对应进程换出到外存的情况是当该进程正()时。
A.处于临界区B.进行复杂计算C.创建D.进行I/O操作正确答案:D9、在内存管理中,采用覆盖与对换技术的根本目的在于()。
A.实现主存共享B.物理上扩充主存容量C.提高CPU效率D.节省主存空间正确答案:D10、分页系统中的页面是为()所感知的。
A.用户B.编译系统C.链接程序D.操作系统正确答案:D11、在某分页内存管理系统中(页表内容如下所示),若页面大小为4KB,则地址转换机构将逻辑地址0转换成的物理地址为(块号从0开始计算)()。
“操作系统概论”习题解答之存储管理

第3章习题解答 1.解释下列术语 逻辑地址;绝对地址;地址转换 答:逻辑地址:对于⽤户来说,他⽆须知道⾃⼰的作业究竟是在主存的什么位置,他们可以认为⾃⼰的程序和数据就是放在从0地址开始⼀组连续的地址空间中,这个地址空间是程序⽤来访问信息所⽤的⼀系列连续地址单元的集合,该地址空间就是逻辑地址空间。
逻辑地址空间中,地址单元的编号称为逻辑地址。
绝对地址:主存也被按照连续的存储单元进⾏编号,绝对地址空间就是主存中⼀系列连续存储信息的物理单元的集合,也称绝对地址空间为存储地址空间或物理地址空间。
绝对地址空间中物理单元的编号称为绝对地址。
地址转换:由于⼀个作业装⼊到与其逻辑地址空间不⼀致的绝对地址空间,使得逻辑地址与绝对地址不同,⽽引起的对有关地址部分的调整,即逻辑地址转换成绝对地址的过程称为重定位,也称为地址转换。
2.存储保护的⽬的是什么?怎样实现存储保护? 答:存储保护的⽬的就是为了保护主存中各区域内的信息不被破坏,它包括存储的权限,存储不可跨越区域等等。
为实现存储保护,必须由硬件和软件配合实现。
⽐如在页式管理中,要由操作系统提供页表,硬件机构确定页的使⽤必须是安全的,如不能访问不属于⾃⼰的页等。
3.什么叫重定位?重定位的⽅式有哪两种?⽐较它们的不同。
答:由于⼀个作业装⼊到与其逻辑地址空间不⼀致的绝对地址空间,使得逻辑地址与绝对地址不同,⽽引起的对有关地址部分的调整,即逻辑地址转换成绝对地址的过程称为重定位,也称为地址转换。
重定位有静态和动态两种情况。
所谓静态重定位是在装⼊⼀个作业的时候,把作业中的指令地址和数据地址全部⼀次性地转换成绝对地址。
所谓动态重定位是由软件和硬件相配合来实现的。
地址重定位不再是装⼊的时候⼀次完成了,⽽是设置⼀个基址寄存器,装⼊作业的时候,将作业在主存区域的⾸地址放⼊到基址寄存器中。
作业执⾏的时候,由硬件的地址转换机构动态地对地址进⾏转换,执⾏指令的时候,只要将逻辑地址加上基址寄存器的内容,就得到了绝对地址。
第3章 存储管理习题及答案

动态分区示例(之一)
解答
动态分区示例(之二)
解答
动态分区示例(之三)
解答
动态分区示例(之四)
解答
动态分区示例(之五)
题目3:
考虑一个简单分页系统,其 物理存储器大小为232字节, 页大小为210字节,逻辑地址 空间分为216个页。
解答:
b. FIFO替换策略。命中率=17/33,即缺页中断率。
1 0 2 2 1 7 6 7 0 1 2 0 3 0 4 5 1 5 2 4 5 6 7 6 7 2 4 2 7 3 3 2 3 一 1 1 1 1 1 1 6 6 6 6 6 6 6 6 4 4 4 4 4 4 4 6 6 6 6 6 6 6 6 6 6 2 2 二 三 0 0 0 0 0 0 0 0 1 1 1 1 1 1 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 2 2 2 2 2 2 2 2 2 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 4 4 4 4 4 4 4
– 8位指针,共28=256个块号 – 最多可装入256个进程同时 运行。
固定分区示例
题目2:
如果使用动态分区方案,下图所示为在某个给定的时间点的内存配置:
阴影部分为已经被分配的块;空白部分为空闲块。接下来的三个内存需求 分别为: 40MB20MB10MB 分别使用如下几种放置算法,指出给这三个需求分配的块的起始地址。
下列虚拟地址对应于哪个物理地址?
I. II. III. 1052 2221 5499
解答:
虚拟地址物理地址
I.
I. II. III. IV.
1-4章习题讲解、练习题、内存实验(操作系统)

一个状态转换的发生,是否一定导致另一 个转换发生,列出所有的可能。
解答:不一定。可能的情况如下: 1.就绪执行 导致 执行就绪 2.执行阻塞 导致 就绪执行(就绪队列不空) 3.执行就绪 导致 就绪执行(就绪队列不空) 4.阻塞就绪 可能导致 就绪执行 (在抢占方式下,该进程优先级高于当前进程和 就绪队列中的所有进程) 作业问题:认为阻塞就绪一定导致就绪执行。
31.(c)(e)会发生死锁。
34.(a)不是死锁状态,(b)是死锁状 态。
P1
R1 P1
R2
14.在一个请求分页系统中,采用LRU页面置换算法,假如 一个页面的页面走向为4、3、2、1、4、3、5、4、3、2 、1、5,当分配给作业的物理块数为3和4时,试计算在访 问过程中所发生的缺页次数和缺页率,并比较所得结果
选择题
1、在计算机系统中配置操作系统的主要目的是(A),操作系 统的主要功能是管理计算机系统中的(B),其中包括(C)管 理和(D)管理,以及设备管理和文件管理。这里的(C)管理 主要是对进程进行管理。 A:(1)增强计算机系统的功能;(2)提高系统资源的利用 率;(3)提高系统的运行速度;(4)合理地组织系统的工作 流程,以提高系统吞吐量。 B:(1)程序和数据;(2)进程;(3)资源;(4)作业 ;(5)任务。 C、D:(1)存储器;(2)虚拟存储器;(3)运算器; (4)处理机;(5)控制器。
8、对于记录型信号量,在执行一次P操作时,信号量的值应 当 A ;当其值为 B 时,进程应阻塞。在执行V操作时 ,信号量的值应当 C ;当其值为 D 时,应唤醒阻塞队 列中的进程。 A,C:(1)不变; (2)加1; (3)减1; (4)加指定数值; (5)减指定数值。 B,D:(1)大于0; (2)小于0; (3)大于等于 0; (4)小于等于0。
操作系统第4章练习题[指南]
![操作系统第4章练习题[指南]](https://img.taocdn.com/s3/m/0659b3e9710abb68a98271fe910ef12d2af9a920.png)
第4章存储器管理4.1 典型例题解析【例1】某系统采用动态分区分配方式管理内存,内存空间为640K,高端40K用来存放操作系统。
在内存分配时,系统优先使用空闲区低端的空间。
对下列的请求序列:作业1申请130K、作业2申请60K、作业3申请100K、作业2释放60K、作业4申请200K、作业3释放100K、作业1释放130K、作业5申请140K、作业6申请60K、作业7申请50K、作业6释放60K,请分别画图表示出使用首次适应算法和最佳适应算法进行内存分配和回收后内存的实际使用情况。
答:使用首次适应算法和最佳适应算法进行上述内存的分配和回收后,内存的实际使用情况分别如图(a)和(b)所示。
(a)(b)【例2】对一个将页表存放在内存中的分页系统:(1)如访问内存需要0.2μs,有效访问时间为多少?(2)如果加一快表,且假定在快表中找到页表项的机率高达90%,则有效访问时间又是多少(假定查快表需花的时间为0)?答:(1)有效访问时间为:2×0.2=0.4μs(2)有效访问时间为:0.9×0.2+(1—0.9)×2×0.2=0.22 ps。
【例3】某系统采用页式存储管理策略,拥有逻辑空间32页,每页2K,拥有物理空间1M。
(1)写出逻辑地址的格式。
(2)若不考虑访问权限等,进程的页表有多少项?每项至少有多少位?(3)如果物理空间减少一半,页表结构应相应作怎样的改变?答:(1)该系统拥有逻辑空间32页,故逻辑地址中页号必须用5位来描述:而每页为2K,因此,页内地址必须用11位来描述,这样可得到它的逻辑地址格式如下:等,则页表项中只需给出页所对应的物理块块号,1M的物理空间可分成29个内存块,故每个页表项至少有9位(3)如果物理空间减少一半,则页表中页表项数仍不变,但每项的长度可减少1位。
【例4】已知某分页系统,主存容量为64K,页面大小为1K,对一个4页大的作业,其0、l、2、3页分别被分配到主存的2、4、6、7块中。
操作系统(内存管理)习题与答案

操作系统(内存管理)习题与答案一、单选题1、下面关于内存管理的叙述,正确的是()A.存储保护的目的是限制内存的分配B.在内存大小为M、有N个用户的分时系统中,每个用户占用M/N 大小的内存空间C.在虚拟内存系统中,只要磁盘空间无限大,作业就能拥有任意大的编址空间D.实现虚拟内存管理必须要有相应的硬件支持正确答案:D2、在虚拟内存管理中,地址变换机构将会把逻辑地址转变为物理地址,而形成该逻辑地址的阶段是()A.程序装载时B.程序链接时C.程序编译时D.源程序编辑时正确答案:B3、动态分区又称为可变分区,它们是系统运行过程中伴随()而动态形成的。
A.作业的完成B.各道作业的装入或完成C.各道作业的创建D.各道作业的装入正确答案:B4、内存保护需要(),以保证整个内存空间不被非法访问。
A.由操作系统和硬件机构共同协作完成B.由操作系统或者硬件机构独立完成C.由硬件机构独立完成D.由操作系统独立完成正确答案:A5、下面的内存管理方案中,()内存管理方式最适宜采用静态重定位。
A.固定分区B.分页C.分段D.动态重定位分区正确答案:A6、在可变分区内存管理方案中,某一进程完成后,系统回收其主存空间并与相邻空闲分区合并,为此需修改空闲分区表,造成空闲分区数减1的情况是回收分区()。
A.前后均无邻接空闲分区B.前后均有邻接空闲分区C.前有邻接空闲分区但后无邻接空闲分区D.前无邻接空闲分区但后有邻接空闲分区正确答案:B7、动态重定位是在程序的()过程中进行的。
A.链接B.装入C.执行D.编译正确答案:C8、在使用对换技术时,如下最适于将对应进程换出到外存的情况是当该进程正()时。
A.处于临界区B.进行复杂计算C.创建D.进行I/O操作正确答案:D9、在内存管理中,采用覆盖与对换技术的根本目的在于()。
A.实现主存共享B.物理上扩充主存容量C.提高CPU效率D.节省主存空间正确答案:D10、分页系统中的页面是为()所感知的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.1解释内部碎片和外部碎片的区别?
讲解及解答
要搞清楚内部碎片与外部碎片的区别首先要明白分页与分段为了有效的利用内存,使内存产生更少的碎片,要对内存分页,内存以页为单位来使用,最后一页往往装不满,于是形成了内部碎片。
为了共享要分段,在段的换入换出时形成外部碎片,比如5K的段换出后,有一个4k的段进来放到原来5k的地方,于是形成1k的外部碎片。
内部碎片是某一区域或某一页中,未被占据其位置的作业所使用的区域。
直到作业完成,释放页或区域,这个空间才能被系统所利用。
在内存管理中,内部碎片是已经被分配出去的的内存空间大于请求所需的内存空间。
(分了,但没占满)
外部碎片是指还没有分配出去,但是由于太小而无法分配给申请空间的新进程的内存空间空闲块。
(不够大,所以没分)
固定分区存在内部碎片,可变式分区分配会存在外部碎片;
页式虚拟存储系统存在内部碎片;段式虚拟存储系统,存在外部碎片8.3按顺序给出5个部分的内存,分别是
100KB,500KB,200KB,300KB和600KB,用
first-fit,best-fit和worst-fit算法,能够怎样按顺序分配进
程212KB,417KB,112KB,426KB和426KB?哪个算法充分利用了内存空间?
讲解及解答
First-fit:
1. 212K is put in 500K partition (余下288K)
2. 417K is put in 600K partition (余下183K)
3. 112K is put in 288K partition (new partition 288K = 500K − 212K) (余下100K)
4. 426K must wait
Best-fit:
1. 212K is put in 300K partition (剩余88K)
2. 417K is put in 500K partition (剩余83K)
3. 112K is put in 200K partition (剩余88K)
4. 426K is put in 600K partition (剩余174K)
Worst-fit:
1. 212K is put in 600K partition (剩余388K)
2. 417K is put in 500K partition (剩余83K)
3. 112K is put in 388K partition (剩余276K)
4. 426K must wait
Best-fit算法充分利用了内存空间。
8.9考虑一个分页系统在内存中存储着一张页表。
a.如果内存的查询需要200毫秒,那么一个分页内存的查询
需要多长时间?
b.如果我们加上相关联的寄存器,75%的页表查询可以在相关联的寄存器中找到,那么有效的查询时间是多少?(假设如果入口存在的话,在相关的寄存器中找到页表入口不花费时间)
讲解及解答
a.分为两步,需要访问两次内存,第一次查页表,第二次查内容。
400毫秒:200毫秒进入页表,200毫秒进入内存中的字。
b.寄存器中的页表查询不花费时间,进入内存中的字需要访问一次内存,即0毫秒+200毫秒,内存中的页表需要访问两次内存,即400毫秒。
有效查询时间=0.75*200毫秒+0.25*400毫秒=250毫秒
3.In a page virtual storage system, each process has
4 memory allocation memory block.When the process begins executing ,data area is empty. If now it calls the pages in the program with this sequence:
5 , 3 ,
6 , 4 , 3 , 5 , 1 , 4 , 2 , 5 , 6 , 4 , 2 , 5 , 1
Write down the number of page faults when using the following page-replacement algorithms and
draw the Page trend graph.
(1)FIFO page-replacement algorithm
(2)LRU page-replacement algorithm
(3)OPT page-replacement algorithm (1)系统采用先进先出淘汰算法,总共缺页10次
5 3
6 4 3 5 1 4 2 5 6 4 2 5 1
5 3
6 4 4 4 1 1 2 5 6 4 4 4 1
5 3
6 6 6 4 4 1 2 5 6 6 6 4
5 3 3 3
6 6 4 1 2 5 5 5 6
5 5 5 3 3
6 4 1 2 2 2 5
f f f f f f f f f f
(2)系统采用LRU(最少使用)淘汰算法,总共缺页8次
5 3
6 4 3 5 1 4 2 5 6 4 2 5 1
5 3
6 4 3 5 1 4 2 5 6 4 2 5 1
5 3
6 4 3 5 1 4 2 5 6 4 2 5
5 3
6 4 3 5 1 4 2 5 6 4 2
5 5
6 4 3 5 1 4 2 5 6 4
f f f f f f f f
(3)系统采用OPT淘汰算法,总共缺页7次
5 3
6 4 3 5 1 4 2 5 6 4 2 5 1
5 3
6 4 4 4 4 4 4 4 4 4 4 4 4
5 3
6 6 6 6 6 6 6 6 6 6 6 1
5 3 3 3 1 1 2 2 2 2 2 2 2
5 5 5 5 5 5 5 5 5 5 5 5
f f f f f f f。