第5章-存储管理概论.ppt

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 存储管理 本章内容提要 ■引言 ■分区法 ■分页技术 ■分段技术 ■段页式技术 ■虚拟存储器 ■请求分页技术 ■页面置换算法 ■内存块的分配和抖动问题 ■请求分段技术 ■ Linux系统的存储管理 5.1 引 言 内存(Main Memory或Primary Memory或Real Memory)也称主存,是指CPU能直接存取指令和数据的存储器。 用户程序的主要处理阶段 5.1.2 重定位 逻辑地址空间(简称地址空间) 由程序中逻辑地址组成的地址范围 内存空间(也称物理空间或绝对空间) 由内存中一系列存储单元所限定的地址范围 重定位 程序和数据装入内存时,需对目标程序中的地址进行修改。这种把逻辑地址转变为内存物理地址的过程称作重定位 重定位方式 静态重定位 动态重定位 1.静态重定位 目标程序装入内存时进行地址变换 2.动态重定位 程序执行期间进行重定位 5.1.3 对换技术 5.2 分区法 分区分配是为支持多道程序运行而设计的一种最简单的存储管理方式。 5.2.1 固定分区法 分区个数固定不变,大小固定不变 划分分区方式: ▲等分方式 ▲差分方式 固定分区法 5.2.2 动态分区法 1.分区的分配 动态分区法 2.数据结构 常用的数据结构形式: (1)空闲分区表 (2)空闲分区链 使用链指针把所有的空闲分区链接成一条链 3.分配算法 (1)最先适应算法 空闲表是按地址排列的(即空闲块地址小的,在表中的序号也小)。 (2)最佳适应算法 空闲表是以空闲分区的大小为序、按增量形式排列的,即小块在前,大块在后。 (3)循环适应算法 最先适应算法的变种。它不从空闲表的开头查找,而从上次找到的可用分区的下一个空闲分区开始查找,从中选择满足大小要求的第一个空闲分区。 分配算法 4. 碎片问题 “碎片”或“零头”: 内存中这种容量太小、无法利用的小分区 内部碎片: 在一个分区内部出现的碎片(即被浪费的空间),如固定分区法会产生内部碎片。 外部碎片: 在所有分区之外新增的碎片 5.2.3 可重定位分区分配 1.紧缩 紧缩(或拼凑) 可重定位分区法 紧缩时机 ●释放所占分区时 ●分配进程分区时 2.动态重定位的实现过程 动态重定位经常用硬件实现 硬件支持 基址寄存器 限长寄存器 3. 可重定位分区法的优缺点 ●优点: 可以消除碎片,能够分配更多的分区,有助于多道程序设计,提高内存的利用率。 ▲缺点: ◎紧缩花费了大量CPU时间 ◎当进程大于整个空闲区时,仍要浪费一定的内存 ◎进程的存储区内可能放有从未使用的信息 ◎进程之间无法对信息共享 5.3 分页技术 5.3.1 分页存储管理的基本概念 (1)逻辑空间分页 (2)内存空间分块 内存块或页框 (3)逻辑地址表示 分页存储管理的基本概念 (6)内存块表 整个系统有一个内存块表。每个内存块在内存块表中占一项,表明该块当前空闲还是已分出去了。 5.3.2 分页系统中的地址映射 5.3.3 页面尺寸 5.3.4 硬件支持 由硬件实现页表的方式有多种,最简单的方式是由一组专门的寄存器来实现。 通常将页表保存在内存中,由一个页表基址寄存器PTBR指向该页表。整个系统只有一个PTBR。 ▲带来存取速度下降的矛盾 联想存储器,也称快表(或Translation Lookaside Buffer, TLB)。快表每项包括键号和值两部分,键号是当前进程正在使用的某个页面号,值是该页面所对应的物理块号。 5.3.5 保护方式 (1)利用页表本身进行保护 (2)设置存取控制位 (3)设置合法标志 5.3.6 页表的构造 1.多级页表 大多数现代计算机系统都支持非常大的逻辑地址空间,如232 ~264。在这种情况下,只用一级页表会使页表变得非常大。 一种方法是利用两级页表,即把页表本身也分页。 散列页表 3.倒置页表 它是按内存块号排序的,每个内存块占有一个表项。每个表项包括存放在该内存块中页面的虚拟页号和拥有该页面的进程标识符。 5.3.7 页面共享 5.4 分段技术 2.程序的地址结构 逻辑地址要用两个成分来表示: 段号s和段内地址d 进程的逻辑地址空间是二维的 3.内存分配 内存以段为单位进行分配,每段单独占用一块连续的内存分区。各分区的大小由对应段的大小决定。 4.段表和段表地址寄存器 系统为每个进程建立一个段映射表,简称“段表”。每个段在段表中占有一项,段表项中包含段号、段长和段起始地址(又称“基址”)等。 系统还

文档评论(0)

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

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

1亿VIP精品文档

相关文档