《操作系统》工作集详解

本文详细解析了操作系统中的工作集概念,基于局部性原理,探讨了为何引入工作集以避免抖动问题。介绍了工作集的计算方法,包括精确计算、近似计算以及简易计算,并解释了如何利用工作集优化内存管理,提高CPU利用率。
摘要由CSDN通过智能技术生成

使用工作集的基本原理:局部性原理

程序的局部性原理是由Danning.P于1968年提出的,它是指程序在执行时将呈现出局部性规律,即在一较短的时间内,程序的执行仅局限于某个部分,相应地,它所访问的存储空间也仅局限于某个区域。局部性原理可表现在以下两个方面:

  1. 时间局部性。如果程序中的某条指令一旦执行,则不久以后该指令可能再次执行;如果某个数据被访问,则不久以后该数据可能被再次访问。产生时间局部性的典型原因是:程序中存在大量的循环操作。

  2. 空间局部性。一旦程序访问了某个存储单元,则不久以后,其附近的存储单元也将被访问,及程序在一段时间内所访问的地址,可能集中在一定的范围内,其典型情况便是程序的顺序执行。

引入工作集的原因:抖动trashing

        通过上图我们可以发现:随着并发进程的数量增多,cpu利用率并不是线性增长,而是到达了一个顶峰后逐渐的降低。由此可见,抖动对cpu利用率有很大的影响。如果我们想要进一步提高cpu的利用率,就要尽量降低抖动发生的次数,也即是要尽量让有很大可能性会被再次访问的页面留在内存当中,调出不太可能会被再次访问的页面。

首先明确几个概念:

  1. 抖动。是指刚调到外存的页面很快又被访问到,又需要调入内存,导致进程频繁的产生缺页中断,将大部分时间用于页面置换,而极大地降低了cpu的利用率。
  2. 工作集
  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灰原Anita_Hailey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值