动态分区分配方式课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《动态分区分配方式课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 动态 分区 分配 方式 课件
- 资源描述:
-
1、第四章 存 储 器 管 理 第四章第四章 存储器管理存储器管理第四章 存 储 器 管 理 本章要点本章要点(1/4) 目标:目标:了解简单存储器的管理方式和它们的了解简单存储器的管理方式和它们的实现方法。实现方法。 重定位的基本概念重定位的基本概念 重定位的实质是什么,如何实现重定位? 为什么要引入重定位? 静态重定位适用于何种场合,它有何优缺点? 动态重定位是为了解决什么问题而引入的? 在连续分配方式、分页系统和分段系统中,分别是如何实现动态重定位的?第四章 存 储 器 管 理 动态分区分配方式动态分区分配方式 什么是动态内存分配? 在动态内存分配中如何提高内存利用率? 造成动态分区分配方式
2、内存浪费的主要原因是什么,它可以通过什么办法加以解决? 动态分区分配算法可采用哪两种数据结构来描述分区的情况?可采用哪些算法来进行内存的分配和回收? 在采用不同的分配算法时,系统是如何组织空闲分区表或空闲分区链的,它们又是如何进行分区的分配和回收的。 本章要点本章要点(2/4)第四章 存 储 器 管 理 分页和分段存储管理方式分页和分段存储管理方式 是在什么推动力的作用下,使内存管理由动态分区分配方式发展为分页存储管理方式? 分页系统是如何将地址空间中的作业划分为若干个页,它又是如何进行内存分配的? 掌握分页系统逻辑地址的结构。 为了进行逻辑地址到物理地址的转换,分页系统必须为每个作业配置什么
3、样的数据结构并提供哪些硬件支持? 为什么引入快表可加快分页系统存取指令和数据的速度?本章要点本章要点(3/4)第四章 存 储 器 管 理 分页和分段存储管理方式分页和分段存储管理方式 由分页发展为分段,并进一步发展为段页式存储管理方式的主要推动力是什么? 分段和段页式系统是如何管理作业的地址空间和内存空间的,它们的地址变换是如何完成的? 试将分页系统与分段系统加以比较。 为什么分段系统比分页系统更容易实现信息的共享和保护?本章要点本章要点(4/4)第四章 存 储 器 管 理 4.1 4.1 存储器的层次结构存储器的层次结构4.2 4.2 程序的装入和链接程序的装入和链接 4.3 4.3 连续分
4、配存储管理方式连续分配存储管理方式4.4 4.4 对换(对换(SwappingSwapping) 4.5 4.5 分页存储管理方式分页存储管理方式 4.6 4.6 分段存储管理方式分段存储管理方式 本章内容本章内容第四章 存 储 器 管 理 4.1 4.1 存储器的层次结构存储器的层次结构第四章 存 储 器 管 理 理想存储器理想存储器 速度快,能跟上处理机的速度 容量大 价格便宜1、存储器的多层结构、存储器的多层结构4.1.1 多层结构的存储器系统多层结构的存储器系统寄存器高速缓存主存储器磁盘缓存固定磁盘可移动存储介质CPU寄存器主存辅存速度价格存储容量图图4-1 计算机系统计算机系统存储层
5、次示意存储层次示意可执行存储器第四章 存 储 器 管 理 2、可执行存储器、可执行存储器第四章 存 储 器 管 理 主存储器:主存储器:也称内存、主存或可执行存储器 CPU的控制部件只能从主存储器中取得指令和数据; CPU与外围设备交换的信息一般依托于主存储器地址空间。 寄存器寄存器 访问速度最快,完全能与CPU协调工作; 容量小、价格昂贵; 寄存器的长度一般以字(word)为单位。4.1.2 主存储器与寄存器主存储器与寄存器1、主存储器、主存储器2、寄存器、寄存器第四章 存 储 器 管 理 高速缓存:高速缓存: 容量大于寄存器,但比内存小,访问速度快于主存储器 根据程序执行局部性原理,将主存
6、中一些经常访问的信息存放在高速缓存中,减少访问主存储器的次数,提高程序执行速度。 磁盘缓存磁盘缓存 存放外部存储器中频繁使用的一部分磁盘数据和信息 利用主存中的存储空间,来暂存从磁盘中读出的信息4.1.3 高速缓存和磁盘缓存高速缓存和磁盘缓存1、高速缓存、高速缓存2、磁盘缓存、磁盘缓存第四章 存 储 器 管 理 4.2 4.2 程序的装入和链接程序的装入和链接第四章 存 储 器 管 理 程序在成为进程前的准备工作程序在成为进程前的准备工作编辑编译链接装入运行图图4-2 对用户对用户程序的处理步骤程序的处理步骤编译编译Compiler链接链接Linker装入装入Loder第四章 存 储 器 管
7、理 4.2.1 程序的装入程序的装入 在可执行文件装入时需要解决可执行文件中地可执行文件中地址址(指令和数据)和内存地址内存地址的对应对应。由操作系统中的装入程序loader来完成。 装入模块的三种装入方式:装入模块的三种装入方式: 绝对装入方式 可重定位装入方式 动态运行时装入方式第四章 存 储 器 管 理 在可执行文件中记录内存地址,装入时不再作地址重定位,直接定位在上述(即文件中记录的地址)内存地址。 绝对地址的产生:绝对地址的产生: (1)由编译器完成; (2)由程序员编程完成。 对编译器而言,编程用符号地址,在编译或汇编时再将符号地址转换为绝对地址。 优点:优点:装入过程简单。 缺点
8、:缺点:过于依赖于硬件结构,不适于多道程序系统1、绝对装入方式绝对装入方式(Absolute Loading Mode) 第四章 存 储 器 管 理 绝对地址绝对地址LOAD 222410241424JUMP 14242224内存地址内存地址102414242224装入程序装入程序绝对装入模块绝对装入模块1、绝对装入方式绝对装入方式(Absolute Loading Mode) 第四章 存 储 器 管 理 由装入程序根据内存当时的实际使用情况,将装入模块装入到内存的适当地方。 重定位重定位:在装入时对目标程序中的指令和数据地址的修改过程。 静态重定位:静态重定位:地址变换只是在装入时一次完成,
9、以后不再改变。 缺点:缺点:一个程序通常需要占用连续的内存空间,程序装入内存后不能移动。不易实现共享。2、可重定位装入方式可重定位装入方式(Relocation Loading Mode) 第四章 存 储 器 管 理 图图 4-3 作业装入内存时的情况作业装入内存时的情况 2、可重定位装入方式可重定位装入方式(Relocation Loading Mode) 第四章 存 储 器 管 理 在把装入模块装入内存后,并不立即把装入模块中的逻辑地址转换为物理地址,而是把这种地址转换工作推迟到程序真正执行时才进行。因此,装入内存后的所有地址都是逻辑地址。 优点:优点: OS可以将一个程序分散存放于不连续
10、的内存空间,可以移动程序,有利用实现共享。 能够支持程序执行中产生的地址引用,如指针变量(而不仅是生成可执行文件时的地址引用)。 缺点:缺点: 需要硬件支持(重定位寄存器),OS实现较复杂。3、动态运行时装入方式动态运行时装入方式(Dynamic Run-time Loading) 第四章 存 储 器 管 理 4.2.2 程序的链接程序的链接 链接程序的功能:链接程序的功能: 是将经过编译或汇编后所得到的一组目标模块以及它们所需要的库函数,装配成一个完整的装入模块。 链接方式:链接方式: 静态链接(static-linking) 装入时动态链接(Run-time dynamic-linking
11、) 运行时动态链接(load-time)第四章 存 储 器 管 理 静态链接:静态链接:是在程序运行之前,先将各目标模块及它们所需的库函数链接成一个完整的装入模块,以后不再拆开的链接方式。1、静态链接方式静态链接方式(Static Linking) 模块 ACALL B;Return;0L1模块 BCALL C;Return;0M1模块 CReturn;0N10模块 AJSR“L”Return;L1模块 BJSR“LM”Return;LLM1LMLMN1模块 CReturn;(a) 目标模块(b) 装入模块图图 4-4 程序链接示意图程序链接示意图 第四章 存 储 器 管 理 2、装入时动态链
12、接装入时动态链接(Load-time Dynamic Linking) 用户源程序经编译后所得到的目标模块,是在装入内存时,采用边装入边链接的链接方式。 优点:优点:便于软件版本的修改和更新 便于实现目标模块共享第四章 存 储 器 管 理 3、运行时动态链接运行时动态链接(Run-time Dynamic Linking) 在运行时,若发现一个被调用模块尚未装入内存,由OS去找到该模块,将它装入内存,并把它链接到调用者模块上。通常被链接的共享代码称为动态链接库(DLL)或共享库(shared library)。 优点:优点: 共享:共享:多个进程可以共用一个DLL,节省内存。 部分装入:部分装
13、入:一个进程可以将多种操作分散在不同的DLL中实现,而只将当前操作相应的DLL装入内存。 便于局部代码修改:便于局部代码修改:即便于代码升级和代码重用; 便于运行环境适应:便于运行环境适应:调用不同的DLL,就可以适应多种使用环境和提供不同功能。如:不同的显示卡只需厂商为其提供特定的DLL,而OS和应用程序不必修改。 缺点:缺点:链接开销、管理开销第四章 存 储 器 管 理 4.3 4.3 连续分配存储管理方式连续分配存储管理方式第四章 存 储 器 管 理 连续分配方式:连续分配方式: 指为一个系统或用户程序分配一个连续的内存空间。 单一连续分配 固定分区分配 动态分区分配 动态重定位分配4.
14、3 连续连续分配方式分配方式第四章 存 储 器 管 理 4.3.1 单一连续分配单一连续分配 单一连续分配方式单一连续分配方式:内存中仅驻留一道程序,整个内存区为一用户独占。 内存分为两个区域:系统区系统区,用户区用户区。 系统区仅供OS使用,通常位于内存的低端 用户区仅供用户使用,其中只能存放一道作业。 最简单,适用于单用户、单任务的OS。 优点:优点:易于管理。 缺点:缺点:对要求内存空间少的程序,造成内存浪费;程序全部装入,很少使用的程序部分也占用内存第四章 存 储 器 管 理 4.3.2 固定分区分配固定分区分配 又称定长分区或静态分区模式,是满足多道程序设计需要的最简单的存储管理技术
15、 基本思想:基本思想: 给进入主存的用户作业划分一块连续存储区域,把作业装入该连续存储区域,若有多个作业装入主存,则它们可并发执行。 实现:实现: 系统启动时,系统操作员根据作业情况静态地把可分配的主存储器空间(用户空间)分割成若干个连续的区域,每个区域的位置固定,大小可相同也可不同,每个分区在任何时刻最多只装入一道程序执行第四章 存 储 器 管 理 把内存划分为若干个固定大小的连续分区。 分区的划分方法:分区的划分方法: 分区大小相等:分区大小相等:只适合于多个相同程序的并发执行(处理多个类型相同的对象)。 分区大小不等:分区大小不等:多个小分区、适量的中等分区、少量的大分区。根据程序的大小
16、,分配当前空闲的、适当大小的分区。8 M8 M8 M8 M8 MOperating SystemOperating System8 M12 M8 M8 M6 M4 M2 M固定分区固定分区( (大小相同大小相同) )固定分区固定分区( (多种大小多种大小) )1、划分分区的方法划分分区的方法第四章 存 储 器 管 理 内存分区使用表内存分区使用表 为了便于内存分配,通常将分区按大小进行排队,并为之建立一张分区使用表。 分区使用表包括:每个分区的起始地址、大小及状态 作业调度方式作业调度方式 当有一用户程序要装入时,由内存分配程序检索分区使用表,从中找出一个能满足要求的尚未分配的分区,分配给该程
17、序,并将该表项中的状态置为“已分配”。 若未找到大小足够的分区,则拒绝为该用户程序分配内存。2、内存分配内存分配第四章 存 储 器 管 理 特点:特点:适用于多道程序系统和分时系统 支持多个程序并发执行 难以进行内存分区的共享。 比较适合已知程序(作业)大小和出现频率的情形 问题:问题:可能存在内碎片和外碎片。 内碎片:内碎片:占用分区之内未被利用的空间 外碎片:外碎片:占用分区之间难以利用的空闲分区(通常是小空闲分区)。 缺点:缺点: 实际系统运行时,往往无法预知分区大小(太大,等同于“单用户分区模式”) 主存空间利用率仍然较低 无法适应动态扩充主存 分区数目预先确定,限制了多道运行程序的数
18、量3、固定分区、固定分区分配评价分配评价第四章 存 储 器 管 理 图图 4-5 固定分区使用表固定分区使用表操作系统作业A作业B分区号分区号起始地址起始地址长度长度占用标志占用标志112K20K未分配232K32K已分配364K64K已分配4128K128K未分配(a) 分区说明表分区说明表(b) 存储空间分配情况存储空间分配情况20K32K64K128K256K第四章 存 储 器 管 理 4.3.3 动态分区分配动态分区分配 动态分区分配动态分区分配 又称变长分区模式 基本思想:基本思想:按作业的大小划分分区,但划分的时间、大小和位置均动态确定,系统在作业装入主存执行之前并不建立分区。存储
19、空间的划分是在装作业时进行的。从可用的自由存储空间内,划出一个大小正好等于作业大小的存储区,并分配给这一作业。第四章 存 储 器 管 理 1、分区分配中的数据结构、分区分配中的数据结构 空闲分区表:空闲分区表:用于记录每个空闲分区的情况。每个空闲分区占 一个表目,表目中包括分区序号、分区始址及分区的大小等数据项。 空闲分区链:空闲分区链:用于实现对空闲分区的分配和链接。前向指针前向指针N个字节可用个字节可用后向指针后向指针N+2N+20(分配标识)(分配标识)0图图 4-7 空闲链结构空闲链结构第四章 存 储 器 管 理 2、动态分区分配算法动态分区分配算法 动态分区分配算法:动态分区分配算法
20、:为把一个新作业装入内存,须按照一定的分配算法,从空闲分区表或空闲分区链中,选出一分区分配给该作业。第四章 存 储 器 管 理 3、分区分配操作分区分配操作 (1) 分配内存分配内存 图图 4-8 内存分配流程内存分配流程第四章 存 储 器 管 理 (2) 回收内存(四种情况)回收内存(四种情况) 图图 4-9 内存回收时的情况内存回收时的情况 F1XBF2AXAXBF1XF1BF2AFXBF11243AF23、分区分配操作分区分配操作 第四章 存 储 器 管 理 图图 4-10 内存回收流程内存回收流程 F1 X BF1B1F2A XF2A2A X BFX B4A第四章 存 储 器 管 理
21、4.3.4 基于顺序搜索的动态分区分配算法基于顺序搜索的动态分区分配算法 常用分配算法:常用分配算法: 首次适应(FF)算法 循环首次适应(NF)算法 最佳适应(BF)算法 最坏适应(WF)算法 适用范围:适用范围: 不太大的系统 系统中通常只设有一个空闲分区链第四章 存 储 器 管 理 要求:要求:空闲分区链以地址递增的次序链接算法:算法:从链首开始顺序搜索,直至找到一个大小能满足要求的空闲分区,从该分区中划出一块能放下作业的空间给请求者,剩下的空闲分区仍留在空闲链中。若未找到大小大于作业要求的大小,则分配失败。缺点:缺点:低地址不断被划分,留下许多难以利用的、很小的空闲分区;因为每次查找都
22、是从低地址开始,从而增加可用空闲分区查找的开销。0KB100KB180KB190KB280KB330KB390KB410KB512KB阴影部分表示已占阴影部分表示已占用块,空白部分表用块,空白部分表示空闲块示空闲块申请申请40K内存内存 1、首次适应算法首次适应算法(first fit, FF) 第四章 存 储 器 管 理 算法:算法:不从链首开始查找,从上次找到的空闲分区的下一空闲分区开始查找要求:要求:设置查找指针,指示下一次起始查询的空闲分区 采用循环查找方式 优点:优点:减少了查找空闲分区的开销缺点:缺点:缺乏大的空闲分区0KB100KB180KB190KB280KB330KB390K
23、B410KB512KB该算法是由首次适应算法演变而成的。该算法是由首次适应算法演变而成的。2、循环首次适应算法循环首次适应算法(next fit, NF) 第四章 存 储 器 管 理 算法:算法:将能满足要求、又是最小的空闲分区分配给作业要求:要求:将空闲分区按容量从小到大形成空闲分区链。缺点:缺点:留下许多难以利用的小空闲区0KB100KB180KB190KB280KB330KB390KB410KB512KB3、最佳适应算法最佳适应算法(best fit, BF) 第四章 存 储 器 管 理 算法:算法:查找时只要看第一个分区能否满足作业要求要求:要求:将空闲分区按容量从大到小形成空闲分区链
24、。缺点:缺点:会使存储器中缺乏大的空闲分区0KB100KB180KB190KB280KB330KB390KB410KB512KB4、最坏适应算法最坏适应算法(worst fit, WF) 优点:优点:产生碎片的几率最小;对中、小作业有利;查找效率很高第四章 存 储 器 管 理 引自操作系统概念第9版P363Simulations have shown that both first fit and best fit are better than worst fit in terms of decreasing time and storage utilization. Neither fir
25、st fit nor best fit is clearly better than the other in terms of storage utilization, but first fit is generally faster.基于顺序搜索的动态基于顺序搜索的动态分区分配算法的评价分区分配算法的评价第四章 存 储 器 管 理 例:例:采用动态分区分配方式管理内存,内存空采用动态分区分配方式管理内存,内存空间为间为640K,高端,高端40K为系统区。当前用为系统区。当前用户内存区空闲。对下列的请求序列:作业户内存区空闲。对下列的请求序列:作业1申请申请130K、作业、作业2申请申请6
展开阅读全文