内存管理之页面调度与缺页计算_html/css_WEB-ITnose

一、何为缺页?

  说白点:缺页定义为所有内存块最初都是空的,所以第一次用到的页面都产生一次缺页,也就是内存中不存在的待进入的页号话,就会产生缺页。明白了这个之后,对于缺页计算问题就好说了。

二、先进先出调度算法(FIFO)

  这种调度算法总是淘汰最新进入主存储器的那一页。这种调度算法很简单,按照装入主存储器的那些页的先后顺序排成页号队列,每当进入一个缺页时候,淘汰最早进入的那页。

  举个例子:例如依次要访问的页号为:0 1 2 3 2 1 3 2 5 2 3 6 2 1 4 2,现在只有三个主存可供使用如果采用FIFO调度,请模拟  调度过程,并算出缺页中断次数?

  0进入,出现缺页中断(1次)此时内存中的页号:0
  1进入,出现缺页中断(1次),此时内存中的页号:01
  2进入,出现缺页中断(1次)此时内存中的页号:012
  3进入,淘汰0,出现缺页中断(1次),3替换0的位置,此时内存中的页号:123
  2进入,没出现缺页中断情况,因为内存中已经存在页号2,内存中的页号还是:123
  1进入,内存中存在页号1,没有出现缺页中断,此时内存中的页号是:123
  3进入,同上,没有出现缺页中断,内存中的页号是:123
  2进入,同上,没有出现缺页中断,内存中的页号是:123
  5进入,这时候,对于312呆的时间最长的是:1,所以5替换1,出现缺页中断(1次),此时内存中的页号:235
  2进入,没有出现缺页中断,内存中的页号:235
  6进入,出现缺页中断(1次),淘汰的页面是2号,内存中的页号356
  2进入,出现缺页中断(1次),淘汰的页面好是3号,内存中的页号562
  1进入,出现缺页中断(1次),淘汰的页面号是5号,内存中的页号是621
  4进入,出现缺页中断(1次),淘汰的页面号是6号,内存中的页号是214
  2进入,没有出现缺页中断,内存中的页号是214

  所以,如果采用先进先出的调度算法,共出现缺页中断8次,其内存模拟情况如下表:

立即学习“前端免费学习笔记(深入)”;

进入

时间

 

 

 

是否

缺页

不是

不是

不是

不是

不是

不是

不是

  *红色的数字,是最新进入内存的页号
  对于先进先出模拟过程,不难发现一下特点:
   1、第一次进入内存的,肯定出现缺页;
   2、没出现缺页的,连续的列是相同的;
   3、淘汰的页面是呆在内存中时间最长的;

三、最近最久未使用调度算法(LRU)

  最近最久未使用调度算法认为:最近经常被使用到的页和可能马上就要被访问,因此不能调出。相反,如果有过去一段时间里没有被访问过的页,在最近的将来也可能暂时不会被访问。所以需要装入新页时,应选择在最近一段时间里最久没有被使用过的页调出。

  仍然以上述为例子,采用LRU调度,
  首先0进入,缺页(1次),此时内存中的页号按照使用频率的顺序:0
  1进入,缺页(1次),此时内存中的页号按照使用频率的顺序:01
  2进入,缺页(1次),此时内存中的页号按照使用频率的顺序:012
  3进入,缺页(1次),最久未使用为0页号,被3替换,此时内存中的页号按照使用频率的顺序:123
  2进入,不缺页,此时内存中的页号按照使用频率的顺序:132
  1进入,不缺页,此时内存中的页号使用频率的顺序:321
  3进入,不缺页,此时内存中的页号使用频率的顺序:213
  2进入,不缺页,此时内存中的页号使用频率的顺序:132
  5进入,缺页(1次),最久未使用的页号是1号,淘汰掉,此时内存中的页号使用频率的顺序:325
  2进入,不缺页,此时内存中的页号使用频率的顺序:352
  3进入,不缺页,此时内存中的页号使用频率的顺序:523
  6进入,缺页(1次),此时内存中的页号使用频率的顺序:236
  2进入,不缺页,此时内存中的页号使用频率的顺序:362
  1进入,缺页(1次),最久未使用的页号为3,此时内存中的页号使用频率的顺序:621
  4进入,缺页(1次),最久未使用的页号为6,此时内存中的页号使用频率的顺序:214
  2进入,不缺页,此时内存中的页号使用频率的顺序:142

  所以,采用最近最久未使用的调度算法,其缺页次数:8次

  其在内存中的调度模拟如下表所示:

使用

频率

好久

没用

 

最近

使用

 

 

是否

缺页

不是

不是

不是

不是

不是

不是

不是

不是

四、小结

  多拿笔画画~~~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3091739.html

(0)
上一篇 2025年3月28日 13:10:12
下一篇 2025年3月6日 14:36:22

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 如何在页面中调用搜索引擎

    这次给大家带来如何在页面中调用引擎,在页面中调用搜擎的有哪些,下面就是实战案例,一起来看一下。 今天突然想到,在自己的页面中调用google、百度这样强大的搜索引擎想必很酷。 于是上网查了资料,没想到就几行代码的事。 下面是调用百度的一个代…

    编程技术 2025年3月28日
    100
  • html两秒跳转至其他页面

    这次给大家带来html两秒跳转至其他页面,html两秒跳转至其他页面的注意事项有哪些,下面就是实战案例,一起来看一下。 nbsp;html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “h…

    编程技术 2025年3月28日
    100
  • 怎样在CSS中解决长英文单词的页面显示问题?

    简言 在页面排版中,经常遇到长英文单词溢出段落容器的情况,如何解决该问题?现编制如下对比演示程序: 演示程序 42du.cn-在线演示程序 部分html代码     word-break:break-all;    Extraordinar…

    编程技术 2025年3月28日
    100
  • post提交获得html页面源码的实现代码

    本文主要和大家分享post提交获得html页面源码的实现代码,希望能帮助到大家。 /// /// 获得页面的html源码 主要用于后台生成静态文件时获得源码 /// /// /// public static string GetPageH…

    编程技术 2025年3月28日
    100
  • Laravel扩展包管理:轻松集成第三方代码和功能

    Laravel扩展包管理:轻松集成第三方代码和功能 引言:在Laravel开发中,我们经常使用第三方代码和功能来提高项目的效率和稳定性。而Laravel扩展包管理系统允许我们轻松地集成这些第三方代码和功能,使得我们的开发工作更加便捷和高效。…

    2025年3月13日
    200
  • 如何使用Workerman实现分布式计算系统

    分布式计算系统是指将一组计算机视为单个系统来协同完成计算任务的一种计算模式。在实践中,分布式计算系统可以通过增加计算机数量来提高计算速度,同时可以解决大量数据的处理问题。Workerman是一个可以用PHP语言实现分布式计算系统的框架,本文…

    2025年3月13日
    200
  • 如何在uniapp中实现活动报名和票务管理

    如何在uniapp中实现活动报名和票务管理 随着社交和娱乐活动的多样化,活动报名和票务管理成为了许多组织和企业不可或缺的一部分。而在移动应用领域,uniapp作为跨平台的开发框架,为开发者提供了一个快速构建应用的工具。本文将介绍如何在uni…

    2025年3月13日
    200
  • 如何在uniapp中实现快递打包和配送管理

    如何在uniapp中实现快递打包和配送管理 一、背景介绍随着电子商务的迅猛发展,快递行业也变得越来越重要。对于快递公司来说,打包和配送管理是提高效率、降低成本的关键环节。本文将介绍如何利用uniapp框架实现快递打包和配送管理的功能,包括快…

    2025年3月13日
    200
  • uniapp中如何实现页面的重定向

    Uniapp是一款跨平台的应用开发框架,通过它可以快速实现多端的应用开发。在Uniapp中,实现页面的重定向非常简单,可以通过uni.redirectTo方法来实现。下面我将详细介绍如何在Uniapp中实现页面的重定向,并提供相关代码示例。…

    2025年3月13日
    200
  • uniapp中如何实现页面的前进功能

    标题:Uniapp中如何实现页面的前进功能 引言:Uniapp是一款跨平台的开发框架,可以同时使用Vue.js编写小程序、移动应用和H5等多个平台的应用。在Uniapp中,实现页面前进功能是非常常见的需求,本文将为您详细介绍如何在Uniap…

    2025年3月13日
    200

发表回复

登录后才能评论