当前位置:   article > 正文

使用最近未使用页淘汰(NRU)算法模拟实现页淘汰进程 _nru算法

nru算法

摘要:最近未使用页淘汰(NRU)算法或者时钟算法是实际使用的诸多页淘汰算法中的一种。本课程设计是使用C程序设计语言,在windows平台下对页淘汰(NRU)算法模拟,通过页淘汰(NRU)算法的模拟来进一步的加深对使用NRU算法的了解,及对C程序设计语言的使用。

关键词:页淘汰  NRU  时钟算法

一.设计的背景介绍

1.1 介绍相关概念,相关算法

页淘汰工作通常是由一个系统进程或线程完成的,该进程称为页淘汰进程

页淘汰的时机:当内存空闲页面数低于系统所配置的最小阈值时启动(唤醒)页淘汰的进程,页淘汰进程被启动后就开始不停地选择和淘汰释放页,直到内存的空闲页面数达到系统所配置的最大阈值为止。此后,页淘汰进程进入睡眠(等待)状态,直到下次因内存空闲页面数少于最小阈值而被再次唤醒(启动)。

最近未使用页淘汰NRU算法的原理

①该算法为每个页面设置两个硬件位访问位和修改位

访问位= 0:该页尚未被访问过;     访问位= 1:该页已经被访问过

修改位= 0:该页尚未被修改过;     访问位= 1:该页已经被修改过

开始时所有页的访问位,修改位都设为0, 访问/修改时再置1

当页淘汰进程工作时,首先淘汰那些访问位为0的页。然后,如果还要继续淘汰(即空闲页面尚未达到最大阈值),则淘汰那些访问位为1但修改位为0的页。最后如果空闲页面还不够,则淘汰那些修改位为1的页

由于大多数页迟早要被访问,故页淘汰进程定期遍历内存页将每页的访问位都置为0(周期性地对访问位清零)。这种清除过程类似于时针在时钟面上的运行故NRU算法又称为时钟(clock算法

1.2 简要介绍设计环境、设计工具

利用VC++6.0/TC3.0Dos/Windows平台使用

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号