10 课件资料李红卫-操作系统001OS-ch5_第1页
10 课件资料李红卫-操作系统001OS-ch5_第2页
10 课件资料李红卫-操作系统001OS-ch5_第3页
10 课件资料李红卫-操作系统001OS-ch5_第4页
10 课件资料李红卫-操作系统001OS-ch5_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,江苏理工学院,授课教师: 李红卫,操作系统,目录,操作系统,操作系统,第5章 存储管理,本章学习计算机存储系统的层次结构、存储管理的基本概念、分区存储管理方案;重点学习分页式与请求页式存储管理方案、分段与段页式存储管理技术以及虚拟存储管理技术的具体实现方法;简单了解Linux操作系统的存储管理技术。,内容提要,教学目标,本章了解计算机系统的分级存储体系、地址映射的基本概念与实现方法、分区存储管理的有关概念与实现方法,重点掌握分页式存储管理、请求页式存储管理以及分段式、段页式存储管理的基本原理和相关技术。,5.1 存储管理概述,5.1.1 计算机存储系统分层结构 存储系统: 分层结构模式 特点

2、: 速度(高速低速) 价格(高价低价) 容量(小容量大容量),图 5-1 计算机存储系统的分层结构,5.1 存储管理概述,5.1.2 用户程序的处理过程,编译:将用户源代码编译成若干个目标模块 链接:将目标代码及其库函数链接成装入模块 装入:将装入模块装入内存,5.1 存储管理概述,5.1.3 存储管理的基本概念,1. 地址空间与逻辑地址 名字空间:存放源程序的空间 地址空间:目标程序所占有的地址范围 逻辑地址:各个地址以“0” 为参考地址顺序编址(相对于0的地址,故又称为相对地址 ),5.1 存储管理概述,5.1.3 存储管理的基本概念,2. 存储空间与物理地址 存储空间:主存中全部物理单元

3、的集合 物理地址:存储器里以字节为单位存储信息, 每一个字节单元所给予的一个惟一的编号 由于它并不和任何相对地址相关,又被称为绝对地址,5.1 存储管理概述,5.1.3 存储管理的基本概念,3. 地址重定位,5.1 存储管理概述,5.1.3 存储管理的基本概念,3. 地址重定位 静态重定位:在用户程序运行之前,由装入程序把用户程序中的相对地址全部转换为存储空间的绝对地址,5.1 存储管理概述,5.1.3 存储管理的基本概念,3. 地址重定位 动态重定位:在程序执行过程中动态地进行地址转换的方式,5.1 存储管理概述,5.1.3 存储管理的基本概念,4.存储器共享 允许多个进程共享主存中的同一个

4、区域 共享区域可以是数据、程序代码等 共享的程序必须是可重入程序(纯代码 ) 存储器共享目的: 节省内存空间,提高内存利用率 通过数据共享实现进程通信,5.1 存储管理概述,5.1.3 存储管理的基本概念,5. 存储器保护 防止地址越界 进程运行时所产生的所有访问地址都必须被检查,以确保只访问为该进程分配的存储空间 正确存取内存 进程访问公共区域时,检查进程对内存的操作方式,防止由于误动作而破坏被存储的内容,5.2 分区存储管理,5.2.1 单一连续区存储管理,1. 内存分配 整个内存划分为两个区: 系统区:分配给操作系统专用的一个固定分区 用户区:剩余的其它内存区域,5.2 分区存储管理,5

5、.2.1 单一连续区存储管理,2.地址映射 采用静态重定位 3. 存储保护 使用界限寄存器保护法,5.2 分区存储管理,5.2.2 固定分区存储管理,1. 划分方法 预先把可分配的主存空间分割成若干个连续的区域,每个区域的大小可以相同,也可以不同 每个用户进程装入连续的存储区域,5.2 分区存储管理,5.2.2 固定分区存储管理,2. 分配与回收 系统设置 “主存分配表”,记录各分区的信息及当前使用情况,5.2 分区存储管理,3. 地址映射 一般采用静态重定位 分配某一个分区时,将该作业程序指令中的相对地址与该分区的起始地址相加,得到相应的绝对地址 也可采用动态重定位,5.2.2 固定分区存储

6、管理,5.2 分区存储管理,5.2.2 固定分区存储管理,固定分区存储管理动态重定位,5.2 分区存储管理,5.2.2 固定分区存储管理,固定分区存储管理的优缺点 优点 技术简单,需要的硬件支持少 支持多道程序工作 缺点 “内部碎片”降低了内存的利用率,5.2 分区存储管理,5.2.3 可变式分区存储管理,1. 分配与回收 作业进入主存执行之前并不建立分区,当要装入一个作业时,根据作业需要的主存量查看主存中是否有足够的空间,若有,则按需要量分割一个分区分配给该作业;若无,则令该作业等待主存空间,也称为动态分区分配,根据作业的实际需求动态地划分内存的分区,5.2 分区存储管理,5.2.3 可变式

7、分区存储管理,可变式存储管理的工作原理,5.2 分区存储管理,5.2.3 可变式分区存储管理,主存的分配与回收,5.2 分区存储管理,5.2.3 可变式分区存储管理,外部碎片 可变分区随着作业对存储区域的不断申请与释放,将使分区的数目逐渐增加,每个分区的长度会逐步减小,同时也导致空闲分区越来越小,使得空闲分区满足作业存储要求的能力下降,甚至有可能分配不出去 外部碎片(外零头):无法分配给用户使用的空闲分区 内部碎片(内零头):分配给了用户而未被用户完全利用的空闲部分 空闲分区的合并是解决外部碎片的有效途径,5.2 分区存储管理,5.2.3 可变式分区存储管理,2. 空闲分区的合并,5.2 分区

8、存储管理,5.2.3 可变式分区存储管理,3. 可变分区分配算法 首次适应算法(First fit) 把最先找到的能满足作业存储要求的那个空闲分区分配给作业 要求空闲分区链以地址递增的顺序链接 分配方法:链首 第一个大小满足的空闲分区分配,5.2 分区存储管理,5.2.3 可变式分区存储管理,3. 可变分区分配算法 首次适应算法(First fit) 缺点 每次分配都需要从链首也就是低地址开始查找 低地址容易形成多个过小分区成为外部碎片 大分区逐渐分割成许多小分区,对大作业不利 小分区增加了查寻时的判断时间,降低了分配的效率,5.2 分区存储管理,5.2.3 可变式分区存储管理,3. 可变分区

9、分配算法 循环首次适应算法(Next fit) 增加一个起始查寻指针,不再每次都从链首开始查找 找到适当分区后,按首次适应算法的分配方式进行分区划分 优缺点:减少了查寻次数,但缺失大空闲分区,5.2 分区存储管理,5.2.3 可变式分区存储管理,3. 可变分区分配算法 最佳适应算法(Best fit) 从所有能够满足作业要求的空闲分区中找到一个最小的分区分配给申请作业 要求分区链按照分区容量从小到大递增的顺序形成空闲分区链 分配时从链首开始查找,找到第一个大小作业申请空间大小最接近的分区予以分配,5.2 分区存储管理,5.2.3 可变式分区存储管理,3. 可变分区分配算法 最佳适应算法(Bes

10、t fit) 优点 查找次数少,为分区数的一半 可避免把大的空闲分区分割成小的空闲分区 缺点 每次分配一个分区会造成一个无法再利用的小空闲区,5.2 分区存储管理,5.2.3 可变式分区存储管理,3. 可变分区分配算法 最坏适应算法(Worst fit) 从所有能够满足作业要求的空闲分区中找到一个最大的分区分配给申请作业 需要将空闲分区链按照分区容量从大到小递减的顺序排列 分配时从链首开始,若链首分区大小不满足,则可以肯定不存在能够满足要求的分区,5.2 分区存储管理,5.2.3 可变式分区存储管理,3. 可变分区分配算法 最坏适应算法(Worst fit) 优点: 查找速度快 分区碎片少 缺

11、点: 会缺失大分区,5.2 分区存储管理,5.2.3 可变式分区存储管理,可变分区分配算法示例,5.2 分区存储管理,5.2.3 可变式分区存储管理,4. 地址映射与存储保护,5.2 分区存储管理,5.2.4 可变式分区存储管理,1. 内存碎片与移动 存储移动(存储紧缩):将内存中使用的区域经过移动集中到内存的某一个区域,使碎片集中到一个区域形成较大的可使用空闲空间 移动技术可以消除碎片,但增加了系统的开销,5.3 内存扩充技术,5.3.1 覆盖(Overlay),覆盖:将程序进行分割,将经常活跃的部分常驻内存,其余部分按调用关系分段,形成一个或多个覆盖,每个覆盖是一个相对独立的程序单位 采用

12、覆盖技术后,作业可以分为常驻内存部分和覆盖部分 常驻内存部分:作业处理过程中始终需要的程序段 覆盖部分:作业处理过程中动态调入内存的程序段 处理过程: 先把常驻内存部分调入 存放在辅存的覆盖部分陆续调入,5.3 内存扩充技术,作业大小:56K 仅需30K存储空间,5.3 内存扩充技术,5.3.1 覆盖(Overlay),覆盖的优缺点: 优点 可以在小内存中运行大作业 缺点 用户难以预知程序的覆盖情况 用户只能有效地利用自己程序所占用的内存,而不能对整个内存加以有效利用 各进程占用的分区仍会存在碎片,5.3 内存扩充技术,5.3.2 交换(Swapping),交换:把内存中暂时无法运行的进程或者

13、暂时不需要的程序、数据移到辅存,并将具备运行条件的进程或者需要的程序、数据从辅存读入内存 引入交换技术的存储管理系统中,外存被划分为文件区和交换区两个部分 换出(Swap out):从主存到辅存的移出 换入(Swap in):从辅存到主存的写入,在分区存储管理中,不论采用什么办法都会出现碎片问题,从而降低了内存的利用率。虽然采用压缩存储区的方法可以解决碎片问题,但系统开销太大,而无实用价值,必须寻求新的技术来解决这一问题,于是分页技术产生了。 分页技术是由曼彻斯特大学提出,并于1960年前后在Atlas计算机上实现。这种技术对操作系统的发展产生了深远影响。,5.4 分页式存储管理,5.4 分页

14、式存储管理,5.4.1 分页式存储管理的基本原理,1. 页框与页面 页框:将整个主存划分成若干个大小为2的整数次幂的分区,每个分区大小相同,我们把这些分区称为页框,并对每个页框从0开始加以编号,如0号页框、1号页框 页面 :将用户作业的相对地址空间按页框的尺寸进行划分,所划分的每个分区称为页面,并对每个页面从0开始加以编号,如第0页、第1页,5.4 分页式存储管理,5.4.1 分页式存储管理的基本原理,2. 页号与页内地址 将用户作业空间分页以后,每一个相对地址都可以改写成“页号,页内地址”的形式,地址结构如图所示: 这是一个32位的地址结构,前一部分为页号P,由1231位表示。后一部分为页内

15、地址,由011这12位表示,它决定了页面的大小为4KB(即2的12次方,212B = 4096B = 4KB),5.4 分页式存储管理,5.4.1 分页式存储管理的基本原理,3. 页号与页内地址的计算,(1)通过下面的公式计算出页号P和页内地址W: 页号P = 逻辑地址 DIV 页面大小 页内地址W = 逻辑地址 MOD 页面大小 其中,DIV为整除运算,MOD 为求余运算 例:在页面大小为4KB的系统中,若逻辑地址为28024,则: P = 28024 DIV 4096 = 6 W = 28024 MOD 4096 = 3448 由此得到页号为6,页内地址为3448,5.4 分页式存储管理,

16、5.4.1 分页式存储管理的基本原理,3. 页号与页内地址的计算,(2)计算机系统由存储管理单元(Memory Management Unit,MMU)中的分页机构自动获得页号和页内地址。 例如,28024用32位二进制表示为: 0000 0000 0000 0000 0110 1101 0111 1000 因为页面大小为4 KB = 212B,所以取低12位(1101 0111 1000)为页内地址,十进制为3448; 剩余高位为页号(0000 0000 0000 0000 0110),十进制为6,5.4 分页式存储管理,5.4.2 分页式存储管理的地址映射,1. 页表,分页式存储管理就是将

17、用户作业的每个页面装入内存中的页框。因此,系统为每个作业建立了一张页面映射表,称为页表,用于记录用户作业的每个页面及其所装入的相应页框号。,5.4 分页式存储管理,5.4.2 分页式存储管理的地址映射,2. 地址转换过程,(1)设置页表控制寄存器:执行时,就执行进程的页表始址、页表长度从进程控制块中取出,放入页表控制寄存器中; (2) 硬件地址分页结构自动将每条程序指令中的逻辑地址解释成页号和页内地址两部分; (3)比较页号与页表长度,如果未出现越界中断,则将页号乘以页面大小,得到页内相对地址; (4)页内相对地址加上页表起始地址,便可得到该页号在页表中的具体位置; (5)从页表具体位置处获得

18、该页的物理存储块号(页框号); (6)计算物理地址: 物理地址 = 物理块号 页面大小 + 页内地址,5.4 分页式存储管理,5.4.2 分页式存储管理的地址映射,3.分页存储管理的地址变换过程图,5.4 分页式存储管理,5.4.3 联想存储器与快表,出发点 页表存放在寄存器,速度快但硬件代价高; 页表放在主存中,给定的逻辑地址进行读/写操作时,必须访问两次主存,降低了运算速度; 大多数的程序在运行时,通常会在少数页面中频繁访问; 联想存储器(快表) 利用高速缓冲寄存器存放当前访问的那些页表项; 访问地址时,总是先将页号与快表中的所有页号进行比较,从而降低地址映射时间。,5.4 分页式存储管理

19、,5.4.3 联想存储器与快表,引入快表后的地址映射过程,5.4 分页式存储管理,5.4.4 多级页表,为降低页表的存储开销,提出了多级页表的概念,采取以下措施: 内存仅存放当前使用的页表,其余暂时不用的页表仍然放在磁盘上,待用到时再进行调入 页表占用内存空间不必连续,可分散存放 多级页表方法: 把整个页表进行分页,分成一张张小页表,每个小页表的大小与页框相同 为这些小页表建一张页目录表,其表项指出小页表所在页框号及相关信息 系统为每个进程建一张页目录表,它的每个表项对应一个小页表,而小页表的每个表项记录了页面和页框的对应关系 逻辑地址结构由三部分组成:页目录、页号和位移,5.4 分页式存储管

20、理,5.4.4 多级页表,多级页表的地址转换过程: 由页目录表控制寄存器指出当前运行进程的页目录表内存所在地址; 由页目录表起址加上“页目录位移”为索引,找到某个小页表在内存页框的地址; 再以“页表页位移”为索引,找到小页表的页表项,而该表项中包含了页面对应的页框号,页框号和“页内位移”便可生成物理地址。,5.5 分段式与段页式存储管理,5.5.1 分段式存储管理的基本原理,用户程序可以按其逻辑结构划分为若干段,如主程序段、子程序段、数据段、堆栈段等,每一段都是一组逻辑信息,并且都有一段连续的地址空间 将程序分段以后,每个段都有自己的名称(段名)、段长度和段内元素 将作业的地址空间分段以后,用

21、段号代替段名,段地址都从0开始编址 由于各个段内的逻辑信息各异,决定了各段的长度不等,5.5.2 分段式存储器的地址映射,设给定的逻辑地址中,段号为3,段内地址为723,分段存储管理的地址转换过程如下: 段表中记录了每个段的长度和该段在内存的起始地址 段表保存于内存,通过它来实现逻辑地址到内存物理地址的转换 为了完成地址转换,需由硬件提供段表寄存器,用于保存段表的起始地址和段表的长度,5.5 分段式与段页式存储管理,5.5.2 分段式存储器的地址映射,利用段表实现地址映射,5.5 分段式与段页式存储管理,5.5.2 分段式存储器的地址映射,例如,设给定的逻辑地址中,段号为2,段内地址为723,

22、分段存储管理的地址转换过程如下:,5.5 分段式与段页式存储管理,5.5.2 分段式存储器的地址映射,设给定的逻辑地址中,段号为3,段内地址为723,分段存储管理的地址转换过程 : 段号3与段表寄存器中的段表长度比较,如果段号大于段表长度,则发生越界中断,终止程序运行 如果段号没有越界,则计算该段在段表中的对应位置: 段表项位置 = 段表起始地址 + 段号 段表项长度 找到段表中3号段的段表项位置,从中读出该段在内存的起始地址(段基址)为8 K 段基址与段内地址相加得到物理地址: 物理地址 = 8K + 723 = 81024 + 723 = 8915 访问内存单元8915,得到需要的数据36

23、5,5.5 分段式与段页式存储管理,5.5.3 分段与分页的比较,分段: 信息的逻辑单位 由源程序的逻辑结构决定 用户可见 段长可根据用户的需要来决定 段起始地址可以是主存的任何地址 源程序(段号,段内位移)经连接装配后仍保持二维结构,分页: 信息的物理单位 与源程序的逻辑结构无关 用户不可见 页长由系统决定 页面只能以页大小的整数倍地址开始 源程序(页号,页内位移)经连接装配后变成了一维结构,5.5 分段式与段页式存储管理,段页式存储管理结合分页式和分段式两种存储管理方案,其基本思想是: 将作业地址空间分成若干个逻辑段,每段都有自己的段名 每段内再分成若干个大小固定的页,每段都从零开始为自己

24、的各页依次编写连续的页号 对内存空间的管理仍然采取分页式存储管理方式,将其分成若干个与页面大小相同的物理块,对内存空间的分配以物理块为单位,5.5 分段式与段页式存储管理,5.5.4 段页式存储管理,作业的逻辑地址包括3个部分:段号、段内页号和页内位移 为实现地址变换,段页式系统设立了段表和页表 系统为每个作业建立一张段表,并为每个段建立一张页表 段表表项中至少包含段号、页表起始地址和页表长度等信息 页表表项中至少要包括页号和块号等信息 系统设置一个段表控制寄存器用来保存运行作业的段表起始地址和段表的长度,5.5 分段式与段页式存储管理,段页式存储管理的地址映射 将段号S与段表控制寄存器中的段

25、长进行比较,若超出段长则产生越界中断。否则由段号和段表控制寄存器中的段表起始地址拼接,得到该段在段表中的相应表项位置 查找段表中的表项,得到该段对应的页表在内存的起始地址 页表起始地址与物理地址中的段内页号P拼接,从而找到页表中的相应表项,从中得到该页所在的物理块号b 将物理块号b与页内位移d拼接起来得到所需的物理地址,5.5 分段式与段页式存储管理,段页式存储管理的地址映射,5.5 分段式与段页式存储管理,5.6 请求分页式存储管理,虚拟存储器,1)、问题的提出: a 程序大于内存 b 程序暂时不执行或运行完是否还要占用内存,虚拟存储器,虚拟存储器的基本思想是:程序、数据、堆栈的大小可以超过

26、内存的大小,操作系统把程序当前使用的部分保留在内存,而把其它部分保存在磁盘上,并在需要时在内存和磁盘之间动态交换。 虚拟存储器支持多道程序设计技术。,5.6 请求分页式存储管理,5.6 请求分页式存储管理,5.6.1 虚拟存储管理,局部性原理(principle of locality) :程序在执行过程中,大部分的访问操作都集中在该程序的某一小部分,呈现局部性规律 局部性原理主要表现在以下两个方面: 时间局部性:程序执行过程中的某条指令或数据如果被访问,那么在短时间内,该指令或数据很有可能会被再次访问 空间局部性:程序执行过程中访问了某存储单元,在短时间内,其临近的存储单元也将被访问,5.6

27、 请求分页式存储管理,5.6.1 虚拟存储管理,(1)利用技术手段,在固有内存容量的基础上实现存储容量扩充的存储系统称作为“虚拟存储器” (2)虚拟存储器是利用设计技术,以辅助存储器为支撑,在逻辑上实现对内存容量的扩充 (3)根据程序局部性原理可知,程序在运行之前,没有必要全部装入内存,而只需将当前要使用的部分先装入主存,其余暂时不用的部分仍然留在辅储,待用到时再把它们装入到主存投入运行 (4)为了区分虚拟存储,把用户作业空间称为虚拟地址空间,其中的地址称为虚地址,5.6 请求分页式存储管理,5.6.2 请求分页式存储管理基本原理,请求分页式存储管理是在分页式存储管理的理论基础上实现的一种虚拟

28、存储系统 先将内存空间划分为大小相等的块,再将作业的虚拟地址空间划分成与内存块大小相同的页 并不把作业的程序和数据全部装入主存,仅装入立即使用的那些页面 当需要某个页面时,就根据页号查找页表,如果该页不在主存,系统发出调入页面请求,把该页从辅助存储器调入主存,使作业正常运行。程序执行过程中访问了某存储单元,在短时间内,其临近的存储单元也将被访问,5.6 请求分页式存储管理,5.6.2 请求分页式存储管理基本原理,请求分页式虚存管理系统通过扩充页表项来实现缺页中断请求,扩充后的页表表项如图: 其中,状态位:表示该页是否已在内存中; 外存地址:该页存放在辅助存储器上的地址; 访问字段:记录该页的访

29、问次数,供选择换出页面时参考; 修改位:记录该页在内存访问过程中是否被修改,5.6 请求分页式存储管理,5.6.3 请求分页式存储管理的地址映射,请求分页式存储管理是在基本分页式存储管理的基础上,增加缺页中断处理后实现的地址映射 所不同的是:请求分页式存储管理需要同时修改页表项的访问字段和修改位。当需要访问的页不在内存中时,则产生和处理缺页中断,5.6 请求分页式存储管理,缺页中断,在地址映射过程中,所访问的页不在内存,则产生缺页中断。操作系统接到此中断信号后,就调用缺页中断处理程序,根据页表中给出的外存地址,将该页调入内存,使作业继续运行下去。由于从外存向主存调入一页需要的时间较长,故在调页

30、过程中应将请求调页的进程置为阻塞状态。直到该页装入主存再将其唤醒。另外,在产生缺页中断时,一条指令并没有执行完,这样在操作系统进行缺页中断处理后,应重新执行被中断的指令。当重新执行时,由于要访问的页已在主存,因此就可以正常地执行下去。,5.6 请求分页式存储管理,缺页中断,如果内存中有空闲块,则分配一页,将新调入页装入内存,并修改页表中相应页表项目的驻留位及相应的内存块号。 若此时内存中没有空闲块,则要淘汰某页,若该页在内存期间被修改过,则要将其写回外存。,5.6 请求分页式存储管理,缺页中断,由图可知,当主存容量增加时,缺页中断次数减少,但主存容量增加到80KB以后,缺页中断次数的减少就不明

31、显了。大多数程序都有一个这样的特定点 试验分析表明:对所有程序来说,要使其有效地工作,它在主存中的页面数应不低于它的总页面数的一半,存储容量与缺页中断次数的关系,5.6 请求分页式存储管理,5.6.4 页面置换算法,理想淘汰算法最佳页面算法(OPT) 淘汰以后不再需要的或最远的将来才会用到的页面 先进先出页面淘汰算法(FIFO) 最简单的算法是先进先出淘汰算法。当淘汰一页时,选择在主存驻留时间最长的那一页。为此,操作系统维护一张当前页表。表的长度为当前运行作业分配的主存块数。另外设置一个指针指向最早进入的页。当需要淘汰一页时,就选择指针所指的页。 FIFO算法较易实现,但会出现抖动。,5.6

32、请求分页式存储管理,5.6.4 页面置换算法,1. 先进先出页面置换算法FIFO(First In First Out) 基本思想:把最先进入内存的页面作为置换的对象 例,分配三个物理块,需要执行的页面引用序列为: 0、1、2、3、2、4、0、2、0、1、2、3, 根据FIFO算法,该序列的页面置换情况:,5.6 请求分页式存储管理,5.6.4 页面置换算法,FIFO算法虽然易于实现,但出现抖动外,还会有一种异常现象。Belady在1969年发现,采用FIFO算法时,为作业分配的主存块越多,反而缺页中断次数越多。这种奇怪的现象就叫做Belady异常。下面举例说明这一异常。某作业有5个页面,执行

33、时引用的页序列为: 0,1,2,3,0,1,4,0,1,2,3,4。共访问12个页面。当分配3个存贮块时,共产生9次缺页中断。当分配4个主存块时却产生了10次中断。缺页用“x”成功用“v”表示。,5.6 请求分页式存储管理,5.6.4 页面置换算法,2. 最佳页面置换算法OPT(Optimal) 基本思想:选择最长时间内不会被访问或者是以后不会再使用的页面予以置换。例,0、1、2、3、2、4、0、2、0、1、2、3引用序列,根据OPT算法,该序列的页面置换情况:,5.6 请求分页式存储管理,5.6.4 页面置换算法,3. 最近最久未用页面置换算法LRU(Least Recently Used)

34、 基本思想:选择最近一段时间内,最长时间未被访问过的页面予以替换 例,0、1、2、3、2、4、0、2、0、1、2、3引用序列,根据LRU算法,该序列的页面置换情况:,5.6 请求分页式存储管理,5.6.4 页面置换算法,4. LRU近似算法 基本思想:在页表中设置一个“引用位”,当某页被访问时,该位由硬件自动置“1”,而页面管理软件周期性地(设周期为T)把所有引用位置“0” 在时间T内,某些被访问的页面的引用位为“1”,而未被访问过的页面的引用位为“0” 根据引用位的状态可判别各页最近的使用情况,当需要置换一个最“老”的页面时,选择其引用位为“0”的页 当所有页的使用位都为“1”时,则按FIFO策略淘汰页面 优点:比较简单,易于实现 缺点:周期T的大小不易确定,5.6 请求分页式存储管理,5.6.5 系统抖动,系统进行频繁的页面置换,这种现象被称

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论