第五章存储管理精选文档.ppt
《第五章存储管理精选文档.ppt》由会员分享,可在线阅读,更多相关《第五章存储管理精选文档.ppt(80页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第五章存储管理本讲稿第一页,共八十页本章内容提要引言分区法分页技术分段技术段页式技术虚拟存储器请求分页技术页面置换算法内存块的分配和抖动问题请求分段技术 Linux系统的存储管理本讲稿第二页,共八十页5.1 引 言n内存(Main Memory或Primary Memory或Real Memory)也称主存,是指CPU能直接存取指令和数据的存储器。内存在计算机系统中的地位5.1.1 用户程序的地址空间本讲稿第三页,共八十页 用户程序的主要处理阶段主要处理阶段 编辑 编译 连接 装入 运行有关概念 装入程序 相对地址或逻辑地址 绝对地址或物理地址 程序装入内存的方式 绝对装入方式 可重定位装入方
2、式 动态运行时装入方式 本讲稿第四页,共八十页5.1.2 重定位n逻辑地址空间(简称地址空间)由程序中逻辑地址组成的地址范围n内存空间(也称物理空间或绝对空间)由内存中一系列存储单元所限定的地址范围n重定位 程序和数据装入内存时,需对目标程序中的地址进行修改。这种把逻辑地址转变为内存物理地址的过程称作重定位n重定位方式 静态重定位 动态重定位本讲稿第五页,共八十页1静态重定位 目标程序装入内存时进行地址变换 程序装入内存时的情况 静态重定位示意图 优点:无需增加硬件地址转换机构 主要缺点:位置“钉死”;不便共享本讲稿第六页,共八十页2动态重定位 程序执行期间进行重定位动态重定位示意图主要优点:
3、位置可变,不必连续 ;易于共享 主要缺点:需要附加硬件支持;软件算法比较复杂 本讲稿第七页,共八十页5.1.3 对换技术对换两个进程示意图 多道程序对换技术示例 本讲稿第八页,共八十页5.2 分区法n分区分配是为支持多道程序运行而设计的一种最简单的存储管理方式。5.2.1 固定分区法n分区个数固定不变,大小固定不变n划分分区方式:等分方式 差分方式 本讲稿第九页,共八十页 固定分区法 固定分区管理示意图 分区说明表 优点:管理方式简单,所需操作系统软件和处理开销都小缺点:内存空间利用率不高,碎片严重;活动进程数目受限;无法预知所需内存大小 本讲稿第十页,共八十页5.2.2 动态分区法1分区的分
4、配MVT的内存分配和进程调度情况 操作系统内部设置一个 内存登记表 本讲稿第十一页,共八十页 动态分区法2数据结构常用的数据结构形式:(1)空闲分区表(2)空闲分区链n使用链指针把所有的空闲分区链接成一条链 本讲稿第十二页,共八十页3分配算法(1)最先适应算法n空闲表是按地址地址排列的(即空闲块地址小的,在表中的序号也小)。(2)最佳适应算法n空闲表是以空闲分区的大小为序、按增量形式排列的,即小块在前,大块在后。(3)循环适应算法n最先适应算法的变种。它不从空闲表的开头查找,而从上次找到的可用分区的下一个空闲分区开始查找,从中选择满足大小要求的第一个空闲分区。本讲稿第十三页,共八十页 分配算法
5、三种算法分配16KB空闲分区之前和之后的内存配置情况 本讲稿第十四页,共八十页4.碎片问题n“碎片”或“零头”:内存中这种容量太小、无法利用的小分区n内部碎片:在一个分区内部出现的碎片(即被浪费的空间),如固定分区法会产生内部碎片。n外部碎片:在所有分区之外新增的碎片本讲稿第十五页,共八十页5.2.3 可重定位分区分配1紧缩n紧缩(或拼凑)n可重定位分区法n紧缩时机释放所占分区时分配进程分区时 可重定位分区的紧缩示意图 本讲稿第十六页,共八十页2动态重定位的实现过程n动态重定位经常用硬件实现n硬件支持 基址寄存器 限长寄存器动态重定位的实现过程 本讲稿第十七页,共八十页3.可重定位分区法的优缺
6、点优点:可以消除碎片,能够分配更多的分区,有助于多道程序设计,提高内存的利用率。缺点:紧缩花费了大量CPU时间 当进程大于整个空闲区时,仍要浪费一定的内存 进程的存储区内可能放有从未使用的信息 进程之间无法对信息共享本讲稿第十八页,共八十页5.3 分页技术5.3.1 分页存储管理的基本概念(1)逻辑空间分页(2)内存空间分块 内存块或页框(3)逻辑地址表示分页技术的地址结构示意图 给定的逻辑地址是A,页面的大小为L,则页号p和页内地址d可按下式求得 p=INT(A/L),d=A MOD L式中,INT是向下整除的函数,MOD是取余函数。本讲稿第十九页,共八十页 分页存储管理的基本概念(4)内存
7、分配原则以块为单位 每个页面对应一个内存块 内存块可不连续分页存储管理系统示意图 本讲稿第二十页,共八十页(5)页表实现从页号到物理块号的地址映射分页存储管理的基本概念本讲稿第二十一页,共八十页(6)内存块表n整个系统有一个内存块表。每个内存块在内存块表中占一项,表明该块当前空闲还是已分出去了。分页存储管理的基本概念本讲稿第二十二页,共八十页5.3.2 分页系统中的地址映射分页系统的地址转换机构每个进程平均有半个页面的内部碎片每个进程平均有半个页面的内部碎片本讲稿第二十三页,共八十页5.3.3 页面尺寸折中方案设进程的平均大小为s字节,页面尺寸为p字节,每个页表项占e字节。那么,每个进程需要的
8、页数大约为s/p,占用 s.e/p 字节的页表空间。每个进程的内部碎片平均为p/2。因此,由页表和内部碎片带来的总开销是:总开销=本讲稿第二十四页,共八十页5.3.4 硬件支持n由硬件实现页表的方式有多种,最简单的方式是由一组专门的寄存器来实现。n通常将页表保存在内存中,由一个页表基址寄存器PTBR指向该页表。整个系统只有一个PTBR。带来存取速度下降的矛盾n联想存储器,也称快表(或Translation Lookaside Buffer,TLB)。快表每项包括键号和值两部分,键号是当前进程正在使用的某个页面号,值是该页面所对应的物理块号。本讲稿第二十五页,共八十页利用快表实现地址转换示例 硬
9、件支持命中率 在快表中成功找到指定页号的次数占总搜索次数的百分比 本讲稿第二十六页,共八十页5.3.5 保护方式(1)利用页表本身进行保护(2)设置存取控制位(3)设置合法标志本讲稿第二十七页,共八十页5.3.6 页表的构造1多级页表大多数现代计算机系统都支持非常大的逻辑地址空间,如232 264。在这种情况下,只用一级页表会使页表变得非常大。n一种方法是利用两级页表,即把页表本身也分页。两级页表地址结构示意图 本讲稿第二十八页,共八十页两级页表结构示意图 多级页表本讲稿第二十九页,共八十页两级页表结构的地址转换多级页表本讲稿第三十页,共八十页三级页表地址结构示意图 多级页表 2散列页表(Ha
10、shed Page Table)以页号作为参数形成散列值。散列表中每一项有一个链表,它把有相同散列值的元素链接起来。每个链表元素由三部分组成:页号 对应的内存块号 指向链表中下一个元素的指针本讲稿第三十一页,共八十页 散列页表散列页表构成及地址转换过程 本讲稿第三十二页,共八十页3倒置页表n它是按内存块号排序的,每个内存块占有一个表项。每个表项包括存放在该内存块中页面的虚拟页号和拥有该页面的进程标识符。倒置页表构成及地址转换过程 本讲稿第三十三页,共八十页5.3.7 页面共享可可再再入入代代码码(或或纯纯码码):在在其其执执行行过过程程中中本本身身不不做做任任何何修修改改的的代代码码,通常由指
11、令和常数组成通常由指令和常数组成三个进程共享大小为三个页面的编辑器的情况,每个进程都有自己的私有数据页。页面共享示例 本讲稿第三十四页,共八十页5.4 分段技术5.4.1 分段存储管理的基本概念分段地址空间1分段分段段是一组逻辑信息的集合。每段都有自己的名字、长度。段号本讲稿第三十五页,共八十页2程序的地址结构n逻辑地址要用两个成分来表示:段号s和段内地址d 进程的逻辑地址空间是二维的分段技术地址结构示意图 本讲稿第三十六页,共八十页3内存分配n内存以段为单位进行分配,每段单独占用一块连续的内存分区。各分区的大小由对应段的大小决定。4段表和段表地址寄存器n系统为每个进程建立一个段映射表,简称“
12、段表”。每个段在段表中占有一项,段表项中包含段号、段长和段起始地址(又称“基址”)等。n系统还要建立一个段表地址寄存器。它有两部分:该段表在内存的起始地址 该段表的长度。本讲稿第三十七页,共八十页5分页和分段的主要区别 页是信息的物理单位 段是信息的逻辑单位 页的大小是由系统确定的 段的长度因段而异 分页的进程地址空间是一维的 分段的进程地址空间是二维的 分页系统很难实现过程和数据的分离 分段系统却可以很容易实现这些功能本讲稿第三十八页,共八十页5.4.2 地址转换分段地址转换过程 本讲稿第三十九页,共八十页5.4.3 段的共享和保护1段的共享n共享是在段一级实现的,任何共享信息可以单独成为一
13、段。n也可以只共享部分程序。分段系统中段的共享 本讲稿第四十页,共八十页2段的保护n段的保护措施包括以下三种:存取控制 段表本身可起保护作用 表项中设置该段的长度限制 段长 段表地址寄存器中有段表长度的信息 保护环 本讲稿第四十一页,共八十页5.5 段页式技术5.5.1 段页式存储管理的基本原理 等分内存 地址空间分段 段内分页 逻辑地址结构 内存分配 段表、页表和 段表地址寄存器 段页式存储逻辑地址结构示意图 本讲稿第四十二页,共八十页5.5.2 地址转换过程段页式系统的地址转换机构 本讲稿第四十三页,共八十页5.6 虚拟存储器5.6.1 虚拟存储器的概念n进程在执行之前要全部装入内存,这种
14、限制是不合理的。程序中往往含有不会被执行的代码 分配的内存空间会大于它们的实际需要 一个程序的某些选项和特性可能很少使用n程序的执行过程也显示出局部性n按需分别调入内存会带来两点好处:用户编制程序时不必考虑内存容量的限制 在一定容量的内存中就可同时装入更多的进程本讲稿第四十四页,共八十页n虚拟存储器(Virtual Memory)用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器 与物理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。n实现虚拟存储技术的物质基础 二级存储器结构 动态地址转换机构(DAT)n虚拟存储器实质上是把用户地址空间和实际的存储空间区分开来。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 存储 管理 精选 文档
限制150内