ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

操作系统笔记

2021-12-04 20:33:28  阅读:299  来源: 互联网

标签:操作系统 置换 作业 调入 算法 笔记 外存 内存


Belady现象和抖动现象

要了解Belady现象(跟缺页中断有关),得先了解什么是请求页式管理,

请求页式管理属于动态页式管理,还有预调入页式管理它两都不把作业或进程的程序段和数据段一次性装入内存,而只装入被认为是经常反复执行和调用的工作区部分

请求页式管理的调入方式是,当发现内存中没有所需要的数据或指令时,将从外存中调入内存。

预调入页式管理的调入方式是,将外存中的数据和指令按照执行和被访问的顺序排序,然后依序调入内存。

很明显,动态页式管理不可避免会碰到虚页不在内存中的时候(发生缺页中断),我们要清楚怎么发现这些页以及如何处理这种情况。

关于如何知道该页是否在内存中,我们可以扩充页表,增加中断位以判断是否在内存中,和该页在外存中的起始地址。

而对于怎么处理这种情况,我们自然需要从外存调入了,这就要考虑调入的算法以及如果没有空闲页面时该淘汰哪一页。一句话说就是置换。那被置换的页的下场如何呢?自然是看情况了,如果它没有被修改过,那么它在外存中的副本让它直接被淘汰;如果它被修改过,就得写回外存了。

接下来接得说请求页式的置换算法了,如果置换不当,会造成页面调入,调出,又调入,又调出的尴尬现象,称为抖动现象。

这自然不是我们希望看到的。

置换算法,理应置换那些被访问率低的页

比较常用的置换算法有以下几种:

  1. 随机淘汰算法
  2. 轮转法和先进先出算法
  3. 最近最久未使用算法
  4. 理想型淘汰算法

这里只聊聊先进先出算法(FIFO)。FIFO总是将驻留内存最久的一页淘汰置换,它认为这种类型的页不被访问的频率最高。毫无疑问,在座各位肯定会想到这种说法不成立。驻留最久,也可能访问率最高。

话说,一般来讲,给一个作业和进程分配的页面数越多,发生缺页的次数越少。但在FIFO算法下,并不然。它会出现分配页面数越多,缺页数反而增加的诡异现象,称为Belady现象。

好了,点到为止。

覆盖与交换技术

覆盖和交换技术是在多道环境下扩充内存的两种方法

覆盖技术没得交换技术牛*,它主要用在早期的操作系统中,而交换技术在现代操作系统中仍具有较强的生命力。

覆盖

覆盖的思想是,一个程序并不需要一开始就全部装入内存执行,可以让那些不会同时执行的程序段共享同一块内存区。看起来是内存变大了。但是,这种技术不就需要我们设计一个好的覆盖方案嘛,所以这种技术局限于对OS的虚空间和内部结构很了解的人。

交换

在多道程序环境或分时系统中,同时执行好几个作业或进程,但是会有作业处于就绪和等待状态。颇有占着茅坑不**的意思。这能忍吗?这当然不能忍,必须给踢出去,避免浪费空间。让其他进程或作业进来。

区别

覆盖主要在同一个进程或作业内进行。

交换主要在进程或作业之间进行。

标签:操作系统,置换,作业,调入,算法,笔记,外存,内存
来源: https://www.cnblogs.com/Carl-lc/p/15643134.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有