码迷,mamicode.com
首页 > 其他好文 > 详细

操作系统学习 28/9/2015

时间:2015-10-02 22:29:03      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:

操作系统学习 28/9/2015

虚拟内存:程序可以比内存大,允许执行程序不全在内存中,按需调页。

按需调页:通过设置有效无效位,有效表面该页合法且在内存中,无效表明该页不在进程的逻辑空间内或者该页合法但是在磁盘上。进程试图访问无效位的页时会产生错误陷阱,处理:1.检查进程内部页表,确定该引用是否合法,若非法,则终止进程,若合法,则调入该页面;2.在内存中找到一个空闲帧,将页面从磁盘掉入该帧中;3.修改进程的内部表和页表;4.继续该中断指令的执行。(重新对该指令进行获取,译码等)

fork()调用将子进程创建为父进程的副本,复制属于父进程的页,这是没有必要的,可以采用写时复制。

页面置换算法:

FIFO:选择最旧的页,用FIFO队列来管理页,每次置换队首页,新页加到队尾。会产生Belady异常(页错误率可能随着所分配帧数的增加而增加)。

最优置换(OPT/MIN):置换未来最长时间不会使用的页。是所有算法中产生页错误率最低的,没有Belady异常。难以实现,主要用于比较研究。

LRU最近最少使用算法:选择最长时间没有使用的页。用计数器或者栈来维持最近使用时间,经常被用作页置换算法。

近似LRU:通过引用位。1.附加引用位算法,用8位来表明最近8个周期该页是否被引用,置换最小值。2.二次机会算法,基于FIFO,一个引用位,为1给第二次机会。3.增强型二次机会算法,两个引用位,最近使用和最近修改,分为4类。

 

操作系统学习 28/9/2015

标签:

原文地址:http://www.cnblogs.com/shrimp-can/p/4852723.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!