第四章_存储管理素材.ppt

  1. 1、本文档共118页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统 Operating System 教学目的 通过对本章的讲解使学生理解并掌握存储管理功能,各种内存分配方式,如连续分配方式,离散分配方式以及虚拟存储的基本理论。 本章重点: 程序的装入方式 连续分配方式的管理 离散分配方式的管理 虚拟存储的基本理论 本章难点: 地址变换的实现 虚拟存储的理解 页面置换算法的实现 第4章 存储管理 §4.1 存储管理的原理 §4.2 连续分配存储管理 §4.3 离散分配存储管理 §4.4 内核主存管理 §4.5 虚拟存储技术 §4.6 虚拟页式存储管理 §4.7 虚拟段式存储管理 §4.8 存储管理实例 本章学习目标 本章首先介绍了存储管理的研究对象和目的,明确了存储管理的基本功能和原理;然后从连续、离散(实存、虚存)两个角度,分别介绍了常用的几种存储管理方案;最后介绍了当前主流操作系统中存储管理实例。 §4.1 存储管理的原理 §4.1.1 存储器 §4.1.2 存储管理的原理 §4.1.3 链接 §4.1.4 存储管理的机制和策略 §4.1.2 存储管理的原理 1.存储管理的原理 (1)程序执行过程   首先CPU通过程序计数器中的值从内存中取得相应的指令,指令被译码后根据要求可能会从存储器中再取得操作数。对操作数处理完成后,操作结果又会存储到存储器中;进程在运行过程中依据任务的要求也会请求内存空间,如I/O需要缓冲区、存放临时数据等,这涉及到内存的分配与回收问题。 (2)存储管理的主要工作   就是负责内存空间的使用管理,即为进程分配与回收空间,将程序装入指定内存区域;再从指定的存储单元中读写数据,而内存单元的读写操作是由主存硬件完成的,所以对主存发出的读写请求只要指定主存单元就行。 2.存储单元与物理地址空间 (1)物理地址(绝对地址) 内存是由若干个存储单元组成的,每个存储单元有一个编号,这种编号可唯一标识一个存储单元,称为内存地址(或物理地址)。 (2)物理地址空间 是指物理地址的集合,也叫绝对地址空间或实空间或存储空间,亦即内存空间。存储空间中的单元一般都是按字节从0开始连续编址的,内存空间的最大容量由地址总线决定。如地址总线有24根,则其地址范围是0~~16M-1(224-1),最大容量为16M。 (3)存储单元的访问 存储器只能通过物理地址访问内存单元。即给出欲访问的存储单元绝对地址,存储器即可对其进行读写操作。 3.作业的装入 (1)作业的处理过程    用户的作业总是由一个或若干个源程序文件组成,编译或汇编程序可对源程序文件进行编译或汇编形成相应的目标模块,再由连接程序将这些目标模块和库函数连接成一个完整的装入模块,最后将其装入内存执行。 (2)名字空间    用汇编语言或高级语言编写程序时,总是通过符号名来访问某一单元。我们把程序中由符号名组成的空间称为名空间。 (3)逻辑地址空间    源程序经过汇编或编译并再经过链接程序所装配形成的程序,通常是以0为基址进行顺序编址,或者是分成若干个部分,每个部分以0为基址,这样的地址表示形式称为相对地址,也叫做逻辑地址或虚地址,把该程序逻辑地址组成的集合叫做程序的逻辑地址空间(简称地址空间,也叫相对地址空间或虚空间 ) 。 4.地址重定位 (1)地址变换 作业运行时不能按其相对地址访问内存单元,而应按相应的物理地址访问。因此将一个逻辑地址空间的程序装入到物理地址空间时,由于两个空间不一致,需要进行相对地址到物理地址的转换,即地址的重定位。也就是说将虚地址映射为内存地址,这种作法叫做地址重定位或地址变换或地址映射。地址重定位有两种方式:静态重定位和动态重定位。 (2)静态地址重定位 静态地址重定位是在程序执行之前由操作系统的重定位装入程序完成的。在装入一个作业时,把作业中的指令地址全部转换为绝对地址(地址转换工作是在作业执行前集中一次完成的)在作业执行过程中就无须再进行地址转换工作。 静态地址重定位的优点是容易实现,无需硬件支持,它只要求程序本身是可重定位的,即对那些要修改的地址部分具有某种标识,地址重定位由专门设计的程序来完成。在早期的操作系统中大多数都采用这种方法。其主要缺点是程序经地址重定位后就不能移动了,因而不能重新分配内存,不利于内存的有效利用。 (3)动态地址重定位 动态地址重定位是在程序执行期间进行的。在CPU访问内存之前,将要访问的程序或数据地址转换成内存地址。 通过基地址寄存器、变址寄存器计算出指令的有效地址,再利用硬件机构实现地址映射,这样的硬件设备称为存储管理单元MMU(Memory-Management Unit)。 通常采用的办法是利用一个重定位寄存

您可能关注的文档

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档