计算机操作系统第四章-存储器管理

合集下载

计算机操作系统(第三版)汤小丹第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、虚拟存储器有哪些特征?其中最本质的特征是什么?答:虚拟存储器有以下特征:多次性:一个作业被分成多次调入内存运行,亦即在作业运行时没有必要将其全部装入,只需将当前要运行的那部分程序和数据装入内存即可;以后每当要运行到尚未调入的那部分程序时,再将它调入。

多次性是虚拟存储器最重要的特征,任何其他的存储器管理方式都不具有这一特征。

因此,认为虚拟存储器是具有多次性特征的存储器系统。

对换性:允许在作业的运行过程中进行换进、换出,也即,在进程运行期间,允许将那些暂不使用的程序和数据,从内存调至外存的对换区(换出),待以后需要时再将它们从外存调至内存(换进);甚至还允许将暂不运行的进程调至外存,待它们重又具备运行条件时再调入内存。

计算机操作系统 第四版 汤小丹 梁红兵 哲凤屏_第4章(20162017)

计算机操作系统 第四版 汤小丹 梁红兵 哲凤屏_第4章(20162017)

4.3.4 基于顺序搜索的动态分区分配算法
2. 循环首次适应(next fit ,NF)算法
在为进程分配内存空间时,不再是每次都从链首开 始查找,而是从上次找到的空闲分区的下一个空闲分 区开始查找,直至找到一个能满足要求的空闲分区, 从中划出一块与请求大小相等的内存空间分配给作业。 该算法应设置一起始查寻指针,用于指示下一次起始 查寻的空闲分区,并采用循环查找方式。
的适当位置。
0
1000 L O A D 1 ,2 5 0 0
2500 365
10000
1 1 0 0 0 L O A D 1 ,2 5 0 0
12500
365
5000 作业地址空间
15000
内存空间
把在装入时对目标程 序中指令和数据地址的 修改过程称为重定位。
地址变换通常在进程装入 时依次完成的,以后不再改 变,静态重定位。
4.2 程序的装入和链接
将一个用户源程序变为内存中的一个可执行程序,通常 有以下几个步骤:
编译,由编译程序(Compiler)将用户源代码编译成若干 个目标模块(Object Module);
链接,由链接程序(Linker)将编译后形成的一组目标模 块,以及它们所需要的库函数链接在一起,形成一个完 整的装入模块(Load Module);
4.1.2 主存储器与寄存器
1.主存储器
简称内存或主存,用于保存进程运行时的程序和数据。
CPU的控制部件只能从主存储器中取得指令和数据,数 据能够从主存储器读取并将它们装入到寄存器中,或者 从寄存器存入到主存储器。 CPU与外围设备交换的信息一般也依托于主存储器地址 空间。由于主存储器的访问速度远低于CPU执行指令的 速度,为缓和这一矛盾,在计算机系统中引入了寄存器 和高速缓存。

专升本操作系统第四章存储管理

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

操作系统第17讲 习题三new

操作系统第17讲 习题三new

A,B(1)提高系统吞吐量(2)提高存储空
间的利用率(3)降低存储费用(4)提高换入换出
的速度。
10
东北大学秦皇岛分校计算机与通信工程学院
第四章 存储器管理
5、对重定位存储管理方式,应(A),当程序执行时,
是由(B)与(A)中的(C)相加得到(D),用(D)
来访问内存。
A(1)在整个系统中设置一个重定位寄存器;(2)
Ⅰ. 修改页表 Ⅱ.磁盘I/O Ⅲ.分配页框
A.仅Ⅰ、Ⅱ B.仅Ⅱ C.仅Ⅲ D.Ⅰ、Ⅱ和Ⅲ
21
东北大学秦皇岛分校计算机与通信工程学院
第四章 存储器管理
10.当系统发生抖动(thrashing)时,可用采取
的有效措施是()
Ⅰ. 撤销部分进程
Ⅱ.增加磁盘交换区的容量
Ⅲ.提高用户进程的优先级
A.仅Ⅰ B.仅Ⅱ C.仅Ⅲ D.仅Ⅰ、Ⅱ
空闲区大小递减
8
东北大学秦皇岛分校计算机与通信工程学院
第四章 存储器管理
3、在回收内存时能出现下述几种情况(1)释放区与插
入点前一分区F1相邻,此时应(A);(2)释放区与
插入点后一分区F2相临界,此时应(B);(3)释放
区不与F1和F2相邻接,此时应(C)。
A,B,C:(1)为回收分区建立一分区表项,填上分
第四章 存储器管理
1、在动态分区式内存管理中,倾向于优先使用低
地址部分的空闲区的算法是(A);能使内存空间
中空闲分区分布得较均匀的算法是(B);每次分
配时,把即能满足需要,又能最小的空间区分配给
进程的算法是(C)
A,B,C:(1)最佳适应算法;(2)最坏适
应算法;(3)首次适应算法(4)循环首次适应算

计算机操作系统第四章-存储器管理

计算机操作系统第四章-存储器管理

第四章存储器管理第0节存储管理概述一、存储器的层次结构1、在现代计算机系统中,存储器是信息处理的来源与归宿,占据重要位置。

但是,在现有技术条件下,任何一种存储装置,都无法从速度、容量、是否需要电源维持等多方面,同时满足用户的需求。

实际上它们组成了一个速度由快到慢,容量由小到大的存储装置层次。

2、各种存储器•寄存器、高速缓存Cache:少量的、非常快速、昂贵、需要电源维持、CPU可直接访问;•内存RAM:若干(千)兆字节、中等速度、中等价格、需要电源维持、CPU可直接访问;•磁盘高速缓存:存在于主存中;•磁盘:数千兆或数万兆字节、低速、价廉、不需要电源维持、CPU 不可直接访问;由操作系统协调这些存储器的使用。

二、存储管理的目的1、尽可能地方便用户;提高主存储器的使用效率,使主存储器在成本、速度和规模之间获得较好的权衡。

(注意cpu和主存储器,这两类资源管理的区别)2、存储管理的主要功能:•地址重定位•主存空间的分配与回收•主存空间的保护和共享•主存空间的扩充三、逻辑地址与物理地址1、逻辑地址(相对地址,虚地址):用户源程序经过编译/汇编、链接后,程序内每条指令、每个数据等信息,都会生成自己的地址。

●一个用户程序的所有逻辑地址组成这个程序的逻辑地址空间(也称地址空间)。

这个空间是以0为基址、线性或多维编址的。

2、物理地址(绝对地址,实地址):是一个实际内存单元(字节)的地址。

●计算机内所有内存单元的物理地址组成系统的物理地址空间,它是从0开始的、是一维的;●将用户程序被装进内存,一个程序所占有的所有内存单元的物理地址组成该程序的物理地址空间(也称存储空间)。

四、地址映射(变换、重定位)当程序被装进内存时,通常每个信息的逻辑地址和它的物理地址是不一致的,需要把逻辑地址转换为对应的物理地址----地址映射;地址映射分静态和动态两种方式。

1、静态地址重定位是程序装入时集中一次进行的地址变换计算。

物理地址= 重定位的首地址+ 逻辑地址•优点:简单,不需要硬件支持;•缺点:一个作业必须占据连续的存储空间;装入内存的作业一般不再移动;不能实现虚拟存储。

计算机操作系统(习题集)第四章 答案

计算机操作系统(习题集)第四章 答案

第四章存储器管理一、单项选择题1、存储管理的目的是(C )。

A.方便用户B.提高内存利用率C.方便用户和提高内存利用率D.增加内存实际容量2、在( A)中,不可能产生系统抖动的现象。

A.固定分区管理B.请求页式管理C.段式管理D.机器中不存在病毒时3、当程序经过编译或者汇编以后,形成了一种由机器指令组成的集合,被称为(B )。

A.源程序B.目标程序C.可执行程序D.非执行程序4、可由CPU调用执行的程序所对应的地址空间为(D )。

A.符号名空间B.虚拟地址空间C.相对地址空间D.物理地址空间5、存储分配解决多道作业[1C]划分问题。

为了实现静态和动态存储分配,需采用地址重定位,即把[2C]变成[3D],静态重定位由[4D]实现,动态重定位由[5A]实现。

供选择的答案:[1]:A 地址空间 B 符号名空间 C 主存空间 D 虚存空间[2]、[3]: A 页面地址 B 段地址 C 逻辑地址 D 物理地址 E 外存地址 F 设备地址[4]、[5]: A 硬件地址变换机构 B 执行程序 C 汇编程序D 连接装入程序E 调试程序F 编译程序G 解释程序6、分区管理要求对每一个作业都分配(A )的内存单元。

A.地址连续B.若干地址不连续C.若干连续的帧D.若干不连续的帧7、(C )存储管理支持多道程序设计,算法简单,但存储碎片多。

A.段式B.页式C.固定分区D.段页式8、处理器有32位地址,则它的虚拟地址空间为( B)字节。

A.2GBB.4GBC.100KBD.640KB9、虚拟存储技术是( A)。

A.补充内存物理空间的技术B.补充相对地址空间的技术C.扩充外存空间的技术D.扩充输入输出缓冲区的技术10、虚拟内存的容量只受( D)的限制。

A.物理内存的大小B.磁盘空间的大小C.数据存放的实际地址D.计算机地址字长11、虚拟存储技术与(A )不能配合使用。

A.分区管理B.动态分页管理C.段式管理D.段页式管理12、(B )是指将作业不需要或暂时不需要的部分移到外存,让出内存空间以调入其他所需数据。

操作系统第四章复习

操作系统第四章复习

页框号为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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第四章存储器管理第0节存储管理概述一、存储器的层次结构1、在现代计算机系统中,存储器是信息处理的来源与归宿,占据重要位置。

但是,在现有技术条件下,任何一种存储装置,都无法从速度、容量、是否需要电源维持等多方面,同时满足用户的需求。

实际上它们组成了一个速度由快到慢,容量由小到大的存储装置层次。

2、各种存储器•寄存器、高速缓存Cache:少量的、非常快速、昂贵、需要电源维持、CPU可直接访问;•内存RAM:若干(千)兆字节、中等速度、中等价格、需要电源维持、CPU可直接访问;•磁盘高速缓存:存在于主存中;•磁盘:数千兆或数万兆字节、低速、价廉、不需要电源维持、CPU 不可直接访问;由操作系统协调这些存储器的使用。

二、存储管理的目的1、尽可能地方便用户;提高主存储器的使用效率,使主存储器在成本、速度和规模之间获得较好的权衡。

(注意cpu和主存储器,这两类资源管理的区别)2、存储管理的主要功能:•地址重定位•主存空间的分配与回收•主存空间的保护和共享•主存空间的扩充三、逻辑地址与物理地址1、逻辑地址(相对地址,虚地址):用户源程序经过编译/汇编、链接后,程序内每条指令、每个数据等信息,都会生成自己的地址。

●一个用户程序的所有逻辑地址组成这个程序的逻辑地址空间(也称地址空间)。

这个空间是以0为基址、线性或多维编址的。

2、物理地址(绝对地址,实地址):是一个实际内存单元(字节)的地址。

●计算机内所有内存单元的物理地址组成系统的物理地址空间,它是从0开始的、是一维的;●将用户程序被装进内存,一个程序所占有的所有内存单元的物理地址组成该程序的物理地址空间(也称存储空间)。

四、地址映射(变换、重定位)当程序被装进内存时,通常每个信息的逻辑地址和它的物理地址是不一致的,需要把逻辑地址转换为对应的物理地址----地址映射;地址映射分静态和动态两种方式。

1、静态地址重定位是程序装入时集中一次进行的地址变换计算。

物理地址= 重定位的首地址+ 逻辑地址•优点:简单,不需要硬件支持;•缺点:一个作业必须占据连续的存储空间;装入内存的作业一般不再移动;不能实现虚拟存储。

2、动态地址重定位:在程序执行的过程中,每当Cpu访问一个内存地址之前对要访问的地址进行地址变换计算。

•优点:一个作业可以使用非连续存储空间;能实现虚拟存储;有利于程序段的共享。

•缺点:需要硬件支持。

五、存储分配与回收在程序运行开始时、运行过程中,OS根据一定的存储管理方法,在内存中为程序及其数据找到合适的位置,将它们装入内存;程序运行结束后,OS收回程序释放的内存资源,并进行适当的整理,以便再分配给其他的程序使用。

六、存储保护为多道并发程序共享内存提供保障,使在内存中的各道程序“各行其道”,只能访问属于自己的区域(自己的物理地址空间),避免各道程序间相互干扰,特别是当一道程序发生错误时,不致于影响其他程序的运行。

通常由硬件完成保护功能,由软件辅助实现。

存储保护可以实现:•保护系统程序区不被用户侵犯(有意或无意的);•不允许用户程序读写不属于自己地址空间的数据(系统区地址空间、其他用户程序的地址空间)。

存储保护的过程:每个进程都有自己独立的进程空间。

如果一个进程在运行时所产生的要访问的地址在其地址空间之外,称为发生了地址越界。

每当程序要访问某个内存单元时,由硬件检查是否允许,如果允许则执行,否则产生地址越界中断,由操作系统进行相应处理。

七、存储共享•内存共享:多道环境中,两个或多个并发进程共用内存中相同区域。

•目的:节省内存空间,提高内存利用率,实现进程通信(数据共享)。

•共享内容:代码共享(要求代码为纯代码);数据共享。

八、存储“扩充”为了给大作业提供方便,由OS把内存和外存统一管理起来,实现自动覆盖。

当一个大作业在执行时,有一部分逻辑地址空间的内容在内存,另一部分在外存。

当要访问的信息不在内存时,由os(而不是程序员安排的I/O指令)自动把它们从外存调入内存。

从效果上看,这样的os好象为这个用户作业提供了一个容量比实际内存大的存储器,从而实现了存储“扩充”。

扩充后的存储器称为虚拟存储器。

九、存储管理方法1、连续分配方式(1) 单一连续存储区管理(单道环境下)(2) 分区式存储管理2、离散分配方式(1) 分页式存储管理(2) 分段式存储管理(3) 段页式存储管理3、实现虚拟存储的分配方式主要是一些请求式的分配方式,如请求分页式存储管理、请求分段式存储管理等。

对于以上每一种存储管理方法我们应该掌握:•基本原理(思想方法)•存储管理使用的数据结构•逻辑地址的格式•地址变换的方式•存储的分配和回收过程•特点(优、缺点)第一节程序的装入(和链接)一、程序的装入就是OS的装入程序(Loader)将用户程序的装入模块装入内存。

1、绝对装入方式编译时产生绝对地址的目标代码。

程序被装入内存后,逻辑地址与实际装入的内存地址完全相同,故执行过程中,不需对指令和数据进行地址变换。

程序中所使用的绝对地址,可在编译或汇编时给出,也可由程序员直接赋予。

但在由程序员直接给出绝对地址时,不仅要求程序员熟悉内存的使用情况,而且一旦程序或数据被修改后,可能要改变程序中的所有地址。

因此,通常是宁可在程序中采用符号地址,然后在编译或汇编时,再将这些符号地址转换为绝对地址。

2、可重定位装入方式编译时产生相对地址的目标代码。

程序被装入内存时,进行地址变换,然后在访问时直接取指令和数据。

3、动态运行时装入方式编译时产生相对地址的目标代码。

程序被装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。

当要对一条指令或一个数据进行访问时,才对它的地址进行转换。

因此,装入内存后的所有地址都仍是相对地址。

第二节连续分配存储管理方式一、单一连续分配1、基本原理把内存分为系统区和用户区两部分,系统区提供给OS使用(通常是内存的低址部分);用户区(指除系统区以外的全部内存空间)提供给用户使用。

用户区是一个连续的存储区,每次装入一道用户作业,整个系统的用户空间被一道用户作业独占。

2、存储分配和回收过程如下图所示的主存分配与回收法。

并且由装入程序进行静态地址重定位,检查其绝对地址是否超越,即可达到保护系统的目的。

工作流程:3、特点:•存储管理简单,只适用于单道环境•内存利用率很低•程序的运行受主存容量限制•基本不需要管理的数据结构二、固定分区分配固定分区式存储管理是满足多道程序的最简单的存储管理方案。

它的基本思想是:将内存的用户区划分成若干个固定的空间,称为分区。

当程序到达时,由系统给它分配一个适当大小的分区,将程序和数据连续存入,使进程得以并发执行。

每个分区只能存储一个程序,而且程序也只能在它所驻留的分区中运行;作业的逻辑地址空间是线性的,物理地址空间是连续的;主要采用静态地址重定位方式进行地址变换。

1、基本原理系统生成时,把可分配的主存储器空间分割成若干个区域,每个区域称为一个分区(每个分区的内部是连续的)。

每个分区的大小可以相同也可以不同,但分区大小固定不变,每个分区能装一个且只能装一个作业。

P27-282、管理使用的数据结构分区说明表:记录系统中的现有内存分区及其使用状态。

3、存储分配与回收过程当有一个用户作业要装入时,由OS检索分区说明表,从中找一个大小能满足要求的、空闲的分区,将用户作业装入,并在分区说明表中将该分区的状态置为“已分配”;若没有找到大小足够的分区,则拒绝为该程序分配内存。

当一个用户作业完成后,由OS将其占有的分区收回,将该分区的状态改为“未分配”。

4、特点•可以支持多道程序运行•程序的运行受主存容量和分区大小限制•内存利用率仍很低三、动态分区分配1、基本思想系统在启动时,除了OS常驻内存部分占用的内存空间外,系统中只有一个空闲分区;当有作业要装入内存时,检索空闲分区表,找一个能满足作业要求的空闲分区,从中划出一个大小正好满足要装入作业要求的存储区,分配给这一作业,剩下的部分被作为一个新的空闲分区记录在空闲分区表中。

2、存储管理的数据结构(二选一)(1) 空闲区表--记录目前系统中每个空闲区的起始地址和长度;(2) 空闲分区链--将目前系统中的空闲分区按一定的顺序链接起来。

在每个分区的头、尾设置指向前后分区的指针,并记录本分区的一些分配控制信息。

系统设立一个链首指针,指向第一个空闲块。

3、存储分配与回收过程(1) 分配(2) 回收----会出现四种情况•回收区与它前面的一个空闲区相邻(a)•回收区与它后面的一个空闲区相邻(b)•回收区与它前、后的两个空闲区相邻(c)•回收区前后都没有相邻的空闲区当某一块归还后,要根据不同的情况,前后空间合并,再分别处理存储管理的数据结构。

4、存储分配的算法----空闲分区表或空闲分区链中分区排列顺序的组织方法(1) 首次适应算法:按空闲区首地址从低到高来组织空闲分区表或空闲分区链;每次分区时,总是从表头或链首开始扫描,找到第一个足够大的空白区分配。

(2) 循环首次适应算法(下次适应算法):类似首次适应法的数据组织。

每次分区时,总是从上次查找结束的地方开始扫描,找到一个足够大的空白区分配,并循环查找。

(3) 最佳适应算法:按空闲区容量大小从小到大来组织组织空闲分区表或空闲分区链。

每次分区时,总是从表头或链首开始扫描。

所以,接到内存申请时,会在空闲区中找到一个满足要求的最小空闲区进行分配。

(4) 最坏适应算法:与最佳适应法相反,它在作业选择存储块时,总是寻找一个满足要求的最大的空闲分区。

讨论以上算法的优缺点….6、动态分区方式中的“碎片”问题经过一段时间的分配回收后,内存中会出现很多很小的空闲块。

它们每一块都较小,不足以满足一般作业的分配要求;但其容量总和却有着相当的规模。

这些空闲块被称为碎片。

碎片的存在造成了存储资源的浪费。

解决办法:碎片整理,通过在内存移动程序,将所有小的空闲区域合并为大的空闲区域。

问题:系统开销大(?)。

四、可重定位分区1、动态重定位引入的原因在动态分区分配中,“碎片”整理,是定时进行或在存储回收时进行的,所有用户程序的存储分区都要进行改动,并重新进行静态地址重定位。

这样的“碎片”整理工作将花费较多的系统开销。

2、动态重定位分区分配处理流程可重定位分区分配,与动态分区方法基本相同,但它的碎片拼接是在存储分配时进行的,以满足新作业需求为目的,并采用动态地址重定位。

五、对换(交换)技术“对换”引入的原因:P58所谓“对换”,是指系统允许在一个作业已经进入内存执行的过程中,仍能把它调出内存、再调入内存。

把内存中暂时不能运行的进程或者暂时不用的程序和数据,调出到外存上,以便腾出足够的内存空间,再把已具备运行条件的进程或进程所需要的程序和数据,调入内存。

相关文档
最新文档