操作系统| 虚拟存储器(请求分页和请求分段地址变换详解,页面置换算法先进先出LRUClock虚拟存储器的定义和特征)
Posted 有理想、有本领、有担当的有志青年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统| 虚拟存储器(请求分页和请求分段地址变换详解,页面置换算法先进先出LRUClock虚拟存储器的定义和特征)相关的知识,希望对你有一定的参考价值。
文章目录
虚拟存储器的定义及特征
定义
- 具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
- 逻辑容量由内存容量和外存容量之和决定
- 速度接近内存
- 成本接近外存
特征
- 多次性:一个作业被分成多次调入内存运行
- 对换性:允许作业的运行过程中进行换进、换出
- 虚拟性 :从逻辑上扩充内存容量
页面置换算法(先进先出、LRU、clock算法)
先进先出置换算法
选择在内存中存在时间最长的页面淘汰
最近最久未使用(LRU)算法
每个页面赋予一个访问字段,记录自上次访问以来所经历的时间 t 。 淘汰 t 最大的页面
最近未使用算法(Clock)算法
- 每个页面有一个标志位,(use bit),初始为0,被访问变为1。
- 当有一个新页面出现,有专门指针从页表中寻找 use bit=0 的页面。
- 在这个过程中,若页面use bit = 1 则将其变为0,若use bit = 0 则将其置换
请求分页和请求分段的地址变换
请求分页存储结构
- CPU每存取一个数据,需要两次访问内存
- 第一次访问页表,找到
- 第二次处理数据
段页式存储结构
- 需要访问三次内存
- 第一次找段表
- 第二次找页表
- 第三次处理数据
(1)
1362H = 0001 0011 0110 0010
页号 = 2 快表中没有,因此需要访问两次内存
t =20+110+110=240
0D65H=0000 1101 0110 0101
页号 = 1,快表中没有,查找页表,因其有效位是0,缺页中断,处理,后重新访问一次内存(此处不再需要查表)
t = 20+110+128+110=368
15A5H=0001 0101 1010 0101
页号 = 2 ,快表中有
20+110=130
(2)
页号 = 1 ,发生缺页中断。采用LRU,将最近未使用的 页号为0的页替换出去,因此原地址为0000 1101 0110 0101,转换后物理地址是0000 1000 0000 1101 即 80D65H
总结
- 先访问快表。
- 块表中有,直接处理数据(访问一次内存)结束
- 快表中没有,访问页表(第一次访问内存)
- 页表中存在且有效,处理数据(第二次访问内存)
- 页表中不存在或有效位为0等,发生缺页中断,依据要求算法处理
- 再处理数据(访问一次内存)
以上是关于操作系统| 虚拟存储器(请求分页和请求分段地址变换详解,页面置换算法先进先出LRUClock虚拟存储器的定义和特征)的主要内容,如果未能解决你的问题,请参考以下文章
操作系统| 存储器管理(基本分页和基本分段的逻辑地址结构变换连续分配方式分区分配算法首次适应循环首次适应最佳适应分页和分段的比较程序装入方式和链接方式)
操作系统| 存储器管理(基本分页和基本分段的逻辑地址结构变换连续分配方式分区分配算法首次适应循环首次适应最佳适应分页和分段的比较程序装入方式和链接方式)