第四章 郑州轻工业学院 计算机操作系统——存储器管理-考研.ppt

第四章 郑州轻工业学院 计算机操作系统——存储器管理-考研.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 郑州轻工业学院 计算机操作系统——存储器管理-考研

第四章 存储器管理 存储器的层次结构 在现代计算机系统中,存储器是信息处理的来源与归宿,占据重要位置。 但是,在现有技术条件下,任何一种存储装置,都无法同时从速度与容量两方面,满足用户的需求。 实际上它们组成了一个速度由快到慢,容量由小到大的存储装置层次。 §4.1 存储管理的功能 内存是现代计算机系统的中心,是指CPU能直接存取指令和数据的存储器,CPU和I/O设备都要和内存打交道。 内存由很大的一组字或字节所组成,每个字或字节都有它们自己的编号,称为内存地址。 对内存的访问是通过一系列对指定地址单元进行读写来实现的。 §4.1 存储管理的功能 4.1.1 存储空间的分配和回收 内存的分配与回收是内存管理的主要功能之一。用户程序通常以文件的形式保存在计算机外存上,为了执行用户程序,用户程序必须全部或部分装入内存,因此在内外存之间必须不断交换数据。能否把外存中的数据和程序调入内存,取决于能否在内存中为它们安排合适的位置。因此,存储管理模块要为每一个并发执行的进程分配内存空间。另外,当进程执行结束之后,存储管理模块又要及时回收该进程所占用的内存资源,以便给其他进程分配空间。 §4.1 存储管理的功能 4.1.2 地址转换(映射) 内存的每个存储单元都有一个编号,这种编号称为内存地址(或称为物理地址,绝对地址)。内存地址的集合称为内存空间(或物理地址空间)。 源程序经过汇编或编译后,形成目标程序,每个目标程序都是以0为基址顺序进行编址的,原来用符号名访问的单元用具体的数据——单元号取代。这样生成的目标程序占据一定的地址空间,称为作业的逻辑地址空间,简称逻辑空间。在逻辑空间中每条指令的地址和指令中要访问的操作数地址统称为逻辑地址。 §4.1 存储管理的功能 §4.1 存储管理的功能 我们把用户程序装入内存时对有关指令的地址部分的修改定义为从程序地址到内存地址的地址映射,或称为地址重定位。 地址映射的方式: 1、静态地址重定位 程序被装入内存时由操作系统的连接装入程序完成程序的逻辑地址到内存地址的转换。 假定程序装入内存的首地址为BR,程序地址为VR,内存地址为MR,则地址映射按下式进行:MR=BR+VR 。 §4.1 存储管理的功能 2、动态重定位 动态地址重定位是在程序执行的过程中,每次访问内存之前,将要访问的程序地址转换为内存地址。 动态重定位依靠硬件地址变换机构完成。地址重定位机构需要一个(或多个)基地址寄存器BR和一个(或多个)程序虚拟地址寄存器VR。指令或数据的内存地址MA与逻辑地址的关系为: MA=(BR)+ (VR) 这里,(BR)与(VR)分别表示寄存器BR与VR中的内容。 §4.1 存储管理的功能 §4.2 连续内存分配 4.2.1 分区管理的基本原理 分区管理的基本原理是给每一个内存中的进程划分一块适当大小的存储区(分区),以连续存储各进程的程序和数据,使得各进程在自己的分区中和其他进程并发的执行。 按分区的时机,分区管理可以分为固定分区和动态分区两种方法。 1、固定分区法: 把内存区固定地划分为若干个大小不等的区域。划分的原则由系统操作员或操作系统决定。 分区一旦划分结束,在整个执行过程中每个分区的长度和内存的总分区个数将保持不变。 §4.2 连续内存分配 在固定分区管理方式下,每个用户作业占用一个连续的分区区域,作业的程序和数据一旦装入分区后就不能再移动,所以它通常采用静态地址重定位。 在系统运行期间,对于要装入系统的用户作业,由操作系统根据用户作业的大小,选择一个尺寸合适的分区分配给该程序使用。 固定分区管理使用一个称为分区说明表的数据结构对用户作业进行存储分配。分区说明表中每一个表项对应一个分区,它记载着这个分区的序号、空间大小、起始地址和使用状况。 当用户作业要求装入系统时,操作系统通过分区说明表查找内存的空闲区域,然后根据作业的大小,按照一定的分配策略,选择一个空闲分区分配给该作业,并把分区说明表中该分区标明已占用。 §4.2 连续内存分配 某系统的内存容量为256K,操作系统占用低地址的20K,其余空间划分成4个固定大小的分区。如下图: §4.2 连续内存分配 §4.2 连续内存分配 例:在某系统中,采用固定分区分配管理方式,内存分区(单位字节)情况如图所示,现有大小为1K、9K、33K、121K的多个作业要求进入内存,试画出它们进入内存后的空间分配情况,并说明主存浪费多大? §4.2 连续内存分配 2、动态分区法 动态分区法在作业执行前并不建立分区,分区的建立是在作业的处理过程中进行的,且其大小可随作业或进程对内存的要求而改变。这就改变了固定分区法中那种即使是小作业也要占据大分区的浪费现象,从而提高了内存的利用率。 采用动态

文档评论(0)

yaocen + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档