搜索“如何减少换页错误”

有这么一道笔试题:

如何减少换页错误?

1,进程倾向于占用CPU

2,访问局部性(localilty of reference)满足进程要求

3,进程倾向于占用I/O

4,使用基于最短剩余时间(shortest remaining time)的调度机制

5,减少页大小

 

yathing最先排出1和3选项,访问快慢、访问接口,对“错误”能够有什么影响?肯定是需要某种策略。

仔细看题:“减少”,而不是“消除”,说明这个“错误”不管怎么样,肯定是存在的;关键在于你是否理解“换页错误”的定义了。

看看选项2和4都有点像;至于5嘛,不太像了——即使页面减少,错误率会降低吗?难说,你可不知道系统实际运行时,数据大小、分布是什么样的:页面大,更可能将大数据块放在一页上;页面小,则会分散数据——形象上是这么理解,但操作系统算法没这么麻烦,也没见过这方面的概率讨论,排除。

我猜想的答案是2,因为被“错误”2字误导了:既然要减少错误嘛,“局部化”是很常用的策略,错误发生在局部就不至于影响全局......(归根结底还是不明白“换页错误”的定义)其实如果仔细想想,“局部化”可以降低错误的影响,但是它并不能降低错误的发生概率!剩下的答案就显而易见了。

 

Google一下这道题,没找到标准答案;百度一下,在百度百科中,找到了“换页错误”的解释。(不错,百度这次搜索表现良好)

 

换页错误:

Page Fault 是在进程尝试执行代码指导,或者引用进程所映射物理内存中并不存在的数据页时,操作系统记录的事件。换句话说,进程需要的内存页实际上可能还处于物理内存中,但是由于它无法再分配到进程中,所以当进程将此页读取回到它的内存页时,就发生了Page Fault。

说白了就是想在内存里找东西,却发现不存在(不得不重新读取...),按道理这不应该算“错误”这么严重吧(简单点,“不命中”而已)。

采用最短剩余时间调度机制:

SRT算法(SPN算法的抢占式版本):总是选择剩余时间最短的进程运行

为什么会减少换页错误呢?因为时间短的结束运行快,不需要频繁切换进程(导致刷新内存),所以换页错误发生的概率就减少了......(yathing:弄明白以后,想象一下就行了,别被名词搞晕了!)

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值