计算机存储管理详解教程

上传人:豆浆 文档编号:35575539 上传时间:2018-03-17 格式:PDF 页数:165 大小:583.91KB
返回 下载 相关 举报
计算机存储管理详解教程_第1页
第1页 / 共165页
计算机存储管理详解教程_第2页
第2页 / 共165页
计算机存储管理详解教程_第3页
第3页 / 共165页
计算机存储管理详解教程_第4页
第4页 / 共165页
计算机存储管理详解教程_第5页
第5页 / 共165页
点击查看更多>>
资源描述

《计算机存储管理详解教程》由会员分享,可在线阅读,更多相关《计算机存储管理详解教程(165页珍藏版)》请在金锄头文库上搜索。

1、第五章 存储管理第五章 存储管理?概述概述?分区存储管理分区存储管理?段式存储管理段式存储管理?页式存储管理页式存储管理?段页式存储管理段页式存储管理?交换技术与覆盖技术交换技术与覆盖技术?虚拟存储虚拟存储?VxWorks和Windows操作系统的内存 管理VxWorks和Windows操作系统的内存 管理重要资源 “瓶颈”:关键、紧张 帕金森定律 内存多大,程序多长重要资源 “瓶颈”:关键、紧张 帕金森定律 内存多大,程序多长一、概述一、概述1. 存储体系存储体系操作系统协调各存储器的使用操作系统协调各存储器的使用重要性:重要性:直接存取要求内存速度尽量 快到与直接存取要求内存速度尽量 快到

2、与CPU取指速度相匹配,大到 能装下当前运行的程序与数据,否 则取指速度相匹配,大到 能装下当前运行的程序与数据,否 则CPU执行速度就会受到内存速度 和容量的影响而得不到充分发挥执行速度就会受到内存速度 和容量的影响而得不到充分发挥Cache主存主存磁盘磁盘寄存器寄存器2.内存2.内存由存储单元(字节或字)组成的一维连续 的地址空间,简称内存空间。用来存放当 前正在运行程序的代码及数据,是程序中 指令本身地址所指的、亦即程序计数器所 指的存储器由存储单元(字节或字)组成的一维连续 的地址空间,简称内存空间。用来存放当 前正在运行程序的代码及数据,是程序中 指令本身地址所指的、亦即程序计数器所

3、 指的存储器 分为:分为:?系统区:用于存放操作系统系统区:用于存放操作系统?用户区:用于装入并存放用户程序和数据用户区:用于装入并存放用户程序和数据3. 存储管理的目的存储管理的目的?充分利用内存,为多道程序并发执行提 供存储基础充分利用内存,为多道程序并发执行提 供存储基础?尽可能方便用户使用 自动装入用户程序 用户程序中不必考虑硬件细节尽可能方便用户使用 自动装入用户程序 用户程序中不必考虑硬件细节?系统能够解决程序空间比实际内存空间 大的问题系统能够解决程序空间比实际内存空间 大的问题存储管理的目的(续)存储管理的目的(续)?程序在执行时可以动态伸缩程序在执行时可以动态伸缩?内存存取速

4、度快内存存取速度快?存储保护与安全存储保护与安全?共享与通信共享与通信?了解有关资源的使用状况了解有关资源的使用状况?实现的性能和代价实现的性能和代价4. 存储管理的任务存储管理的任务(1)内存空间的管理、分配与回收)内存空间的管理、分配与回收?记录内存的使用情况记录内存的使用情况 设置相应的内存分配表 (内存分配回收的依据)设置相应的内存分配表 (内存分配回收的依据)?内存空间划分问题? 静态或动态,等长或不等长内存空间划分问题? 静态或动态,等长或不等长存储管理的任务(续存储管理的任务(续1)?内存分配表内存分配表?位示图:用一位(bit)表示一个空闲页面 (0:空闲,1:占用)位示图:用

5、一位(bit)表示一个空闲页面 (0:空闲,1:占用)?空闲页面表:包括首页面号和页面个数,连续 若干的页面作为一组登记在表中空闲页面表:包括首页面号和页面个数,连续 若干的页面作为一组登记在表中?空闲块表:空闲块首址和空闲块长度,没有记 录的区域即为进程所占用空闲块表:空闲块首址和空闲块长度,没有记 录的区域即为进程所占用?空闲块链表:将所有的空闲块链成一个链表空闲块链表:将所有的空闲块链成一个链表0.110.第第0页第页第1页第页第i页第页第n-1页页存储管理的任务(续存储管理的任务(续2)?确定分配算法 连续性离散性 驻留性交换性 一次性多次性确定分配算法 连续性离散性 驻留性交换性 一

6、次性多次性?实施内存分配实施内存分配?内存回收内存回收?内存分配:静态方式内存分配:静态方式 与与 动态方式动态方式存储管理的任务(续存储管理的任务(续3)(2)存储共享 两个或多个进程)存储共享 两个或多个进程共用内存中相同区域共用内存中相同区域 目的:目的: 节省内存空间,提高内存利用率 实现进程通信(数据共享)节省内存空间,提高内存利用率 实现进程通信(数据共享) 共享内容:共享内容: 代码共享,要求代码为纯代码 数据共享代码共享,要求代码为纯代码 数据共享存储管理的任务(续存储管理的任务(续4)(3)存储保护 为多个程序共享内存提供保障,使在内存中 的各道程序,)存储保护 为多个程序共

7、享内存提供保障,使在内存中 的各道程序,只能访问它自己的区域只能访问它自己的区域,避免 各道程序间相互干扰,特别是当一道程序发 生错误时,不致于影响其他程序的运行通常由硬件完成保护功能,由软件辅助实现,避免 各道程序间相互干扰,特别是当一道程序发 生错误时,不致于影响其他程序的运行通常由硬件完成保护功能,由软件辅助实现存储管理的任务(续存储管理的任务(续5)保护过程保护过程-防止地址越界 每个进程都有自己独立的进程空间,如果一个进程 在运行时所产生的地址在其地址空间之外,则发生 地址越界。即当程序要访问某个内存单元时,由硬 件检查是否允许,如果允许则执行,否则产生地址 越界中断,由操作系统进行

8、相应处理防止地址越界 每个进程都有自己独立的进程空间,如果一个进程 在运行时所产生的地址在其地址空间之外,则发生 地址越界。即当程序要访问某个内存单元时,由硬 件检查是否允许,如果允许则执行,否则产生地址 越界中断,由操作系统进行相应处理 一般由硬件提供一对寄存器:一般由硬件提供一对寄存器: 基址寄存器:存放起始地址 限长寄存器:存放长度基址寄存器:存放起始地址 限长寄存器:存放长度 (或 上界寄存器(或 上界寄存器/下界寄存器)下界寄存器)存储管理的任务(续存储管理的任务(续6)保护过程保护过程-防止操作越权 对于允许多个进程共享的存储区域,每个进程都有 自己的访问权限。如果一个进程对共享区

9、域的访问 违反了权限规定,则发生操作越权即读写保护防止操作越权 对于允许多个进程共享的存储区域,每个进程都有 自己的访问权限。如果一个进程对共享区域的访问 违反了权限规定,则发生操作越权即读写保护存储管理的任务(续存储管理的任务(续7)(4)内存扩充 通过)内存扩充 通过虚拟存储技术虚拟存储技术实现用户在编制程序时,不应该受内存容量限 制,所以要采用一定技术来实现用户在编制程序时,不应该受内存容量限 制,所以要采用一定技术来“扩充扩充”内存的容 量,使用户得到比实际内存容量大的多的内 存空间 具体实现是在硬件支持下,软硬件相互协 作,将内存和外存结合起来统一使用内存的容 量,使用户得到比实际内

10、存容量大的多的内 存空间 具体实现是在硬件支持下,软硬件相互协 作,将内存和外存结合起来统一使用存储管理的任务(续存储管理的任务(续8)(5)地址转换 又称地址重定位、地址映射)地址转换 又称地址重定位、地址映射?逻辑地址(相对地址,虚地址)逻辑地址(相对地址,虚地址)?物理地址(绝对地址,实地址)物理地址(绝对地址,实地址)?地址映射地址映射地址映射地址映射Load A 2003456 。 。 。1200物理地址空间物理地址空间Load A data1data1 3456源程序源程序Load A 20034560100200编译 连接逻辑地址空间编译 连接逻辑地址空间BA=1000存储管理的

11、任务(续存储管理的任务(续9)存储管理的任务(续存储管理的任务(续10)?逻辑地址(相对地址,虚地址) 用户的程序经过汇编或编译后形成目标代 码,目标代码通常采用相对地址的形式,其 首地址为逻辑地址(相对地址,虚地址) 用户的程序经过汇编或编译后形成目标代 码,目标代码通常采用相对地址的形式,其 首地址为0,其余指令中的地址都相对于首 地址而编址 不能用逻辑地址在内存中读取信息,其余指令中的地址都相对于首 地址而编址 不能用逻辑地址在内存中读取信息?物理地址(绝对地址,实地址) 内存中存储单元的地址,可直接寻址物理地址(绝对地址,实地址) 内存中存储单元的地址,可直接寻址存储管理的任务(续存储

12、管理的任务(续11)?地址转换 为了保证地址转换 为了保证CPU执行指令时可正确访问存储单 元,需将用户程序中的逻辑地址转换为运行 时由机器直接寻址的物理地址,这一过程称 为地址映射执行指令时可正确访问存储单 元,需将用户程序中的逻辑地址转换为运行 时由机器直接寻址的物理地址,这一过程称 为地址映射原因原因: 当程序装入内存时当程序装入内存时, 操作系统要为该程序分配 一个合适的内存空间,由于程序的逻辑地址与分配 到内存物理地址不一致操作系统要为该程序分配 一个合适的内存空间,由于程序的逻辑地址与分配 到内存物理地址不一致, 而而CPU执行指令时,是按 物理地址进行的,所以要进行地址转换执行指

13、令时,是按 物理地址进行的,所以要进行地址转换03456.LOAD A 200 .0100200300.LOAD A 2003456逻辑地址空间逻辑地址空间110012001300物理地址空间物理地址空间200VR+1000BR存储管理的任务(续存储管理的任务(续12)存储管理的任务(续存储管理的任务(续13)?静态地址转换 当用户程序被装入内存时,一次性实现逻辑地址到 物理地址的转换,以后不再转换静态地址转换 当用户程序被装入内存时,一次性实现逻辑地址到 物理地址的转换,以后不再转换 一般在装入内存时由软件完成一般在装入内存时由软件完成?动态地址转换 在程序运行过程中要访问数据时再进行地址变

14、换 (即在逐条指令执行时完成地址映射。一般为了提 高效率,此工作由硬件地址映射机制来完成。硬件 支持,软硬件结合完成)动态地址转换 在程序运行过程中要访问数据时再进行地址变换 (即在逐条指令执行时完成地址映射。一般为了提 高效率,此工作由硬件地址映射机制来完成。硬件 支持,软硬件结合完成) 硬件上需要一对寄存器的支持硬件上需要一对寄存器的支持5. 单一用户(连续区)存储管理方案单一用户(连续区)存储管理方案单用户系统在一段时间内,只有一个进程在 内存,故内存分配管理十分简单,内存利用 率低。内存分为两个区域,一个供操作系统 使用,一个供用户使用单用户系统在一段时间内,只有一个进程在 内存,故内

15、存分配管理十分简单,内存利用 率低。内存分为两个区域,一个供操作系统 使用,一个供用户使用用户程序位于用户程序位于RAM中的 操作系统中的 操作系统0xFFF.0位于位于RAM中的 操作系统用户程序中的 操作系统用户程序0ROM中的 设备驱动程序用户程序位于中的 设备驱动程序用户程序位于RAM中的 操作系统中的 操作系统 0单一用户存储管理方案(续)单一用户存储管理方案(续)二、分区存储管理方案二、分区存储管理方案系统把内存用户区划分为若干分区,分 区大小可以相等,也可以不等。一个进 程占据一个分区系统把内存用户区划分为若干分区,分 区大小可以相等,也可以不等。一个进 程占据一个分区?固定分区

16、固定分区?可变分区可变分区1. 固定分区固定分区预先把可分配的内存空间分割成若干个连 续区域,每一区域称为分区 每个分区的大小可以相同也可以不同,分 区大小固定不变,每个分区装一个且只 能装一个作业存储分配:如果有一个空闲区,则分配给 进程预先把可分配的内存空间分割成若干个连 续区域,每一区域称为分区 每个分区的大小可以相同也可以不同,分 区大小固定不变,每个分区装一个且只 能装一个作业存储分配:如果有一个空闲区,则分配给 进程分区分区4分区分区3分区分区2分区分区1操作系统操作系统多个等待队列单个等待队列多个等待队列单个等待队列分区分区4分区分区3分区分区2分区分区1操作系统操作系统固定分区(续)固定分区(续)内存管理:设置内存分配表内存分配: 内存回收: 缺点:内存利用率不高内存管理:设置内存分配表内存分配: 内存回收: 缺点:内存利用率不高分区号分区号 起始地址起始地址长度长度状态状态进程名进程名2. 可变分区存储管理方案可变分区存储管理方案?基本思想基本思想?内存不是预先划

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

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号