第4章存储器管理
计算机操作系统(第三版)汤小丹第4章

注意:1)“本章要点”部分,用红字标注的不是期末考试出题范围。
2)“习题部分”用蓝字标注的是重点习题,期末考试50%的题目是这些习题的原题。
红字标注的习题期末考试不考,仅供考研的同学参考。
3)大部分习题答案只给出要点,同学们可以自行适当补充,但一定要简明扼要。
4)如“本章要点”部分用红字标注的非考试内容,在“习题”部分有相关的重点习题,则对该部分内容只需做该习题即可。
------------------------------------------------------------第四章存储器管理要点4.1 存储器的层次结构理解P116图4-1的存储器层次结构,知道这种结构从经济上考虑,具有好的性能/价格比。
了解P117-118高速缓存CACHE和磁盘缓存,知道它们使用的淘汰算法与虚拟内存的页面置换算法是基本相同的。
4.2 程序的装入和链接这一小节的内容是一些重要的专业常识。
应了解本小节介绍的各种装入和链接方法,要求结合Windows操作系统及C 语言的实际去理解上述装入和链接方法(联系实际部分可上网查询)。
4.3 连续分配方式通用操作系统大都不用连续分配方式,有些嵌入式OS可能使用这种分配方式。
这一小节只需阅读P121-124即可。
4.4 基本分页存储管理方式这是本章最重要的一小节,要求全读。
重点理解页面、物理块、页表、页表的访存、物理地址、逻辑地址、快表(TLB)等概念及相互关系。
4.5 基本分段存储管理方式阅读4.5.1,知道为什么要分段。
阅读4.5.2 知道分段的原理。
考研的同学要知道段表、地址变换,知道分段和分页的主要区别。
阅读4.5.3 知道分段有利于信息共享,知道“纯代码”的概念。
阅读4.5.4 知道什么是段页式存储。
需要补充说明的是:教材说过,分段方便编程,主要是指方便汇编语言程序员,和设计高级语言编译器的程序员。
对使用高级语言进行应用编程的程序员来说,段是透明的,一般不能用高级语言代码去操作段。
计算机操作系统第四章存储器管理复习资料

第四章存储器管理第一部分教材习题(P159)15、在具有快表的段页式存储管理方式中,如何实现地址变换?答:在段页式系统中,为了便于实现地址变换,须配置一个段表寄存器,其中存放段表始址和段长TL。
进行地址变换时,首先利用段号S,将它与段长TL进行比较。
若S<TL,表示未越界,利用段表始址和段号来求出该段所对应的段表项在段表中的位置,从中得到该段的页表始址,并利用逻辑地址中的段内页号P来获得对应页的页表项位置,从中读出该页所在的物理块号b,再利用块号b和页内地址来构成物理地址。
在段页式系统中,为了获得一条指令或数据,须三次访问内存。
第一次访问内存中的段表,从中取得页表始址;第二次访问内存中的页表,从中取出该页所在的物理块号,并将该块号与页内地址一起形成指令或数据的物理地址;第三次访问才是真正从第二次访问所得的地址中,取出指令或数据。
显然,这使访问内存的次数增加了近两倍。
为了提高执行速度,在地址变换机构中增设一个高速缓冲寄存器。
每次访问它时,都须同时利用段号和页号去检索高速缓存,若找到匹配的表项,便可从中得到相应页的物理块号,用来与页内地址一起形成物理地址;若未找到匹配表项,则仍须再三次访问内存。
19、虚拟存储器有哪些特征?其中最本质的特征是什么?答:虚拟存储器有以下特征:多次性:一个作业被分成多次调入内存运行,亦即在作业运行时没有必要将其全部装入,只需将当前要运行的那部分程序和数据装入内存即可;以后每当要运行到尚未调入的那部分程序时,再将它调入。
多次性是虚拟存储器最重要的特征,任何其他的存储器管理方式都不具有这一特征。
因此,认为虚拟存储器是具有多次性特征的存储器系统。
对换性:允许在作业的运行过程中进行换进、换出,也即,在进程运行期间,允许将那些暂不使用的程序和数据,从内存调至外存的对换区(换出),待以后需要时再将它们从外存调至内存(换进);甚至还允许将暂不运行的进程调至外存,待它们重又具备运行条件时再调入内存。
专升本操作系统第四章存储管理

缺点
内存紧缩操作需要消耗较大的系统资源,可能会 影响系统性能。
04
页式存储管理
页式存储管理的概念
01
页式存储管理是一种将内存划 分为固定大小的页,并将外存 空间划分为同样大小的页的存 储管理方式。
02
每个程序都被划分为一系列的 页面,并按照一定的规则将程 序加载到内存中。
段的共享
多个程序可以共享同一个段,通过共享可以节省 内存空间。
段的保护
通过设置段表和段长寄存器,实现段的保护,防 止越界访问。
段的移动
当需要将程序从内存中移出时,可以移动其中的 某个或多个段,而不是整个程序。
段式存储管理的优缺点
提高内存利用率
可以将不同程序的不同段分配到不同 的内存区域,避免浪费。
存储管理的主要目标是提高存储器的利用率,并保 证存储器的安全性和可靠性。
存储管理的功能
01
02
03
04
内存管理
负责内存的分配、回收和保护 ,包括内存分区、分页、分段 等管理方式。
外存管理
负责磁盘等外部存储器的管理 ,包括文件的创建、删除、读 写等操作。
缓存管理
负责缓存区的分配、替换和缓 存数据的读写操作,以提高存 储器的访问速度。
动态分区存储管理的优缺点
02
01
03
优点 可以有效地利用物理内存,提高内存利用率。 支持多道程序运行,提高系统吞吐量。
动态分区存储管理的优缺点
• 可以根据进程的实际需求动态地分配和回收内存。
动态分区存储管理的优缺点
由于分区分配算法的选择会影响内存利用率和 系统性能,因此需要仔细选择合适的算法。
计算机操作系统第四章-存储器管理

第四章存储器管理第0节存储管理概述一、存储器的层次结构1、在现代计算机系统中,存储器是信息处理的来源与归宿,占据重要位置。
但是,在现有技术条件下,任何一种存储装置,都无法从速度、容量、是否需要电源维持等多方面,同时满足用户的需求。
实际上它们组成了一个速度由快到慢,容量由小到大的存储装置层次。
2、各种存储器•寄存器、高速缓存Cache:少量的、非常快速、昂贵、需要电源维持、CPU可直接访问;•内存RAM:若干(千)兆字节、中等速度、中等价格、需要电源维持、CPU可直接访问;•磁盘高速缓存:存在于主存中;•磁盘:数千兆或数万兆字节、低速、价廉、不需要电源维持、CPU 不可直接访问;由操作系统协调这些存储器的使用。
二、存储管理的目的1、尽可能地方便用户;提高主存储器的使用效率,使主存储器在成本、速度和规模之间获得较好的权衡。
(注意cpu和主存储器,这两类资源管理的区别)2、存储管理的主要功能:•地址重定位•主存空间的分配与回收•主存空间的保护和共享•主存空间的扩充三、逻辑地址与物理地址1、逻辑地址(相对地址,虚地址):用户源程序经过编译/汇编、链接后,程序内每条指令、每个数据等信息,都会生成自己的地址。
●一个用户程序的所有逻辑地址组成这个程序的逻辑地址空间(也称地址空间)。
这个空间是以0为基址、线性或多维编址的。
2、物理地址(绝对地址,实地址):是一个实际内存单元(字节)的地址。
●计算机内所有内存单元的物理地址组成系统的物理地址空间,它是从0开始的、是一维的;●将用户程序被装进内存,一个程序所占有的所有内存单元的物理地址组成该程序的物理地址空间(也称存储空间)。
四、地址映射(变换、重定位)当程序被装进内存时,通常每个信息的逻辑地址和它的物理地址是不一致的,需要把逻辑地址转换为对应的物理地址----地址映射;地址映射分静态和动态两种方式。
1、静态地址重定位是程序装入时集中一次进行的地址变换计算。
物理地址= 重定位的首地址+ 逻辑地址•优点:简单,不需要硬件支持;•缺点:一个作业必须占据连续的存储空间;装入内存的作业一般不再移动;不能实现虚拟存储。
第4章存储器管理-选择题

A.分页式存储管理 B.分段式存储管理 C.固定分区式存储管理 D.段页式存储管理
18.多进程在主存中彼此互不干扰的环境下运行,操作系统是通过()来实现的。
A.内存分配 B.内存保护 C.内存扩充 D.地址映射
19.分区管理中采用最佳适应分配算法时,把空闲区按()次序叠记在空闲区表中
A.长度递增 C.地址递增 B.长度递减
B.每个进程拥有一张页表,但只有执行进程的页表驻留在内存中
C.所有进程共享一张页表,以节约有限的内存空间,但页表必须驻留在内存中
D.所有进程共享一张页表,只有页表中当前使用的页面必须駐留在内存中,以最度地节省有服的内存空间
46.【2009 统考真题】一个分段存储管理系统中,地址长度为 32 位,其中段号占 8 位,则最大段长是()
34、在页式存管理中选择页面的大小,需要考下列()因素
Ⅰ.页面大的好处是页表比较少 Ⅱ.页面小的好处是可以减少由内碎片引起的内存浪费
Ⅲ.影响磁盘访问时间的主要因素通常不是顶面大小,所以使用时优先考虑较
A.Ⅰ和Ⅲ B.Ⅱ和Ⅲ
C.Ⅰ和Ⅱ
D.Ⅰ、Ⅱ和Ⅲ
35.某个操作系统对内存的管理采用页式存储管理方法,所划分的页面大小()。
54.【2016 统考真题】某进程的段表内容如下所示。
段号 段长
内存起始地址 权限
状态
0
100
6000
只读
在内存
1
200
-
读写
不在内存
2
300
4000
读写
在内存
访问段号为 2、段内地址为 400 的逻辑地址时,进行地址转换的结果是()
A.段缺失异常 B.得到内存地址 4400 C.越权异常 D.越界异常
第4章4-5节基本分页、分段存储管理方式

页号
计算公式:物理地址 块号 页面大小+块内地址 块号*页面大小 计算公式:物理地址=块号 页面大小 块内地址
0 1
块 号 2 4 6 7
逻辑地址3500:
页号:3500/1024=3 对应物理块号:7 页内地址:428
2 3
故物理地址为: 7*1024+428=7596
逻辑地址4500:
页号:4500/1024=4
第四章 存 储 器 管 理
问题:
在分页系统中,内存的利用率是不是就 可以达到100%了? 由于进程的最后一页经常装不满一块 而形成了不可利用的碎片,称之为“页内 页内 碎片”。 碎片
第四章 存 储 器 管 理
2) 页面大小 在分页系统中的页面其大小应适中: 页面 太小 太大 页面数 分配时间 多 少 长 短 内存碎片 减小 变大 内存利 用率 高 低
n
1742 外部页表
1023 0 1 2 第n页页表 1468
图 4-4 两级页表结构 1023
… … … 内存空间
114 1151468第四章 存 Nhomakorabea 器 管 理
(2)地址变换机构
外部页号 P1 外部页内地址 页内地址 P2 d
逻辑地址
外部页表寄存器
+
… 外部页表
+
… 页表
b d 物理地址
图 4-5 具有两级页表的地址变换机构
第四章 存 储 器 管 理
4.4.2 地址变换机构
假设页面大小为1K 假设页面大小为
1. 基本的地址变换机构
越界中断 逻辑地址 3100 页表寄存器
页表始址 页表长度
≥
页号 3
页内地址 28
块号 页号 0 1 2 3 … 页表 物理地址 9244 1 3 4 9
操作系统第四章复习
页框号为21。 因为起始驻留集为空, 而0页对应的ห้องสมุดไป่ตู้框为空闲链表中的第三个空闲页框,其对应的页框号为21。
页框号为32。 因为11 > 10故发生第三轮扫描,页号为1的页框在第二轮已经处于空闲页框链表中,此刻该页又被重新访问,因此应被重新放回到驻留集中,其页框号为32。
页框号为41。 因为第2页从来没有被访问过,不在驻留集中。因此从空闲链表中取出链表头的页框,页框号为41。
4. 在虚拟内存管理中,地址变换机构将逻辑地址转换为物理地址,形成该逻辑地址的阶段是( )。 ① 编辑 ② 编译 ③ 链接 ④ 装载 5. 采用段式存储管理的系统中,若地址用24位表示,其中8位表示段号,则允许每段的最大长度是_______ A)224 B)28 C) 216 D) 232 6. 作业在执行中发生了缺页中断,经操作系统处理后,应让其执行______指令。 A)被中断的前一条 B)被中断的后一条 C)被中断的 D) 启动时的第一条
7、某基于动态分区存储管理的计算机,其主存容量为55MB(初始为空),采用最佳适配(Best fit)算法,分配和释放的顺序为:分配15MB,分配30MB,释放15MB,分配6MB,此时主存中最大空闲分区的大小是( ) A:7MB B:9MB C:10MB D:15MB
当该进程执行到时刻260时,要访问逻辑地址为17CAH的数据,请问答下列问题: (1)该逻辑地址对应的页号是多少? (2)若采用先进先出置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。 (3)若采用时钟置换算法,该逻辑地址对应的物理地址是多少?(设搜索下一页的指针沿顺时针方向移动,且当前指向2号页框)
页号
存储块号
0 1 2 3
5 10 4 7
操作系统考试必备第四章习题(存储器管理)
一、单项选择题1.在存储管理方案中,可与覆盖技术配合。
A. 页式管理B.段式管理C.段页式管理D.可变分区管理2.在存储管理中,采用覆盖与交换技术的目的是。
A. 节省主存空间B.物理上扩充主存容量C. 提高CPU效率D.实现主存共享3.动态重定位技术依赖于。
A. 重定位装入程序B.重定位寄存器C. 地址机构D.目标程序4. 虚拟存储器的最大容量。
A. 为内外存容量之和B.由计算机的地址结构决定C.是任意的 D. 由作业的地址空间决定5.在虚拟存储系统中,若进程在内存中占3块(开始时为空),采用先进先出页面淘汰算法,当执行访问页号序列为1、2、3、4、l、2、5、1、2、3、4、5、6时,将产生次缺页中断。
A.7 B.8 C.9 D.106.很好地解决了“零头”问题的存储管理方法是。
A. 页式存储管理B.段式存储管理C. 多重分区管理D.可变式分区管理7.系统“抖动”现象的发生是由引起的。
A. 置换算法选择不当B.交换的信息量过大C. 内存容量不足D. 请求页式管理方案8.分区管理中采用“最佳适应”分配算法时,宜把空闲区按次序登记在空闲区表中。
A. 长度递增B.长度递减C. 地址递增D. 地址递减9.在固定分区分配中,每个分区的大小是。
A. 相同B.随作业长度变化C. 可以不同但预先固定D.可以不同但根据作业长度固定10.实现虚拟存储器的目的是。
A. 实现存储保护D.实现程序浮动C.扩充辅存容量D.扩充主存容量11.采用段式存储管理的系统中,若地址用24位表示,其中8位表示段号,则允许每段的最大长度是。
A.224B.216C.28D.23212.作业在执行中发生了缺页中断,经操作系统处理后,应让其执行指令。
A. 被中断的前一条B.被中断的C.被中断的后一条D.启动时的第一条13.把作业地址空间中使用的逻辑地址变成内存中物理地址的过程称为。
A. 重定位B.物理化C.逻辑化D.加载14.首次适应算法的空闲区是。
操作系统第4章练习题[指南]
第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块中。
第4章存储器管理-题库及参考答案
第4章存储器管理-选择题参考答案一、选择题1.【2011统考】在虚拟内存管理中,地址变换机构将逻辑地址变换为物理地址,形成该逻辑地址的阶段是()A.编辑B.编译C.链接D.装载2.下面关于存储管理的叙述中,正确的是()A.存储保护的目的是限制内存的分配B.在内存为M、有N个用户的分时系统中,每个用户占M/N的内存空间C.在虚拟内存系统中,只要磁盘空间无限大,作业就能拥有任意大的编址空间D.实现虚拟内存管理必须有相应硬件的支持3.在使用交换技术时,若一个进程正在(),则不能交换出主存。
A.创建B.I/O操作C.处于临界段D.死锁4.在存储管理中,采用覆盖与交换技术的目的是()A.节省主存空间B.物理上扩充主存容量C.提高CPU效率D.实现主存共享5.【2009统考】分区分配内存管理方式的主要保护措施是()A.界地址保护B.程序代码保护C.数据保护D.保护6.【2010统考】某基于动态分区存储管理的计算机,其主存容量为.55MB(初始为空),采用最佳适配算法,分配和释放的顺序为;分配15MB,分配30MB,释放15MB,分配8MB,分配6MB,此时主存中最大空闲分区的大小是()A.7MBB.9MBC.10MBD.15MB7.段页式存储管理中,地址映射表是()A.每个进程一张段表,两张页表B.每个进程的每个段一张段表,一张页表C.每个进程一张段表,每个段一张页表D.每个进程一张页表,每个段一张段表8.内存保护需要由()完成,以保证进程空间不被非法访问A.操作系统B.硬件机构C.操作系统和硬件机构合作D.操作系统或者硬件机构独立完成9.存储管理方案中,()可采用覆盖技术A.单一连续存储管理B.可变分区存储管理C.段式存储管理D.段页式存储管理10.在可变分区分配方案中,某一进程完成后,系统回收其主存空间并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减1的情况是()A.无上邻空闲区也无下邻空闲区B.有上邻空闲区但无下邻空闲区C.有下邻空闲区但无上邻空闲区D.有上邻空闲区也有下邻空闲区 11.设内存的分配情况如图所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
进程序列:A(12K),B(10K),C(3K)
操作系统
地址指针
1
操作系统
操作系统
OS
A:12K
A:12K
A:12K 8K
2
20K
8K
8K
3
B:10K
B:10K C: 3K
17K
17K
7K
4K
循环首次适应算法
24
第四章 存 储 器 管 理
进程序列:A(12K),B(3K),C(10K)
操作系统
地址指针
慢
4
第四章 存 储 器 管 理
4.2 程序的装入和链接
• 编译
• 链接
5
第四章 存 储 器 管 理
4.2.1 程序的装入
1. 绝对装入方式(Absolute Loading Mode)
程序中所使用的绝对地址,既可在编译或汇编时给出,
也可由程序员直接赋予
由程序员直接给出绝对地址时,要求程序员熟悉内存
32
A: 100 K 128 K A: 100 K 128 K A: 100 K 128 K A: 100 K 128 K 128 K 128 K
C: 250 K 512 K C: 250 K 512 K C: 250 K 512 K 256 K 512 K
256 K
第四章 存 储 器 管 理
4.3.5 哈希算法
4.9 请求分段存储管理方式
2
第四章 存 储 器 管 理
存储器的层次结构
CPU寄存器 内存 外存
寄存器
高速缓存
主存 存取速度 磁盘缓存 硬盘 可移动存储介质
计算机系统的存储层次
3
第四章 存 储 器 管 理
存储器的三级层次结构
高速缓存 快 小 容量 大 高 价格 低
主存
存取速度
硬盘 可移动存储介质
28
第四章 存 储 器 管 理
图 4-7 内存回收时的情况 将前回收区F1、回收区与后空闲区F2合并成为新的 分区F,大小为三者之和,首地址为F1的首地址
29
第四章 存 储 器 管 理
图 4-7 内存回收时的情况 将回收区创建新的空闲区F1,F1的大小与首地址 与回收区相同
30
第四章 存 储 器 管 理
装入过程,而且可节省大量的内存空间
15
第四章 存 储 器 管 理
4.3 连续分配方式
4.3.1 单一连续分配
最简单的一种存储管理方式,只用于单用户、
单任务的操作系统中
16
第四章 存 储 器 管 理
4.3 连续分配方式
4.3.1 单一连续分配
采用这种存储管理方式时,把内存分为系统区和 用户区两部分,系统区仅供给OS使用,通常是放 在内存的低址部分;用户区是指除系统区以外的 全部内存空间, 提供给用户使用
34
操作系统 用户程序1 用户程序3 用户程序6 用户程序9
80 KB
图 4-8 紧凑的示意(磁盘碎片整理)
第四章 存 储 器 管 理
2.ቤተ መጻሕፍቲ ባይዱ动态重定位的实现
记录程序的开始地址
0 1 00
相对地址 2 50 0 LOAD1,2 50 0
重定位寄存器 1 00 00 1 00 00 1 01 00
LOAD1,2 50 0
否
找到大于u .size 的可用区否?
按动态分区方式 进行分配
修改有关的 数据结构
修改有关的 数据结构
返回分区号 及首批
图 4-10 动态分区分配算法流程图
36
第四章 存 储 器 管 理
4.3.7 对换(Swapping)
1. 对换的引入 “对换”,是指把内存中暂时不能运行的进程或者暂时不 用的程序和数据,调出到外存上,以便腾出足够的内存空 间,再把已具备运行条件的进程或进程所需要的程序和数
• 建立哈希函数,构造空闲分区的哈希链 表,利用哈希算法的快速查找,得到哈 希链表的位置,实现(哈希)最佳分配 策略
33
第四章 存 储 器 管 理
4.3.6 可重定位分区分配
1. 动态重定位的引入
操作系统 用户程序1 10 KB 用户程序3 30 KB 用户程序6 14 KB 用户程序9 26 KB (a) 紧凑前 (b) 紧凑后
据,调入内存。对换是提高内存利用率的有效措施
37
第四章 存 储 器 管 理
2. 对换空间的管理
为了能对对换区中的空闲盘块进行管理,在系统中应配置
相应的数据结构,以记录外存的使用情况。其形式与内存 在动态分区分配方式中所用数据结构相似,即同样可以用 空闲分区表或空闲分区链
38
第四章 存 储 器 管 理
0 1 00 00 1 00 0 LOAD 1,25 0 0
1 10 00 LOAD 1,25 0 0
2 50 0
3 65
1 25 00
3 65
5 00 0 作业地址空间
1 50 00
图 4-3 作业装入内存时的情况
内存空间
8
第四章 存 储 器 管 理
3. 动态运行时装入方式(Dynamic Run-time Loading) 动态运行时的装入程序,把装入模块装入内存后, 并不立即把装入模块中的相对地址转换为绝对地址,而 是到程序真正要执行时才进行地址转换 因此, 装入内存后的所有地址都仍是相对地址
前 向 指 针 N + 2 0 后 向 指 针 N + 2 0
20
N个字节可用
图 4-5 空闲分区(双向)链结构
第四章 存 储 器 管 理
2. 分区分配算法
(1) 首次适应算法FF:空闲分区>=作业所需内存 (2) 循环首次适应算法,空闲分区=作业所需内存(接上次循环) (3) 最佳适应算法:满足条件的最小分区 (4) 最坏适应算法:满足条件的最大分区 (5) 快速适应算法:大小相同的分区建立索引表
10
L+M-1 L+M
第四章 存 储 器 管 理
在将这几个目标模块装配成一个装入模块时,须解 决以下两个问题: (1) 修改相对地址 (2) 变换外部调用符号
11
第四章 存 储 器 管 理
2. 装入时动态链接(Load-time Dynamic Linking)
(全部)装入时动态链接方式有以下优点: (1) 便于修改和更新 (2) 便于实现对目标模块的共享
12
第四章 存 储 器 管 理
3. 运行时动态链接(Run-time Dynamic Linking)
近几年流行起来的运行时动态链接方式,是对上述在 装入时链接方式的一种改进。这种链接方式是将对某些模
块的链接推迟到执行时才执行
13
第四章 存 储 器 管 理
3. 运行时动态链接(Run-time Dynamic Linking)
42
第四章 存 储 器 管 理
(2) 进程的换入 系统应定时地查看所有进程的状态,从中找出“就绪”状 态但已换出的进程,将其中换出时间(换出到磁盘上)最 久的进程作为换入进程,将之换入,直至已无可换入的进 程或无可换出的进程为止
43
第四章 存 储 器 管 理
4.4 基本分页存储管理方式
4.4.1 页面与页表
A:12K
A:12K 8K
2
20K
8K
B:3K
3
17K
17K
14K
4K
最差适应算法
26
第四章 存 储 器 管 理
2) 回收内存
图 4-7 内存回收时的情况 将回收区与前空闲区F1合并,修改F1的大小与首地址
27
第四章 存 储 器 管 理
图 4-7 内存回收时的情况 将回收区与后空闲区F2合并,形成新的分区F, 大小为两者之和,首地址为回收区地址
第四章 存 储 器 管 理
操作系统
第四章 存储器管理
第四章 存 储 器 管 理
第四章 存储器管理
4.1 存储器的层次结构 4.2 程序的装入和链接
4.3 连续分配方式
4.4 基本分页存储管理方式 4.5 基本分段存储管理方式 4.6 虚拟存储器的基本概念 4.7 请求分页存储管理方式
4.8 页面置换算法
1. 页面 1) 页面和物理块 分页存储管理,是将一个进程的逻辑地址空间分成若干个大小 相等的片,称为页面或页,并为各页加以编号,从0开始,如 第0页、第1页等
44
第四章 存 储 器 管 理
4.4 基本分页存储管理方式
4.4.1 页面与页表
1. 页面 1) 页面和物理块 相应地,也把内存空间分成与页面相同大小的若干个存储块, 称为(物理)块或页框(frame),也同样为它们加以编号,如0# 块、 1 # 块等等。在为进程分配内存时,以块为单位将进程中 的若干个页分别装入到多个可以不相邻接的物理块中
3. 进程的换出与换入 (1) 进程的换出 换出过程: 系统首先选择处于阻塞状态且优先级最低的进程作为换出 进程,然后启动盘块,将该进程的程序和数据传送到磁盘 的对换区上
41
第四章 存 储 器 管 理
3. 进程的换出与换入 (1) 进程的换出 换出过程: 若传送过程未出现错误,便可回收该进程所占用的内存空 间,并对该进程的进程控制块做相应的修改
21
第四章 存 储 器 管 理
从头开始查表
3. 分区分配操作 1) 分配内存 图 4 6 内 存 分 配 流 程
检索完否? N m.size > u .s ize? Y m.size - u .s ize≤siz e? N 从该分区中划出 u .size大小的分区 将该分区从链中移出 Y N 继续检索下一个表项 Y 返回
2 50 0
3 65
+
1 25 00
3 65