虚拟存储管理(6)
创始人
2024-05-25 10:55:51

虚拟存储管理

前面介绍的存储管理方案要求作业全部装入内存才可运行。但这会出现两种情况:

  • 有的作业因太大,内存装不下而无法运行。
  • 系统中作业数太多,因系统容量有限只能让少数作业先运行。

1 局部性原理

定义:

  • 程序执行时,大多数情况下是顺序执行的。
  • 过程调用会使程序的执行轨迹从一部分内存区域转至另一部分区域,但过程调用的深度不会超过5。
  • 程序中有许多循环语句,这些语句会重复多次执行。
  • 程序中对数据结构的操作,往往局限在很小的范围内。

局限性的表现:
时间局限性: 程序中的的某条指令一旦执行,不久后会再次执行。
空间局限性: 程序一旦访问某存储单元,不久后会访问其附近的存储单元。

2 虚拟存储器的定义

所谓虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。
虚拟存储器的特征:
离散性:作业不装入连续的存储空间,内存分配采用离散分配方
多次性:一个作业被分割,被多次调入内存。
对换性:作业在运行过程中换进、换出内存。
虚拟性:从逻辑上扩充了内存的容量。虚拟存储器的特征

3 请求页式存储管理

在这里插入图片描述
状态位P:记录该页是否在内存。P=1该页在内存;P=0该页不在内存。
访问字段A:记录该页在一段时间内被访问的次数。
修改位M:记录该页在内存期间是否被修改过。M=1该页调入内存后被修改过;M=0该页调入内存后未被修改过。
外存地址:该页在外存的地址

缺页中断: 在指令执行期间产生和处理中断信号(指令执行1次即缺页1次)。一条指令执行期间,可能产生多次缺页中断。
在这里插入图片描述

驻留集:

  • 保证进程正常运行所需的最少物理块数是多少?
  • 为每个进程分配物理块时,其数目是固定的、还是可变的?
  • 如何为进程置换物理块,是局部置换?还是全局置换?

进程正常运行最少需要物理块数:

  • 物理块越多越好!——虚拟?
  • 随着为进程分配的物理块数目的减少,将使进程执行中的缺页率提高,从而降低进程的执行速度。
  • 能保证进程正常运行所需的最小物理块数是多少?这与计算机的硬件结构有关,取决于指令的格式、功能和寻址方式。

驻留集管理:
固定分配、局部置换

  • 为每个进程分配固定页数的内存空间、且运行过程中不变。
  • 当进程缺页时,只能从该进程在内存的几个页面中选出一页换出,然后再调入一页,保证进程的页数不变。

可变分配、全局置换

  • 系统开始先为每个进程分配一定数目的物理块。整个系统有一空闲物理块链,当某进程缺页时,系统从空闲链中选出一块分配给进程。
  • 空闲链为空时,OS从所有进程的页面中权衡选择一页换出。

可变分配、局部置换

  • 分配同上,但进程缺页时,只能从该进程在内存的页面中选出一页换出。

调入策略:
何时调入页面:预调,请调。
从何处调入:进程的所有页面都放在对换区。只将修改过的页面放在对换区,未改的放在文件区。
UNIX系统方式,首次从文件区调入,换出时放在对换区,以后从对换区调入

4 请求页式存储管理的页面置换算法

4.1 最佳置换算法OPT

在这里插入图片描述
结论: 先置换最早不再使用或最长时间不使用的页面。理想性的置换算法,目前无法实现。

4.2 先进先出置换算法FIFO

在这里插入图片描述
结论: 先置换最早进入的页面。

4.3 最近最久未使用置换算法LRU

在这里插入图片描述
结论: 先置换最久未使用的页面。

4.4 CLOCK置换算法

LRU性能较好,但实现困难!因此可用CLOCK算法。为每页设一访问位,再将内存中的所有页面链接成一循环队列。

  • 当某页被访问时,其访问位置1。
  • 置换算法在选择一页淘汰时,只需检查其访问位。(如果是0,就选择该页换出;–如果是1,则重新将其置为0,暂不换出。)

CLOCK页面置换算法:
除了考虑页面的使用情况外,还要考虑该页是否被修改过。
由访问位A和修改位M组合成下面四种情况的组合:
<1>A=0,M=0该页既未被访问过、又未被修改过,是最佳淘汰页。
<2>A=0,M=1该页最近未被访问、但已被修改,可以被淘汰。
<3>A=1,M=0最近已被访问,但未被修改,该页有可能再被访问。
<4>A=1,M=1最近已被访问且被修改,该页可能再被访问。

CLOCK算法执行过程:
1>从当前位置扫描循环队列,寻找〈1〉类页面。
2>若1>失败,开始第二轮扫描,寻找<2>类页面,并将所经过的页面的访问位置0。
3>若2>也失败,返回到开始位置,将所有的访问位复0,goto 1>。

4.5 驻留集

即在某段时间间隔内,进程实际要访问的页面的集合。
正确选择驻留集窗口大小:

  • 窗口大小Δ选择得过小,频繁产生缺页中断。
  • 窗口大小Δ选择得很大,失去了虚拟存储器的意义。

4.6 缺页率与物理块数的关系

为进程分配的物理块数达到一定值图中拐点处,缺页率保持在上下限之间。
在这里插入图片描述

4.7 CPU的利用率与多道程序数的关系

抖动的产生:

  • 在多道程序环境下,并不是“多道程序的度越高,系统吞吐量越大。”
  • 当CPU的利用率达到某一峰值后,若继续增加多道程度,将产生抖动

抖动预防方法:

  • 加载控制
  • L=S准则(产生缺页的平均时间L等于系统处理缺页的平均时间S)
  • 采用局部置换
  • 挂起若干进程

5 请求段式存储管理

在这里插入图片描述
除段号、段长和段始址这些段式系统已有的基本表项之外,增加了以下表项:

  • 存取方式:用于标识本段的存取属性是只执行、只读,还是允许读/写。
  • 状态位:指示该段是否已进驻内存。
  • 访问字段:用于记录本段有多长时间没有被访问。置换算法在选择换出段时参考。
  • 修改位:表示该段调入内存后是否被修改过。
  • 增补位:这是请求段式存储管理系统中特有的字段,用于表示本段在运行过程中是否进行过动态增长。
  • 外存地址:用于指出该段在外存的地址,供调入该段时使用。

动态链接
在这里插入图片描述
在这里插入图片描述

相关内容

热门资讯

苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
怎么样的桃花 桃花近看远看的样... 今年的“三八”妇女节,阳光明媚,踏青赏花正当时。遂与姐妹们共赴十里蓝山,与花海来一场春天的约会。十里...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
怎么样的桃花 桃花近看远看的样... 今年的“三八”妇女节,阳光明媚,踏青赏花正当时。遂与姐妹们共赴十里蓝山,与花海来一场春天的约会。十里...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...