内存管理概述.ppt
《内存管理概述.ppt》由会员分享,可在线阅读,更多相关《内存管理概述.ppt(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、关于内存管理概述关于内存管理概述现在学习的是第1页,共40页一、概述一、概述1. 存储体系存储体系2.2.内存内存/ /主存主存3. 存储管理的目的存储管理的目的4. 存储管理的任务存储管理的任务5. 单一用户(连续区)存储管理方案单一用户(连续区)存储管理方案现在学习的是第2页,共40页1. 存储体系存储体系主要问题:CPU自身的运算速度很快,内存、外存的访问速度受到限制操作系统协调各存储器的使用使 CPU的运算速度 得到发挥 Cache主存/内存磁盘/外存寄存器速度更快成本更低容量更大CPU现在学习的是第3页,共40页2.2.内存内存/ /主存主存由存储单元(字节或字)组成的一维连续的地址
2、空间由存储单元(字节或字)组成的一维连续的地址空间用来存放当前正在运行程序的代码及数据用来存放当前正在运行程序的代码及数据是程序中指令本身地址所指的、亦即程序计数器所指的存是程序中指令本身地址所指的、亦即程序计数器所指的存储器(可以由处理器直接访问!)储器(可以由处理器直接访问!)分为系统区与用户区分为系统区与用户区系统区:用于存放操作系统系统区:用于存放操作系统用户区:用于装入并存放用户程序和数据用户区:用于装入并存放用户程序和数据 现在学习的是第4页,共40页3. 存储管理的目的存储管理的目的 充分利用内存,为多道程序并发执行提供存储基础充分利用内存,为多道程序并发执行提供存储基础 尽可能
3、方便用户使用尽可能方便用户使用 自动装入用户程序自动装入用户程序 用户程序中不必考虑硬件细节用户程序中不必考虑硬件细节 系统能够解决程序空间比实际内存空间大的问题系统能够解决程序空间比实际内存空间大的问题 程序在执行时可以动态伸缩程序在执行时可以动态伸缩 内存存取速度快内存存取速度快 存储保护与安全存储保护与安全 共享与通信共享与通信 了解有关资源的使用状况了解有关资源的使用状况 实现的性能和代价实现的性能和代价现在学习的是第5页,共40页4. 存储管理的任务存储管理的任务(1)内存空间的管理、分配与回收(2)存储共享(3)存储保护(4)内存扩充(5)地址转换现在学习的是第6页,共40页(1)
4、内存空间的管理、分配与回收)内存空间的管理、分配与回收 记录内存的使用情况记录内存的使用情况 设置相应的内存分配表设置相应的内存分配表 (内存分配、回收的依据)(内存分配、回收的依据) 内存空间划分问题?内存空间划分问题? 静态或动态,等长或不等长静态或动态,等长或不等长现在学习的是第7页,共40页 记录分配状态(内存分配表)的方法记录分配状态(内存分配表)的方法 位示图:位示图:用一位代表用一位代表一个页面一个页面(0 0:空闲,:空闲,1 1:占用:占用)0.110.第0页第1页 第i页 第n-1页空闲页面表:包括首页面号和页面个数,连续若干 的页面作为一组登记在表中空闲块表:空闲块首址和
5、空闲块长度,没有记录的区域即为进程所占用现在学习的是第8页,共40页 程序与内存的对应关系程序与内存的对应关系 连续性连续性 离散性(存放方式)离散性(存放方式) 一次性一次性 多次性(装入方式)多次性(装入方式) 驻留性驻留性 交换性(退出方式)交换性(退出方式) 内存分配内存分配 静态方式:程序要求的内存空间在运行前确定静态方式:程序要求的内存空间在运行前确定 动态方式:程序要求的内存空间在运行前及运行动态方式:程序要求的内存空间在运行前及运行 过程中确定过程中确定 内存回收内存回收现在学习的是第9页,共40页(2)存储共享)存储共享 两个或多个进程两个或多个进程共用内存中相同区域共用内存
6、中相同区域目的:目的: 节省内存空间,提高内存利用率节省内存空间,提高内存利用率 实现进程通信(数据共享)实现进程通信(数据共享)共享内容:共享内容: 代码共享,要求代码为纯代码代码共享,要求代码为纯代码 数据共享数据共享现在学习的是第10页,共40页(3)存储保护)存储保护 为多个程序共享内存提供保障,使在内存中的各为多个程序共享内存提供保障,使在内存中的各道程序,道程序,只能访问它自己的区域只能访问它自己的区域,避免各道程序间相互干,避免各道程序间相互干扰,特别是当一道程序发生错误时,不致于影响其他程序扰,特别是当一道程序发生错误时,不致于影响其他程序的运行的运行 通常由硬件完成保护功能,
7、由软件辅助实现通常由硬件完成保护功能,由软件辅助实现现在学习的是第11页,共40页 防止地址越界防止地址越界 每个进程都有自己独立的进程空间,如果一个进每个进程都有自己独立的进程空间,如果一个进程在运行时所产生的地址在其地址空间之外,则发生地址程在运行时所产生的地址在其地址空间之外,则发生地址越界越界 当程序要访问某个内存单元时,由硬件检查当程序要访问某个内存单元时,由硬件检查是否允许,如果允许则执行,否则产生地址越界中断,是否允许,如果允许则执行,否则产生地址越界中断,由操作系统进行相应处理由操作系统进行相应处理 一般由硬件提供一对寄存器:一般由硬件提供一对寄存器: 基址寄存器:存放起始地址
8、基址寄存器:存放起始地址 限长寄存器:存放长度限长寄存器:存放长度 (或(或 上界寄存器上界寄存器/下界寄存器)下界寄存器)现在学习的是第12页,共40页 防止操作越权防止操作越权 对于允许多个进程共享的存储区域,每个进程都有自对于允许多个进程共享的存储区域,每个进程都有自己的访问权限。如果一个进程对共享区域的访问违反了权己的访问权限。如果一个进程对共享区域的访问违反了权限规定,则发生操作越权,即限规定,则发生操作越权,即读写保护读写保护 现在学习的是第13页,共40页(4)内存扩充内存扩充 通过通过虚拟存储技术虚拟存储技术实现实现 用户在编制程序时,不应该受内存容量限制,所以要采用户在编制程
9、序时,不应该受内存容量限制,所以要采用一定技术来用一定技术来“扩充扩充”内存的容量,使用户得到比实际内存内存的容量,使用户得到比实际内存容量大的多的内存空间容量大的多的内存空间 具体实现是在硬件支持下,软硬件相互协作,将内存和具体实现是在硬件支持下,软硬件相互协作,将内存和外存结合起来统一使用外存结合起来统一使用现在学习的是第14页,共40页(5)地址转换地址转换 (地址重定位、地址映射)(地址重定位、地址映射) 逻辑地址(相对地址,虚地址)逻辑地址(相对地址,虚地址)物理地址(绝对地址,实地址)物理地址(绝对地址,实地址)地址映射地址映射现在学习的是第15页,共40页地址映射Load A 2
10、00 3456 。 。1200物理地址空间Load A data1data1 3456源程序Load A 200 34560100200编译连接逻辑地址空间BA=10001100现在学习的是第16页,共40页 逻辑地址(相对地址,虚地址)逻辑地址(相对地址,虚地址) 用户的程序经过汇编或编译后形成目标代码,目标用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对地址的形式,其首地址为代码通常采用相对地址的形式,其首地址为0,其余指令,其余指令中的地址都相对于首地址而编址中的地址都相对于首地址而编址 不能用逻辑地址在内存中读取信息不能用逻辑地址在内存中读取信息 物理地址(绝对地址,实地址
11、)物理地址(绝对地址,实地址) 内存中存储单元的地址,可直接寻址内存中存储单元的地址,可直接寻址现在学习的是第17页,共40页 地址转换地址转换 为了保证为了保证CPU执行指令时可正确访问存储单元,需执行指令时可正确访问存储单元,需将用户程序中的逻辑地址转换为运行时由机器直接寻址的将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址,这一过程称为地址映射物理地址,这一过程称为地址映射 原因原因: 当程序装入内存时当程序装入内存时, 操作系统要为该程序分配一操作系统要为该程序分配一个合适的内存空间,由于程序的逻辑地址与分配到内存物个合适的内存空间,由于程序的逻辑地址与分配到内存物理地址不一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 内存 管理 概述
限制150内