第5章 存储管理--操作系统.ppt

  1. 1、本文档共78页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 存储管理 5.1 存储管理的功能 5.1.1 虚拟存储器 虚拟存储器的实质:以时间换空间,但时间牺牲不大。 虚拟存储器的实现方式: 请求分页系统 请求分段系统 5.1.2 地址变换 5.1.3 内外存数据传输的控制 5.1.4 内存的分配与回收 5.1.5 内存信息的共享与保护 5.2 分区存储管理 单一连续区分配 用于单用户,单任务系统中,如MS-DOS 固定分区法 动态分区法 5.2.1 分区管理基本原理 5.2.2 分区的分配与回收 拼接或紧凑 5.2.3 有关分区管理其他问题的讨论 5.3 覆盖与交换技术 5.4 页式管理 5.4.1 页式管理的基本原理 5.4.2 静态页式管理 5.4.3 动态页式管理 LRU 5.5 段式与段页式管理 5.5.1 段式管理的基本思想 5.5.2 段式管理的实现原理 1. 段式虚存空间 图5.29 缺段中断处理过程 图5.32 段式系统中共享内存副本 2. 段表和页表 3. 动态地址变换过程:三次访内存操作,为提高速度,在地址变换机构中增设一高速缓冲寄存器(Cache) 5.6 局部性原理和抖动问题 图 5.36 各种存储方法比较 图 5.30 段表 3.段式管理的地址变换 (1)段表(Segment mapping table) 段式管理程序在进行初始内存分配之前,首先根据用户要求的内存大小为一个作业或进程建立一个段表,以实现动态地址变换和缺段中断处理及存储保护等。 图5.31 段式地址变换过程 (2)动态地址变换 高速联想寄存器 4. 段的共享与保护 (1)段的共享 共享:内存中只保留一个副本,供多个用户使用。 (2)段的保护 地址越界保护法:利用段表中的段长项与虚拟地址中的段内相对地址比较进行。若段内相对地址大于段长,系统就会产生保护中断。 存取方式控制保护法: 分页与分段的主要区别: (1)分页是出于系统管理的需要,分段是出于用户应用的需要。因此,一条指令或一个操作数可能会跨越两个页的分界处,而不会跨越两个段的分界处。 (2)页大小是系统固定的,而段大小则通常不固定。 (3)逻辑地址表示:分页是一维的,各个模块在链接时必须组织成同一个地址空间;而分段是二维的,各个模块在链接时可以每个段组织成一个地址空间。 5.5.3 段式管理的优缺点 优点: (1)实现了虚存管理; (2)段长可根据需要动态增长,这对数据段是很有好处的; (3)便于逻辑段共享; (4)便于实现动态链接。 缺点: (1)需要硬件支持,增加了硬件成本; (2)存在碎片问题; (3)允许段的动态增长,增加管理难度和系统开销; (4)段的大小仍然受可用分区大小的限制; (5)淘汰算法不当,也可能发生抖动现象。 5.5.4 段页式管理的基本思想 分页管理有效地克服了碎片,提高了存储器的利用率。段式管理为用户提供了一个二维的虚地址空间,反映了程序的逻辑结构,有利于段的动态增长以及共享和内存保护等,这大大地方便了用户。那么,把段式管理和页式管理结合起来让其互相取长补短不是更好吗? 于是,段页式管理方式便被提了出来。 5.5.5 段页式管理的实现原理 1.虚地址的构成 一个进程中所包含的具有独立逻辑功能的程序或数据仍被划分为段,并有各自的段号s。这反映了段式管理的特征。其次,对于段s中的程序或数据,则按照一定的大小将其划分为不同的页。和页式系统一样,最后不足一页的部分仍占一页。这反映了段页式管理中的页式特征。从而,段页式管理时的进程的虚拟地址空间中的虚拟地址由三部分组成:即段号s,页号P和页内相对地址d。 图5.33 段页式管理中段表、页表与内存的关系 图5.34 段页式地址变换 优点:段页式管理是段式管理和页式管理方案结合而成的,所以具有它们二者的优点。 缺点:由于管理复杂性及系统开销也就随之增加了;需要的硬件以及占用的内存也有所增加;如果不采用联想寄存器的方式提高CPU的访问内存的速度,将会使得执行速度大大下降。 覆盖与交换技术是在多道环境下用来扩充内存的两种方法。 5.3.1 覆盖技术(overlay) 引入:其目标是在较小的可用内存中运行较大的程序。常用于多道程序系统,与分区存储管理配合使用。 原理:一个程序的几个代码段或数据段,按照时间先后来占用公共的内存空间。 (1)将程序的必要部分(常用功能)的代码和数据常驻内存; (2)可选部分(不常用功能)在其他程序模块中实现,平时存放在外存中(覆盖文件),在需要用到时才装入到内存; (3)不存在调用关系的模块不必同时装入到内存,从而可以相互覆盖。 图5.13 覆盖示例

文档评论(0)

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

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

1亿VIP精品文档

相关文档