- 1、本文档共142页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 存储管理 提纲 5.1 存储管理的功能 5.2 分区存储管理 5.3 覆盖与交换技术 5.4 页式管理 5.5 段式与段页式管理 5.6 局部性原理和抖动问题 存储器: 内存(primary srotage):本章讨论的重点 外存(secondary storage) 主要内容 几种常用的内存管理方法 内存的分配和释放算法 虚拟存储器的概念 控制主存和外存之间的数据流动方法 地址变换技术 内存数据保护与共享技术 5.1 存储管理的功能 1. 存储管理的功能 (1) 内存的分配与释放 如何分配内存,以保证系统及各用户程序的存储区互不冲突; 程序运行结束后归还占用的内存空间。 (2)存储保护与存储共享 保证程序在执行过程中不会有意或无意地破坏另一道程序,保证用户程序不会破坏系统程序; 不同作业之间相同的内容(代码)只在内存中装入一个副本。 (3)内存扩充 当用户作业所需要的内存量超过计算机系统所提供的内存容量时,把内部存储器和外部存储器结合起来管理,为用户提供一个容量比实际内存大得多的虚拟存储器。 (4)地址重定位 完成从相对地址(虚拟地址)到绝对地址(物理地址)的转换。 物理地址 物理存储器中的位置。 虚拟地址 编译链接程序把用户源程序编译后链接到一个以0地址为起始地址的线性地址空间中,每个进程都拥有这样一个虚拟空间。 每条指令或数据单元都在这个虚拟空间中拥有确定的地址,把这个地址称为虚拟地址(virtual address)。 虚存空间的容量是由计算机的地址结构和寻址方式确定的。 例如cpu的有效地址长度为16位,则其寻址范围为0~64kB 2 地址重定位 静态地址重定位(static address relocation) 在虚拟空间程序执行之前由装配程序完成地址映射工作。 假定分配程序已分配了一块首地址为BA的内存区给虚拟空间内的程序段,若某条指令或数据的虚拟地址为VA,那么,该指令或数据对应的内存地址为MA,从而完成程序中所有地址部分的修改,以保证CPU的正确执行。 MA= BA+ VA 动态地址重定位 (dynamic address relocation) 在程序执行过程中,完成地址转换。 需要硬件地址变换机构完成。 需要一个(或多个)基地址寄存器BR和一个(或多个)程序虚拟地址寄存器VR。 指令或数据的内存地址MA与虚地址的关系为: MA=(BR)+ (VR) (BR)与(VR)分别表示寄存器BR与VR中的内容。 3 内外存数据传输的控制(内存扩充) 原因: 物理内存不够用 最基本的控制办法: 用户程序自己控制 覆盖(以程序段为单位,手动) 操作系统控制 交换(swapping)方式(以进程为单位) 请求调入(on demand)方式(以程序/数据段为单位) 预调入(on prefetch)方式(以程序/数据段为单位) 4 内存的分配与回收 主要功能: 进程创建时 把外存中的数据和程序调入内存,安排合适的位置(为进程分配内存空间)。 进程执行结束后 及时收回该进程所占用的内存资源,以便给其他进程分配空间。 考虑因素: (1)分配结构: 登记内存使用情况,共分配程序使用的表格与链表。 例如,内存空闲区表,空闲区队列。 (2)放置策略: 确定调入内存的程序和数据在内存中的位置。 选择内存空闲区的策略。 (3)交换策略: 在需要将某个程序段和数据段调入内存时,如果内存中没有足够的空闲区,由交换策略来确定把内存中的哪些程序段和数据段调出内存,以便腾出足够的空间。 (4)调入策略: 外存中的程序段和数据段什么时间按正么样的控制方式进入内存。 (5)回收策略: 包括回收的时机和回收的内存空闲区和已经存在的空闲区的调整。 5 内存信息的共享与保护 原因: 多道程序设计环境 内存中有系统进程以及多个用户的进程 要限制各进程只在自己的存储区活动 各进程不能对别的进程的产生干扰和破坏 常用的内存信息保护方法: 硬件法——上下界保护法 软件法——保护键法 软硬件结合——界限寄存器与CPU状态结合 上下界保护法 思想: 为每个进程设置一对上下界寄存器 上界寄存器——被保护程序和数据段的起始地址 下界寄存器——被保护程序和数据段的终止地址 检查经过重定位的内存地址是否在上下届寄存器所规定的范围内 在规定的范围内,则访问是合法的 否则是非法的,并产生访址越界中断 保护键法 思想: 为每一个被保护存储块分配一个单独的保护键 在程序状态字中则设置相应的保护键开关字段 对不同的进程赋予不同的开关代码和与被保护的存储块中的保护键匹配 保护键可设置成对读写同时保护的或只对读,写进行单项保护的 界限寄存器与CPU的用户态或核心态工作方式相结合的保护方式 思想; 用户态进程只能
文档评论(0)