第3章存储管理.docVIP

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章存储管理

第3章 存储管理 存储器是计算机中最重要的资源之一,是用来存放程序和数据的部件。现代计算机系统一般采用多级存储器体系,包括高速缓冲存储器(简称高速缓存),内存储器(也称物理存储器,简称内存、实存或内存)和辅助存储器(简称辅存或外存)。高速缓存的存取速度与中央处理器速度相当,速度快,但成本较高,容量较小(现在一般为几KB~几百KB),主要用来存放使用频率较高的少量信息;内存储器一般用来存放用户正在执行的程序及其用到的数据,中央处理器可随机存取其中的数据,其存取速度要比高速缓存慢一点,容量较高速缓存大得多(现在一般为几十MB~几百MB),程序需装入内存方能运行;辅助存储器不能被中央处理器直接访问,一般用来存放大量的、暂时不用的数据信息。辅助存储器存取速度较低,成本也较低,但容量较大(现在一般为几GB~几十GB)。三种存储器由高速缓存到辅助存储器,容量是递增的,存取速度是递减的。多级存储器体系中,信息的流动方向和容量、速度的关系,如图3.1所示。 高速缓冲存储器 内存储器 辅助存储器 图3.1 多级存储器体系示意图 操作系统中所谓的存储管理,主要是指对内存储器的管理。随着现代技术的发展,内存容量越来越大,但它仍然是一个关键性的、紧缺的资源,尤其是在多道程序环境之中,多个作业需共享内存资源,内存紧张的问题依然突出。所以,存储管理是操作系统的重要组成部分,能否合理有效地利用内存在很大程度上影响着整个计算机的性能。 本章首先介绍存储管理的研究对象和目的,明确存储管理的基本功能和相关的基本概念;然后从实存和虚存两个角度,分别介绍常用的几种存储管理方案;最后对各种存储管理方案存在的问题,主要是碎片和抖动问题进行总结。 3.1 概述 3.1.1 存储管理的功能 在多道程序环境中,存储管理的主要目的有两个:一是提高资源的利用率,尽量满足多个用户对内存的要求;二是能方便用户使用内存,使用户不必考虑作业具体放在内存哪块区域,是如何实现正确运行等复杂问题。为此,存储管理一般应能实现如下所述的基本功能: 按作业要求进行内存分配并进行适时回收。 ② 实现程序中的逻辑地址到物理地址的转换。 ③ 对操作系统及用户信息提供存储保护。 ④ 实现内存的逻辑扩充,提供给用户更大的存储空间。 下面分别予以详述。 3.1.2 内存的分配与回收 在多道程序设计的环境中,当有作业进入计算机系统时,存储管理模块应能根据当时的内存分配状况,按作业要求分配给它适当的内存。作业完成时,应回收其占用的内存空间,以便供其它作业使用。 内存分配按分配时机的不同,可分为两种方式。 ① 静态存储分配:指内存分配是各目标模块连接后,在作业运行之前,把整个作业一次性全部装入内存,并在作业的整个运行过程中,不允许作业再申请其它内存,或在内存中移动位置。也就是说,内存分配是在作业运行前一次性完成的。 ② 动态存储分配:作业要求的基本内存空间是在作业装入内存时分配的,但在作业运行过程中,允许作业申请附加的内存空间,或是在内存中移动位置,即分配工作可以在作业运行前及运行过程中逐步完成。 显然,动态存储分配具有较大的灵活性。它不要求一个作业把全部信息装入内存才开始运行,而是在作业运行期间需要某些信息时,系统才将其自动调入内存,作业中暂不使用的信息可放在辅存中,不必进入内存,从而大大提高了内存的利用率。 内存分配与回收时,设计者应考虑这样的问题: ① 作业调入内存时,如有多个空闲区,应将其放置在什么位置,即如何选择内存中空闲区问题。 ② 作业调入内存时,若内存中现在没有足够的空闲区,应考虑把那些暂时不用的信息从内存中移走,即所谓的置换问题。 ③ 当作业完成后,如何将作业占用的内存进行回收。 为此,内存中所有空闲区和已分配的区域应该合理地进行组织,通常可使用分区说明表、空闲区链表及存储分块表等组织形式。这样,当作业进入内存时,可适当地按要求分配内存,而作业退出时,可及时回收释放的内存。 3.1.3 地址重定位 为了实现静态或动态存储分配策略,必须考虑地址的重定位问题。为此,我们先明确一下内存空间和逻辑空间的概念。 1. 内存空间(或物理空间) 内存是由若干个存储单元组成的,每个存储单元有一个编号,这种编号可惟一标识一个存储单元,称为内存地址(或物理地址)。 内存地址的集合称为内存地址空间(或物理地址空间),简称内存空间(或物理空间)。它是一维线性空间,其编址顺序为0,1,2,3,…… n-1,n的大小由实际组成存储器的存储单元个数决定。比如,某个系统,有64K内存,则其内存空间编号为0,1,2,3,……65535。 2. 逻辑空间 我们用汇编语言或高级语言编写程序时,常常用符号名来访问某一单元。我们把程序中由符号名组成的程序空间称为符号名空间,

文档评论(0)

MvS023247 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档