《操作系统-第4章辅导与自测.doc》由会员分享,可在线阅读,更多相关《操作系统-第4章辅导与自测.doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 存储管理 辅导与自测4、1 本章知识点存储器就是计算机系统中得关键资源,对内存如何处理在很大程度上将影响整个系统得性能。存储管理即对内存得管理,存储管理目前仍就是人们研究操作系统得中心问题之一,以至操作系统得命名也往往取决于存储管理得策略。本章得主要知识点为:(1)本章得重要概念本章涉及到得概念比较多,主要有:内存、外存、逻辑地址/相对地址、物理地址/绝对地址、逻辑地址空间/地址空间、内存空间/物理空间/绝对空间、重定位、静态重定位、动态重定位、对换技术、碎片、紧缩、虚拟存储器、页面抖动。存储器作为计算机系统中最主要得组成部分,按照速度、容量与成本划分一个层次结构,分别就是寄存器、高速
2、缓存、内存、磁盘与磁带。用户程序必须装入到内存才能运行。进程得地址空间不同于内存得物理空间。经过重定位可以把逻辑地址转变为内存得物理地址。重定位分为静态与动态两种方式,现在得计算机系统中都采用动态重定位方法。对换技术可以利用外存来解决内存不足得问题。现在Linx系统中还采用这种技术。(2)分区管理技术分区分配就是为支持多道程序运行而设计得一种最简单得存储管理方式,可分为固定分区法与动态分区法。固定分区就就是内存中分区得个数固定不变,各个分区得大小也固定不变,但不同分区得大小可以不同。每个分区只可装入一个进程。动态分区就是在进程要进入内存时才建立得,使其大小恰好适应进程得大小。动态分区法常用得分
3、配策略有两种:最先适应算法(Frst-ft)与最佳适应算法(Bst-i),前者空闲表按位置排列,后者空闲表以空闲分区得大小为序。具有固定大小分配单元得系统,如MF(具有固定任务数得多道程序设计)或分页系统,会产生内部碎片;而具有可变大小分配单元得系统,如V(具有可变任务数得多道程序设计),会出现外部碎片。为了有效解决碎片问题,实现得方法就是移动某些已分配区得内容,使所有进程得分区紧挨在一起,而把空闲区留在另一端。这种技术称为紧缩。采用紧缩技术得分区方法称为可重定位分区法。动态重定位由硬件实现,包括基址寄存器与限长寄存器,对CPU生成得所有地址进行合法性检查,并映像到物理地址。(3)分页技术除了
4、用紧缩技术解决碎片问题,还可以使用分页技术,即允许程序得存储空间不一定连续,可以把一个进程分散地放在各个空闲得内存块中。分页存储管理得基本方法就是:逻辑空间分页,内存空间分块,块与页得大小相等。页连续而块离散,用页号查页表,由硬件作转换。分页存储管理可以实现页面得共享,但就是这样做并不实际,因为逻辑上相对完整得内容不见得存在于一个或几个完整得页面中(段式存储管理更便于共享)。此外,还可以在页表中设置存取控制字段,进行页面保护,禁止非法访问。(4)虚拟存储管理虚拟存储器就是用户能作为可编址内存对待得虚拟存储空间,它使用户逻辑存储器与物理存储器分离,就是操作系统给用户提供得一个比真实内存空间大得多
5、得地址空间。虚拟存储技术允许把大得逻辑地址空间映射到较小得物理内存上,这样就提高了多道程序并发执行得程度,增加了C得利用率。虚拟存储器得特性包括:虚拟扩充、部分装入、离散分配与多次对换等。使用虚拟存储技术得页式管理为请求分页式存储管理。它就是根据实际程序执行得顺序,动态申请存储块。并不就是把所有页面都放入内存。对一个程序得第一次访问将产生缺页中断,转入操作系统进行相应处理。操作系统依据页表确定页面在外存上得位置,然后找一个空闲块,把该页面从外存上读到内存块中。同时,修改页表有关项目,以反映这种变化,产生缺页中断得那条指令被重新启动执行。这种方式允许一个程序即使它得整个存储映像并没有同时在内存中
6、,也能正确运行。只要缺页率足够低,其性能还就是很好得。请求分页可用来减少分配给一个进程得块数,这就允许更多进程同时执行,而且允许程序所需内存量超出可用内存总量。(5)常用页面置换算法当总内存得需求量超出实际内存量时,为释放内存块给新得页面,需要进行页面置换。有各种页面置换算法可供使用。先进先出法(IFO)就是最容易实现得,但性能不就是很好。最佳置换法()需要未来知识,仅有理论价值。最近最少使用置换法(LR)就是OPT得近似算法,但实现时要有硬件得支持与软件开销。最近未使用置换法(NUR)就是LRU得近似算法。置换算法得好坏直接影响系统得性能。好得页面置换算法能够适当降低页面更换频率(减少缺页率
7、),尽量避免系统“抖动”。(6)Lnux系统得存储管理技术inux采用对换与请求分页存储管理技术,页面置换采用LRU算法。对换任务就是由内核得对换守护进程swapd完成,以保证系统中有足够得空闲内存页。Lnx系统采用三级页表得方式,以节省内存资源。采用位图与链表两种方法来管理内存页。4、2 典型例题解析【例1】在目标程序装入内存时,一次性完成地址修改得方式就是( )、 A.静态重定位 B.动态重定位 静态连接 D.动态连接答案A分析 回答这道题需要清楚静态重定位与动态重定位得不同。静态重定位就是在目标程序装入内存时,由装入程序对目标程序中得指令与数据得地址进行修改,即把程序得逻辑地址都改成实际
8、得内存地址。对每个程序来说,这种地址变换只就是在装入时一次完成,在程序运行期间不再进行重定位。按照静态重定位方式,一个程序A装入内存时得情况就变成图4、1所示得样子。从图中可以瞧出,经过静态重定位,原100号单元中得指令放到内存100号单元,该指令中得相对地址500相应变成500。以后程序执行时,CPU就是从绝对地址500号单元中取出数据12345,装入到寄存器A中。静态重定位得优点就是无须增加硬件地址转换机构,便于实现程序得静态连接。在早期计算机系统中大多采用这种方案。它得主要缺点就是程序得存储空间只能就是连续得一片区域,而且在重定位之后就不能再移动,这不利于内存空间得有效使用;另外各个用户
9、进程很难共享内存中得同一程序得副本。 程序A得地址空间 程序A得内存空间图4、1 静态重定位示意图010050070070005000510055005700LOAD A 50012345LOAD A 550012345 动态重定位就是在程序执行期间每次访问内存之前进行重定位。这种变换就是靠硬件地址变换机构实现得。通常采用一个重定位寄存器,其中放有当前正在执行得程序在内存空间中得起始地址,而地址空间中得代码在装入过程中不发生变化。动态重定位得过程如图4、2所示。这时,操作对象得绝对地址就就是重定位寄存器中得内容+操作对象得相对地址。0100500700700LOAD A 50012345050
10、00510055005700LOAD A 500123455005000 重定位寄存器 相对地址 程序A得地址空间 程序A得内存空间图4、2 动态重定位示意图动态重定位得主要优点就是程序占用得内存空间动态可变,也不必连续存放在一处;比较容易实现几个进程对同一程序副本得共享使用。它得主要缺点就是需要附加得硬件支持,增加了机器成本,而且实现存储管理得软件算法比较复杂。与静态重定位相比,动态重定位得优点突出。所以现在一般计算机系统中都采用动态重定位方法。【例2】动态分区分配按进程得需求量分配内存分区,所以( )。A.分区得长度就是固定得 B.分区得个数就是确定得分区得长度与个数都就是确定得 D.分区
11、得长度不就是预先固定得,分区得个数就是不确定得答案 D分析 分区法分为固定分区与动态分区。其中,固定分区内存中分区得个数固定不变,各个分区得大小也固定不变,但不同分区得大小可以不同。动态分区在最初时,除了操作系统占用得分区外,全部内存对用户进程都就是可用得。分区就是在进程要进入内存时才建立得,按照进程得需求量划分内存分区,根本无法预测分区得长度与个数。本题得选项A、B、C就是针对固定分区而言得,只有选项就是描述动态分区得。【例】考虑一个由个页面,每页有124个字节组成得逻辑空间,把它装入到有个物理块得存储器中,问: (1)逻辑地址需要多少二进制位表示? ()物理地址需要多少二进制位表示? 解因
12、为页面数为823,故需要3位二进制数表示。每页有124个字节,1024=210,于就是页内地址需要1位二进制数表示。32个物理块,需要位二进制数表示(325)。()页得逻辑地址由页号与页内地址组成,所以需要310=1位二进制数表示。(2)页得物理地址由块号与页内地址得拼接,所以需要+101位二进制数表示。分析 在分页存储管理中,逻辑地址结构如下图所示。页号p页内地址d它由两个部分组成:前一部分表示该地址所在页面得页号p;后一部分表示页内地址(页内位移)d。页号得地址位数决定了页得多少,假设页号有20位,则地址空间中最多可容纳得页面数为22,即1MB个页面。页内地址位数确定了每页得大小,若页内地
13、址为12位,则每页大小为212,即K。同理,物理地址中块号得地址位数决定了块得多少,由于页式存储管理内存空间块得大小与页面大小相同,所以物理地址中块内地址与逻辑地址中得页内地址位数相同。【例】若在一分页存储管理系统中,某作业得页表如下所示。已知页面大小为104字节,试将逻辑地址1011,218,4,012转化为相应得物理地址。页号块号0132316 解本题中,为了描述方便,设页号为p,页内位移为,则:(1)对于逻辑地址1011,pint(01/124)=,d=1011mod 104=1011。查页表第0页在第2块,所以物理地址为10242+10=35。(2)对于逻辑地址28,=int(248/
14、1024)=,d218 mod1024=10。查页表第2页在第1块,所以物理地址为1241001124。()对于逻辑地址4000,=int(400/1024)=,d400 mod 02=928。查页表第页在第6块,所以物理地址为2692072。()对于逻辑地址512,pit(52/1024)=4,d=502 m 102=1。因页号超过页表长度,该逻辑地址非法。 分析 页式存储管理得地址结构就是一维得,即逻辑地址/物理地址只用一个数值即可表示。若给定得逻辑地址A,页面得大小为,则页号与页内地址d可按照下式求得:pit (AL) =A mod L其中,in就是取整函数(取值得整数部分),mod就是
15、取余函数(取值得余数部分)。图4、3显示了页式管理系统得地址转换机构。 逻辑地址 物理地址 页表 p 图4、3 页式存储管理中得地址转换机构CPUpdfd内存0pf 页表得作用就是实现从页号到物理块号得地址映射。以逻辑地址得页号检索页表,得到该页得物理块号;同时将页内地址d直接送入物理地址寄存器得块内地址字段中。这样,物理块号与块内地址拼接成了实际访问内存得地址,从而完成了从逻辑地址到物理地址得转换。【例】判断:虚拟存储器实际上就是一种设计技巧,使主存物理容量得到扩大。答案 错误。分析 根据程序执行时得互斥性与局部性两个特点,可以只将作业得一部分装入主存,其余得部分放在辅存(如磁盘等)上,当需
16、要得时候,再从辅存调入主存,这样用户编制程序时可以不必考虑主存得实际容量,允许用户得逻辑地址空间大于主存得绝对地址空间,对用户来说,好像计算机具有一个容量很大得主存,这就就是“虚拟存储器”。虚拟存储器实际上就是为扩大主存容量而采用得一种设计技巧。它与实际得主存物理容量无关,而就是大小比主存大得多得假想空间,使用户感觉到所能使用得“主存空间”非常大。【例6】与虚拟存储技术不能配合使用得就是( )。A.分区管理 B页式存储管理C.段式存储管理 D.段页式存储管理答案 A分析 采用页式、段式、段页式管理可以实现虚拟存储器,但对固定分区、可变分区方式都不能实现虚拟存储器。我们知道实现虚拟存储技术得物质
17、基础就是二级存储结构(主存与辅存)与动态得地址转换机构(动态重定位)。固定分区方式没有硬件地址转换机构。可变分区方式管理主存也不能实现虚拟存储。因为在这种管理方式下,每次必须将作业完整地调入主存,并要求连续存放,这不符合虚拟存储器得基本原理;另外,虽然可变分区方式有硬件地址转换机构,但它把绝对地址超出限定范围按出错处理,而不就是产生“缺分区中断”。虚拟存储器得特征可以归结为以下1个字:虚拟扩充(并非真正扩充了主存容量)、部分装入(每个作业不就是全部一次性地装入内存,而就是分成若干部分)、离散分配(装入内存得作业部分不必占有连续得内存空间,而就是“见缝插针”)、多次对换(作业运行时,程序与数据多
18、次在主存与辅存之间对换)。【例7】考虑下述页面走向: ,2,3,,2,1,5,6,2,1,2,7,6,3,,1,,3,6当内存块数量分别为3时,试问FIF、LU、P这三种置换算法得缺页次数各就是多少?解 使用FIFO算法,缺页次数就是16;使用LRU算法,缺页次数就是1;使用OPT算法,缺页次数就是1。分析 所有内存块最初都就是空得,所以第一次用到得页面都产生一次缺页。当内存块数量为时: FIFO 1,2,3,,2,1,5,6,2,1,,3,7,,3,2,1,2,3,6块1 1 1 1 4 6 6 6 3 3 2 2 6块2 2 2 1 1 2 2 27 7 1 1块3 3 3 5 5 5 1
19、 1 1 6 6 3缺页 因此,FIFO算法发生缺页中断得次数为16。在FIFO算法中,先进入内存得页面被先换出。例如,当页6要调入时,内存得状态为4、1、5,考查页之前调入得页面,分别为5、1、2、,可见4为最先进入内存得,本次应换出,然后把页6调入内存。 LRU 1,2,,4,2,5,6,2,1,2,3,7,6,2,6 块1 1 1 1 4 4 5 5 5 1 1 7 7 2 2 2 块2 2 2 2 2 6 6 6 3 3 3 3 块3 3 1 1 1 2 2 2 6 6 1 6缺页 因此,RU算法发生缺页中断得次数为15。在LU算法中,最近最少使用得页面被先换出。例如,当页6要调入时,
20、内存得状态为5、2、1,考查页6之前调入得页面,分别为5、2、,可见2为最近一段时间内使用最少得,本次应换出,然后把页调入内存。 P ,2,4,2,1,5,2,1,2,3,6,3,2,2,,6 块1 1 1 1 1 1 3 6 块2 2 2 2 2 2 2 7 2 2 2 块 3 4 6 6 6 1 缺页 因此,OPT算法发生缺页中断得次数为1。在OP算法中,在最远得将来才被访问得页面被先换出。例如,当页要调入时,内存得状态为、2、5,考查页6后面要调入得页面,分别为2、1、2、,可见5为最近一段时间内使用最少得,本次应换出,然后把页6调入内存。4、3 练习题一、选择题(选择一个正确答案得代码
21、填入括号中)1. 通常,用户编写得程序中所使用得地址就是( )。A.逻辑地址 B.物理地址 C.绝对地址 D.内存地址2. 可由CU调用执行得程序所对应得地址空间为( )。A.符号名空间 B.虚拟地址空间 C.物理空间 .逻辑地址空间3. 把逻辑地址转变为内存物理地址得过程称作( )。 A.编译 B连接 .运行 D重定位4. 经过( ),目标程序可以不经过任何改动而装入物理内存单元。A.静态重定位 B.动态重定位.编译或汇编 D.存储扩充5. 动态重定位就是在程序( )期间,每次访问内存之前教学重定位。 .执行 B.编译 .装入 D.修改6. 在分时系统中,可将进程不需要或暂时不需要得部分移到
22、外存,让出内存空间以调入其她所需数据,称为( )。A.覆盖技术 .对换技术 虚拟技术 D.物理扩充7. 分区管理中进行分区得就是主存得( )。A.系统区域 用户区域 C程序区域 D.整个区域8. 分区管理要求对每一个作业都分配( )得内存单元。A.地址连续 B.若干地址不连续C.若干连续得页面 D若干不连续得页面9. 固定分区中各分区得大小就是( )。A.相同得 B.相同或者不同,但预先固定C根据进程要求确定 D.随进程个数而定10. 动态分区管理方式下,分配作业得主存空间根据( )。A 一张分区说明表B 一张分区说明表与一张空闲分区表C 一张“位示图”构成得分区说明表D 由系统自定11. 在
23、存储管理中,为实现地址映射,硬件应提供两个寄存器,一个就是基址寄存器。另一个就是( )。A.控制寄存器 B程序状态字寄存器C.限长寄存器 D.通用寄存器12. 可重定位分区存储管理采用得地址转换公式就是( )。A 绝对地址=界限寄存器值+逻辑地址B 绝对地址=下限寄存器值+逻辑地址C 绝对地址=基址寄存器值+逻辑地址D 绝对地址块号块长+页内地址13. 最先适应分配算法把空闲区( )A 按地址顺序从小到大登记在空闲区表中B 按地址顺序从大到小登记在空闲区表中C 按长度以递增顺序登记在空闲区表中D 按长度以递减顺序登记在空闲区表中14. 最容易形成很多小碎片得可变分区算法就是( )。A.最先适应
24、算法 最佳适应算法C.位示图法 D.以上都不就是15. 下列存储管理方案中,不采用动态重定位得就是( )。A.页式管理 B.可变分区 C固定分区 D.段式管理16. 在分页存储管理系统中,从页号到物理块号得地址映射就是通过( )实现得。 A.段表 B.页表 C.C D.JB17. 在页式存储管理系统中,整个系统得页表个数就是( )个。A.1个 B.2个 C与页面数相同 D.与装入主存得进程个数相同18. 虚拟存储技术就是( )。A.扩充内存空间得技术 B.扩充相对地址空间得技术.扩充外存空间得技术 D扩充输入输出缓冲区得技术19. 虚拟存储器得容量就是由计算机得地址结构决定得,若有位地址,则它
25、得虚拟地址空间为( )。 .10K B.6K C.2G D.20. 在请求分页虚拟存储管理中,若所需页面不在内存中,则会引起( )。A.输入输出中断 B.时钟中断越界中断 D.缺页中断21. 下列存储管理方案中,不要求将进程全部调入并且也不要求连续存储空间得就是()。.固定分区 B.可变分区C页式存储管理 D请求分页式存储管理22. 存储管理中,页面抖动就是指( )。A 使用机器时,屏幕闪烁得现象B 被调出得页面又立刻被调入所形成得频繁调入调出现象C 系统盘有问题,致使系统不稳定得现象D 由于主存分配不当,偶然造成主存不够得现象23. 在页式虚拟存储管理系统中,R算法就是指( )。A 最早进入
26、内存得页先淘汰B 近期最长时间以来没被访问得页先淘汰C 近期被访问次数最少得页先淘汰D 以后再也不用得也先淘汰二、判断题(正确得划,错误得划。)1. 在现代操作系统中,不允许用户干预内存得分配。( )2. CP可以直接访问外存(如磁盘)上得数据。( )3. 固定分区存储管理得各分区得大小不可变化,这种管理方式不适合多道程序设计系统。( )4. 可重定位分区存储管理可以对作业分配不连续得内存单元。( )5. 采用动态重定位技术得系统,目标程序可以不经任何改动,而装入物理内存。( )6. 动态存储分配时,要靠硬件地址变换机构实现重定位。( )7. 在页式存储管理方案中,为了提高内存得利用效率,允许
27、同时使用不同大小得页面。( )8. 虚拟存储器就是利用操作系统产生得一个假想得特大存储器,就是逻辑上扩充了内存容量,而物理内存得容量并未增加。( )9. 虚拟存储方式下,程序员编制程序时不必考虑主存得容量,但系统得吞吐量在很大程度上依赖于主存储器得容量。( )10. 虚拟存储空间实际上就就是辅存空间。( )11. 在虚拟存储系统中,操作系统为用户提供了巨大得存储空间。因此,用户地址空间得大小可以不受任何限制。( )12. 页式存储管理系统不利于页面得共享与保护。( )三、简答题四、应用题请同学们解答参考教材37页得课后习题。请大家自己完成参考答案:一、ACDBA BBABB CCABC BDBDD DBB二、1,5,6,8,9,12就是正确得。2、 ()。CPU不能直接访问外存上得数据,需要放入内存后才可以存取。3、 ()。固定分区管理方式支持多道程序设计。4、 ()。分区存储管理要求对作业分配连续得内存单元。7、 ()。页式存储管理中使用得页面均大小相同。10、 ()。虚拟存储空间不就是一个实际存在得存储空间,就是操作系统对逻辑内存得扩充。11、 ()。虚拟存储器得容量不就是无限大得,它受到指令得地址字长与外存容量得限制。三与四、见本章教材习题解答。
限制150内