内存管理概述讲稿.ppt

上传人:石*** 文档编号:84122016 上传时间:2023-04-02 格式:PPT 页数:40 大小:848KB
返回 下载 相关 举报
内存管理概述讲稿.ppt_第1页
第1页 / 共40页
内存管理概述讲稿.ppt_第2页
第2页 / 共40页
点击查看更多>>
资源描述

《内存管理概述讲稿.ppt》由会员分享,可在线阅读,更多相关《内存管理概述讲稿.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、关于内存管理概述关于内存管理概述第一页,讲稿共四十页哦一、概述一、概述1.存储体系存储体系2.2.内存内存/主存主存3.存储管理的目的存储管理的目的4.存储管理的任务存储管理的任务5.单一用户(连续区)存储管理方案单一用户(连续区)存储管理方案第二页,讲稿共四十页哦1.存储体系存储体系主要问题:主要问题:CPU自身的运算速度很快,内存、自身的运算速度很快,内存、外存的访问速度受到限制外存的访问速度受到限制操作系统协调各存储器的使用操作系统协调各存储器的使用使使 CPU的运算速度的运算速度 得到发挥得到发挥 Cache主存主存/内存内存磁盘磁盘/外存外存寄存器寄存器速度更快速度更快成本更低成本更

2、低容量更大容量更大CPU第三页,讲稿共四十页哦2.2.内存内存/主存主存由存储单元(字节或字)组成的一维连续的地址空间由存储单元(字节或字)组成的一维连续的地址空间用来存放当前正在运行程序的代码及数据用来存放当前正在运行程序的代码及数据是程序中指令本身地址所指的、亦即程序计数器所指是程序中指令本身地址所指的、亦即程序计数器所指的存储器(可以由处理器直接访问!)的存储器(可以由处理器直接访问!)分为系统区与用户区分为系统区与用户区系统区:用于存放操作系统系统区:用于存放操作系统用户区:用于装入并存放用户程序和数据用户区:用于装入并存放用户程序和数据 第四页,讲稿共四十页哦3.存储管理的目的存储管

3、理的目的充分利用内存,为多道程序并发执行提供存储基础充分利用内存,为多道程序并发执行提供存储基础尽可能方便用户使用尽可能方便用户使用 自动装入用户程序自动装入用户程序 用户程序中不必考虑硬件细节用户程序中不必考虑硬件细节系统能够解决程序空间比实际内存空间大的问题系统能够解决程序空间比实际内存空间大的问题程序在执行时可以动态伸缩程序在执行时可以动态伸缩内存存取速度快内存存取速度快存储保护与安全存储保护与安全共享与通信共享与通信了解有关资源的使用状况了解有关资源的使用状况实现的性能和代价实现的性能和代价第五页,讲稿共四十页哦4.存储管理的任务存储管理的任务(1)内存空间的管理、分配与回收)内存空间

4、的管理、分配与回收(2)存储共享)存储共享(3)存储保护)存储保护(4)内存扩充)内存扩充(5)地址转换)地址转换第六页,讲稿共四十页哦(1)内存空间的管理、分配与回收)内存空间的管理、分配与回收记录内存的使用情况记录内存的使用情况 设置相应的内存分配表设置相应的内存分配表 (内存分配、回收的依据)(内存分配、回收的依据)内存空间划分问题?内存空间划分问题?静态或动态,等长或不等长静态或动态,等长或不等长第七页,讲稿共四十页哦记录分配状态(内存分配表)的方法记录分配状态(内存分配表)的方法位示图:位示图:用一位代表用一位代表一个页面一个页面(0 0:空闲,:空闲,1 1:占用:占用)0.110

5、.第第0页第页第1页页 第第i页页 第第n-1页页空闲页面表:包括首页面号和页面个数,连续若干空闲页面表:包括首页面号和页面个数,连续若干 的页的页面作为一组登记在表中面作为一组登记在表中空闲块表:空闲块首址和空闲块长度,没有记录的区域空闲块表:空闲块首址和空闲块长度,没有记录的区域即为进程所占用即为进程所占用第八页,讲稿共四十页哦程序与内存的对应关系程序与内存的对应关系 连续性连续性 离散性(存放方式)离散性(存放方式)一次性一次性 多次性(装入方式)多次性(装入方式)驻留性驻留性 交换性(退出方式)交换性(退出方式)内存分配内存分配 静态方式:程序要求的内存空间在运行前确定静态方式:程序要

6、求的内存空间在运行前确定 动态方式:程序要求的内存空间在运行前及运行动态方式:程序要求的内存空间在运行前及运行 过程中确定过程中确定内存回收内存回收第九页,讲稿共四十页哦(2)存储共享)存储共享 两个或多个进程两个或多个进程共用内存中相同区域共用内存中相同区域目的:目的:节省内存空间,提高内存利用率节省内存空间,提高内存利用率 实现进程通信(数据共享)实现进程通信(数据共享)共享内容:共享内容:代码共享,要求代码为纯代码代码共享,要求代码为纯代码 数据共享数据共享第十页,讲稿共四十页哦(3)存储保护)存储保护 为多个程序共享内存提供保障,使在内存中的各道为多个程序共享内存提供保障,使在内存中的

7、各道程序,程序,只能访问它自己的区域只能访问它自己的区域,避免各道程序间相互干,避免各道程序间相互干扰,特别是当一道程序发生错误时,不致于影响其他扰,特别是当一道程序发生错误时,不致于影响其他程序的运行程序的运行 通常由硬件完成保护功能,由软件辅助实现通常由硬件完成保护功能,由软件辅助实现第十一页,讲稿共四十页哦防止地址越界防止地址越界 每个进程都有自己独立的进程空间,如果一每个进程都有自己独立的进程空间,如果一个进程在运行时所产生的地址在其地址空间之外,则个进程在运行时所产生的地址在其地址空间之外,则发生地址越界发生地址越界 当程序要访问某个内存单元时,由硬件检当程序要访问某个内存单元时,由

8、硬件检查是否允许,如果允许则执行,否则产生地址越界中查是否允许,如果允许则执行,否则产生地址越界中断,由操作系统进行相应处理断,由操作系统进行相应处理 一般由硬件提供一对寄存器:一般由硬件提供一对寄存器:基址寄存器:存放起始地址基址寄存器:存放起始地址 限长寄存器:存放长度限长寄存器:存放长度 (或(或 上界寄存器上界寄存器/下界寄存器)下界寄存器)第十二页,讲稿共四十页哦防止操作越权防止操作越权 对于允许多个进程共享的存储区域,每个进程都有对于允许多个进程共享的存储区域,每个进程都有自己的访问权限。如果一个进程对共享区域的访问违反自己的访问权限。如果一个进程对共享区域的访问违反了权限规定,则

9、发生操作越权,即了权限规定,则发生操作越权,即读写保护读写保护 第十三页,讲稿共四十页哦(4)内存扩充内存扩充 通过通过虚拟存储技术虚拟存储技术实现实现 用户在编制程序时,不应该受内存容量限制,所以用户在编制程序时,不应该受内存容量限制,所以要采用一定技术来要采用一定技术来“扩充扩充”内存的容量,使用户得到内存的容量,使用户得到比实际内存容量大的多的内存空间比实际内存容量大的多的内存空间 具体实现是在硬件支持下,软硬件相互协作,将内存具体实现是在硬件支持下,软硬件相互协作,将内存和外存结合起来统一使用和外存结合起来统一使用第十四页,讲稿共四十页哦(5)地址转换地址转换 (地址重定位、地址映射)

10、(地址重定位、地址映射)逻辑地址(相对地址,虚地址)逻辑地址(相对地址,虚地址)物理地址(绝对地址,实地址)物理地址(绝对地址,实地址)地址映射地址映射第十五页,讲稿共四十页哦地址映射地址映射Load A 200 3456 。1200物理地址空间物理地址空间Load A data1data1 3456源程序源程序Load A 200 34560100200编译编译连接连接逻辑地址空间逻辑地址空间BA=10001100第十六页,讲稿共四十页哦逻辑地址(相对地址,虚地址)逻辑地址(相对地址,虚地址)用户的程序经过汇编或编译后形成目标代码,用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对

11、地址的形式,其首地址为目标代码通常采用相对地址的形式,其首地址为0,其,其余指令中的地址都相对于首地址而编址余指令中的地址都相对于首地址而编址 不能用逻辑地址在内存中读取信息不能用逻辑地址在内存中读取信息物理地址(绝对地址,实地址)物理地址(绝对地址,实地址)内存中存储单元的地址,可直接寻址内存中存储单元的地址,可直接寻址第十七页,讲稿共四十页哦地址转换地址转换 为为了了保保证证CPU执执行行指指令令时时可可正正确确访访问问存存储储单单元元,需需将将用用户户程程序序中中的的逻逻辑辑地地址址转转换换为为运运行行时时由由机机器器直接寻址的物理地址,这一过程称为地址映射直接寻址的物理地址,这一过程称

12、为地址映射 原原因因:当当程程序序装装入入内内存存时时,操操作作系系统统要要为为该该程程序序分分配配一一个个合合适适的的内内存存空空间间,由由于于程程序序的的逻逻辑辑地地址址与与分分配配到到内内存存物物理理地地址址不不一一致致,而而CPU执执行行指指令令时时,是是按按物物理地址进行的,所以要进行地址转换理地址进行的,所以要进行地址转换第十八页,讲稿共四十页哦03456.LOAD A 200.0100200300.LOAD A 2003456逻辑地址空间逻辑地址空间110012001300物理地址空间物理地址空间200VR+1000BR第十九页,讲稿共四十页哦静态地址转换静态地址转换 当用户程序

13、被装入内存时,一次性实现逻辑地址当用户程序被装入内存时,一次性实现逻辑地址到物理地址的转换,以后不再转换到物理地址的转换,以后不再转换 一般在装入内存时由软件完成一般在装入内存时由软件完成动态地址转换动态地址转换 在程序运行过程中要访问数据时再进行地址变换在程序运行过程中要访问数据时再进行地址变换 即在逐条指令执行时完成地址映射即在逐条指令执行时完成地址映射 一般为了提高效率,此工作由硬件地址映射机制来完成。一般为了提高效率,此工作由硬件地址映射机制来完成。硬件上需要一对寄存器的支持硬件上需要一对寄存器的支持第二十页,讲稿共四十页哦5.单一用户(连续区)存储管理方案单一用户(连续区)存储管理方

14、案 单用户系统在一段时间内,只有一个进程在单用户系统在一段时间内,只有一个进程在内存,故内存分配管理十分简单,内存利用率低。内存,故内存分配管理十分简单,内存利用率低。内存分为两个区域,一个供操作系统使用,一个供内存分为两个区域,一个供操作系统使用,一个供用户使用用户使用第二十一页,讲稿共四十页哦用户程序用户程序位于位于RAM中的中的操作系统操作系统0 xFFF.0位于位于RAM中的中的操作系统操作系统用户程序用户程序0ROM中的中的设备驱动程序设备驱动程序用户程序用户程序位于位于RAM中的中的操作系统操作系统0第二十二页,讲稿共四十页哦二、分区存储管理二、分区存储管理满足多道程序运行的、最简

15、单的存储管理方案满足多道程序运行的、最简单的存储管理方案 系统把内存用户区划分为若干分区系统把内存用户区划分为若干分区分区大小可以相等,也可以不等分区大小可以相等,也可以不等一个进程占据一个分区一个进程占据一个分区固定分区固定分区可变分区可变分区第二十三页,讲稿共四十页哦1.固定分区固定分区 预先把可分配的内存空间分割成若干个连续预先把可分配的内存空间分割成若干个连续区域区域 每一区域称为分区每一区域称为分区 每个分区的大小可以相同也可以不同每个分区的大小可以相同也可以不同 分区大小固定不变分区大小固定不变 每个分区装一个且只能装一个作业每个分区装一个且只能装一个作业第二十四页,讲稿共四十页哦

16、内存管理:设置内存分配表内存管理:设置内存分配表108k占用P128k16k空闲324k32k占用P2456k64k空闲5120k128k占用P3分区号分区号起始地址起始地址长度长度状态状态进程进程根据分配表查找合适的分区根据分配表查找合适的分区执行完毕时释放内存执行完毕时释放内存第二十五页,讲稿共四十页哦分区分区4分区分区3分区分区2分区分区1操作系统操作系统多个等待队列多个等待队列单个等待队列单个等待队列分区分区4分区分区3分区分区2分区分区1操作系统操作系统第二十六页,讲稿共四十页哦2.可变分区可变分区基本思想基本思想内存不是预先划分好的内存不是预先划分好的作业装入时,根据作业的需求和内

17、存空间作业装入时,根据作业的需求和内存空间的使用情况来决定是否分配的使用情况来决定是否分配若有足够的空间,则按需要分割一部分分若有足够的空间,则按需要分割一部分分区给该进程;否则令其等待内存空间区给该进程;否则令其等待内存空间第二十七页,讲稿共四十页哦内存管理内存管理未分配(空闲)区表未分配(空闲)区表 记录了空闲区的起始地址和长度记录了空闲区的起始地址和长度已分配区表已分配区表 记录了已分配区的起始地址、长度和程序记录了已分配区的起始地址、长度和程序第二十八页,讲稿共四十页哦0K15K38K48K68K80K110K120K空闲区表空闲区表已分配区表已分配区表始址长度标志15K23K未分配4

18、8K20K未分配80K30K未分配空空始址长度标志0K15KP138K10KP268K12KP3110K10KP4空空第二十九页,讲稿共四十页哦0K15K38K48K68K80K110K120K空闲区表空闲区表已分配区表已分配区表始址长度标志15K23K未分配48K20K未分配98K12K未分配空空始址长度标志0K15KP138K10KP268K12KP3110K10KP480K5KP585K13KP685K98K第三十页,讲稿共四十页哦内存分配策略内存分配策略(1)首先适应算法)首先适应算法 将最先找到的第一个满足长度的空闲区分配给进将最先找到的第一个满足长度的空闲区分配给进程程(2)最佳适

19、应算法)最佳适应算法 将满足长度的、最小空闲区分配给进程将满足长度的、最小空闲区分配给进程(3)最坏适应算法)最坏适应算法 将满足长度的、最大空闲区分配给进程将满足长度的、最大空闲区分配给进程第三十一页,讲稿共四十页哦可变分区管理的分配算法可变分区管理的分配算法1 1)最先适应分配算法)最先适应分配算法 2 2)下次适应分配算法)下次适应分配算法3)3)最优适应分配算法最优适应分配算法 4 4)最坏适应分配算法)最坏适应分配算法5)5)快速适应分配算法快速适应分配算法 第三十二页,讲稿共四十页哦查找和分配算法比较查找和分配算法比较(1)(1)从搜索空闲区速度及主存利用率来看从搜索空闲区速度及主

20、存利用率来看,最最先适用分配、下次适应分配和最佳适应算先适用分配、下次适应分配和最佳适应算法比最坏适应算法性能好。法比最坏适应算法性能好。如果空闲区按从小到大排列如果空闲区按从小到大排列,则最先适用则最先适用分配算法等于最优适应分配算法。分配算法等于最优适应分配算法。如果空闲区按从大到小排列如果空闲区按从大到小排列,则最先适则最先适用分配算法等于最坏适应分配算法。用分配算法等于最坏适应分配算法。第三十三页,讲稿共四十页哦查找和分配算法比较查找和分配算法比较(2)(2)空闲区按从小到大排列时空闲区按从小到大排列时,最先适用最先适用分配算法能尽可能使用低地址区分配算法能尽可能使用低地址区,从从而高

21、地址空间有较大的空闲区容纳大的而高地址空间有较大的空闲区容纳大的作业。作业。下次适应分配算法会使存储器空间下次适应分配算法会使存储器空间得到均衡使用。得到均衡使用。最优适应分配算法的主存利用率最好最优适应分配算法的主存利用率最好,但可能会导致空闲区分割下来的部但可能会导致空闲区分割下来的部分很小。分很小。第三十四页,讲稿共四十页哦查找和分配算法比较查找和分配算法比较(3)(3)处理某种作业序列时处理某种作业序列时,最坏适应分配最坏适应分配算法可能性能最佳算法可能性能最佳,它选择最大空闲区它选择最大空闲区,使得分配后剩余下来的空闲区不会太小使得分配后剩余下来的空闲区不会太小,仍能用于再分配。仍能

22、用于再分配。最先适应算法简单、快速,在实际的最先适应算法简单、快速,在实际的操作系统中用得较多;其次是最佳适操作系统中用得较多;其次是最佳适应算法和下次适应算法。应算法和下次适应算法。第三十五页,讲稿共四十页哦可变分区地址转换与存储保护可变分区地址转换与存储保护 基址基址基址寄存器基址寄存器逻辑地址逻辑地址CPUCPU绝对地址绝对地址操作系统区操作系统区空闲分区空闲分区1 1用户作业用户作业1 1空闲分区空闲分区2 2限长限长限长寄存器限长寄存器 限长限长越界中断越界中断第三十六页,讲稿共四十页哦内存回收内存回收 当某一块归还后,前后空间合并,修改内存空闲块当某一块归还后,前后空间合并,修改内

23、存空闲块表表 考虑:上邻、下邻、上下相邻、上下不相邻考虑:上邻、下邻、上下相邻、上下不相邻“碎片碎片”问题问题 经过一段时间的分配回收后,内存中存在很多很经过一段时间的分配回收后,内存中存在很多很小的空闲块小的空闲块 它们每一个都很小,不足以满足分配要求;但其总它们每一个都很小,不足以满足分配要求;但其总和满足分配要求和满足分配要求 这些空闲块被称为碎片这些空闲块被称为碎片 造成存储资源的浪费造成存储资源的浪费第三十七页,讲稿共四十页哦“碎片碎片”问题解决问题解决 紧凑技术:通过在内存移动程序,将所紧凑技术:通过在内存移动程序,将所有小的空闲区域合并为大的空闲区域有小的空闲区域合并为大的空闲区域 问题:问题:开销开销 大大 移动时机移动时机?第三十八页,讲稿共四十页哦 操作系统操作系统作业作业1 1空闲区空闲区作业作业2 2空闲区空闲区作业作业3 3空闲区空闲区操作系统操作系统作业作业1 1作业作业2 2作业作业3 3空闲区空闲区操作系统操作系统作业作业1 1作业作业2 2作业作业3 3空闲区空闲区作业作业4 4第三十九页,讲稿共四十页哦感感谢谢大大家家观观看看第四十页,讲稿共四十页哦

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁