OS04 存储管理.ppt

  1. 1、本文档共162页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 存储管理 第四章 存储管理 4.1 主存管理的功能 4.2 分区存贮管理 4.3 分页存储管理 4.4 分段存储管理 4.5 段页式存储管理 4.6 覆盖技术与交换技术 4.7 虚拟存储 4.1 主存管理的功能 4.1.1 地址映射 4.1.2 主存分配 4.1.3 存储保护 4.1.4 主存扩充(虚拟内存) 4.1.1 地址映射(地址重定位) 内存的每个存储单元都有一个编号,这种编号称为内存地址(或称为物理地址,绝对地址)。 内存地址的集合称为内存空间(或物理地址空间)。 要求用户用内存地址编程是非常困难的,尤其是在多道程序设计的环境中。 用户编程所用的地址称为逻辑地址(或程序地址,或虚地址),由逻辑地址组成的空间称为逻辑地址空间(或程序地址空间)。 地址映射的方式 我们把用户程序装入内存时对有关指令的地址部分的修改定义为从程序地址到内存地址的地址映射,或称为地址重定位。 地址映射的方式: 1、静态地址映射 2、动态地址映射 1、静态地址映射 程序被装入内存时由操作系统的连接装入程序完成程序的逻辑地址到内存地址的转换。 映射方法 假定程序装入内存的首地址为BR,程序地址为VR,内存地址为MR,则地址映射按下式进行:MR=BR+VR 。 例如,程序装入内存的首地址为1000,则装配程序就按MR=1000+VR对程序中所有地址部分进行修改,修改后指令Load A,200就变为Load A,1200 优缺点 优点:不需要硬件的支持。 缺点:程序必须占用连续的内存空间;一旦程序装入后不能移动。 2、动态地址映射 动态地址重定位是在程序执行的过程中,每次访问内存之前,将要访问的程序地址转换为内存地址。一般来说这种转换是由专门的硬件机构来完成的。 映射方法 最简单的硬件机构是重定位寄存器。 在地址重定位机构中,有一个基地址寄存器BR和一个程序地址寄存器VR,一个内存地址寄存器MR。 地址映射的具体过程 程序装入内存后,它所占用的内存区的首地址由系统送入基地址寄存器BR中。 在程序执行的过程中,若要访问内存,将访问的逻辑地址送入VR中。 地址转换机构把VR和BR中的内容相加,并将结果送入MR中,作为实际访问的地址。 动态地址映射的优缺点 优点: 程序占用的内存空间是动态可变的,当程序从某个存储区移到另一个区域时,只需要修改相应的寄存器BR的内容即可。 一个程序不一定要求占用一个连续的内存空间。 可以部分地装入程序运行。 便于多个进程共享同一个程序的代码。 动态地址重定位的代价: 需要硬件的支持。 实现存储管理的软件算法较为复杂。 4.1.2 主存分配与回收 要完成内存的分配和回收工作,要求设计者选择和确定以下几种策略和结构: 调入策略 放置策略 置换策略 分配结构 调入策略 用户程序在何时调入内存的策略。 目前有请调和预调两种 放置策略 用户程序调入内存时,确定将其放置在何处的策略。 置换策略 当需要将某个用户程序调入内存而内存空间又不够时,就要确定哪个或哪些程序可以从内存中移走。 分配结构 分配结构是用来登记内存使用情况的数据结构。如空闲区表、空闲区队列等。 引起内存分配和回收的原因 进程的开始的结束。 进程运行的过程中,它所占用的内存也可能发生变化。如栈的变化。 进程映像在内存和外存之间传递。由于内存有限,系统中不可能容纳所有进程,有些进程的映像可以存放在外存,当要运行这些进程时,必须把它们调入内存。 系统为了充分利用内存空间,有时可能对内存空间进行调整。 4.1.3 存储保护 保证在内存中的多道程序只能在给定的存储区域内活动并互不产生干扰。 包括: 防止地址越界 防止越权(对共享区有访问权) 存储保护的硬件支持 界地址寄存器(界限寄存器) 存储键 界地址寄存器(界限寄存器) 界地址寄存器被广泛使用的一种存储保护技术 机制比较简单,易于实现 实现方法 在CPU中设置一对下限寄存器和上限寄存器存放用户作业在主存中的下限和上限地址 也可将一个寄存器作为基址寄存器,另一寄存器作为限长寄存器(指示存储区长度) 每当CPU要访问主存,硬件自动将被访问的主存地址与界限寄存器的内容进行比较,以判断是否越界 如果未越界,则按此地址访问主存,否则将产生程序中断——越界中断(存储保护中断) 图示 4.1.4 主存扩充(虚拟内存) 为了使程序员在编程时不受内存的结构和容量的限制,系统为用户构造一种存储器,其结构可能与内存结构不同,容量可能远远超过内存的实际容量。这种面向编程的存储器称为虚拟存储器。由虚存构成的存储空间称为虚存空间。或称虚地址空间。 实现虚拟内存的基本原理 将程序正在使用的部分内容放在内存,而暂时不用的部分放在外存,在需要时由系统调入内存,并将不需要(或暂不需要)的部

文档评论(0)

精华文档888 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档