使用最近未使用页淘汰(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平台使用

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值