您当前的位置:首页 > 电脑百科 > 硬件技术 > CPU

内存页面置换

时间:2021-10-19 09:39:25  来源:  作者:DifferentJava

CPU在访问的页面不在物理内存时,便会产生缺页中断,请求操作系统将所缺页调入到物理内存。

缺页中断与其他中断的区别?

  • 缺页中断在指令执行期间产生和处理中断信号,一般中断在一条指令执行完成后检查和处理中断信号
  • 缺页中断返回到该指令的开始重新执行该指令,一般中断返回到该指令的下一个指令执行

缺页中断的处理流程

内存页面置换

 

  1. 假设CPU收到了一条指令LOAD M,此时CPU会去找M对应的页表项
  2. 如果该页表项的状态位是有效,CPU可以直接去访问物理内存,如果状态位是无效,CPU则会发送缺页中断请求
  3. 操作系统收到缺页中断,则会执行缺页中断处理函数,中断处理函数会先查找页面在磁盘中的位置
  4. 找到磁盘中对应的页面后,需要把该页面换入到物理内存中,但是在换入前,需要在物理内存中找到空闲页,如果找到空闲页就换入到物理内存中
  5. 页面从磁盘换入到物理内存完成后,把页表项中的状态位修改为有效
  6. 最后,CPU重新执行导致缺页异常的指令

页面置换算法用来做什么?

页面置换算法就是在物理内存无法找到空闲页的时候,将现有物理内存中合适的页换出到磁盘,然后把需要访问的页面装入到物理内中。页面算法的目标是尽可能的减少页面的换入和换出次数。

页面置换算法有哪几种?

  • 最佳页面置换算法(OPT)
  • 先进先出置换算法(FIFO)
  • 最近最久未使用的置换算法(LRU)
  • 时钟页面置换算法(LOCK)
  • 最不常用置换算法(LFU)

页面置换算法

页面置换算法核心是置换在未来最长时间不访问的页面

这种算法是最理想的算法,但是无法实现,因为程序在访问页面是动态,我们无法预知每个页面下一次的访问时间。因此该算法只是为了衡量其他的页面置换算法的效率,如果算法效率越接近该算法的效率,说明算法越高效。

先进先出置换算法

先进先出置换算法是选择在内存驻留时间很长的页面进行置换

最近最久未使用置换算法

该算法的核心是选择最长时间没有被访问的页面进行置换

为了实现这种LRU,需要在内存中维护一个所有页面的链表,最近最多使用的页面在表头,最近最少的在表尾,每次访问内存时都需要更新该链表,需要在链表中找到一个页面,删除它,然后把它移动到表头是一个比较耗时的操作。

时钟页面置换算法

时钟页面置换算法结合了LRU和FIFO,该算法把所有的页面保存在一个环形列表中,一个表指针指向最老的页面。

当发生缺页中断时,算法会先检查表指针指向的页面:

  • 如果它的访问位为0就淘汰该页面,并把新的页面插入这个位置,然后表指针前移一个位置
  • 如果访问位是1就清除访问位,表指针前移一个位置,重复这个过程直到找到了一个访问位为0的页面为止

最不常用算法

该算法就是选择访问次数最少的那个页面将其淘汰

实现方式就是对每个页面增设一个访问计数器,每当一个页面被访问时,该页面的访问计数器就加1。



Tags:内存   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
在日常生活中,手机是大家最常用的,也是使用频率最高的数码设备!手机的更新换代越来越快,但是资料如何备份呢?上传到网盘吗?那安全吗?换了新机,旧机当备用机但是好像手机内存又不够怎...【详细内容】
2021-12-27  Tags: 内存  点击:(2)  评论:(0)  加入收藏
这篇文章对于排查使用了 netty 引发的堆外内存泄露问题,有一定的通用性,希望对你有所启发 背景最近在做一个基于 websocket 的长连中间件,服务端使用实现了 socket.io 协议(基于...【详细内容】
2021-12-16  Tags: 内存  点击:(22)  评论:(0)  加入收藏
跟电脑一样,小米手机使用久了,手机内存里就会留下很多垃圾,情节严重的还会造成内存不够用的情况。那么,小米手机怎样快速清理垃圾呢?今天就来教大家5个方法,赶紧随我一起来看看吧...【详细内容】
2021-12-14  Tags: 内存  点击:(17)  评论:(0)  加入收藏
前些天,有一位网友咨询我,说他的华为手机总是提示内存不够用了,而且还开始卡顿,问我怎么办?碰到这种情况,我们只需要给华为手机“减肥”就可以了,也就是“清理内存”,就能有效解决问...【详细内容】
2021-12-10  Tags: 内存  点击:(12)  评论:(0)  加入收藏
手机内存越用越少?不敢删除怕误删除重要文件?128G内存可用空间仅有10G?学会这招,轻松给手机腾出至少10G空间。一招制敌,唔好哈。 下面就让点点带小伙伴们自己去清理吧!只对安卓系...【详细内容】
2021-12-08  Tags: 内存  点击:(10)  评论:(0)  加入收藏
Linux下查看某一个进程所占用的内存,首先可以通过ps命令找到进程id,比如ps -ef | grep kafka ,可以看到kafka这个程序的进程id 可以看到是2913,现在可以使用如下命令查看内存:top...【详细内容】
2021-12-07  Tags: 内存  点击:(35)  评论:(0)  加入收藏
苹果没有这个功能,安卓要更新到最新版。微信会把所有你浏览过的小程序和公众号文章保存下来,普通清理删不掉。此方法会把手机上所有小程序和公众号的缓存清理掉,谨慎使用。【1...【详细内容】
2021-11-23  Tags: 内存  点击:(17)  评论:(0)  加入收藏
一、为什么需要使用内存池在C/C++中我们通常使用malloc,free或new,delete来动态分配内存。一方面,因为这些函数涉及到了系统调用,所以频繁的调用必然会导致程序性能的损耗;另一...【详细内容】
2021-11-17  Tags: 内存  点击:(37)  评论:(0)  加入收藏
0. 引言:系统内存是硬件系统中必不可少的部分,定时查看系统内存资源运行情况,可以帮助我们及时发现内存资源是否存在异常占用,确保业务的稳定运行。例如:定期查看公司的网站服务...【详细内容】
2021-11-09  Tags: 内存  点击:(36)  评论:(0)  加入收藏
一:背景1. 讲故事前段时间有位朋友wx找到我,说他的程序存在内存阶段性暴涨,寻求如何解决,和朋友沟通下来,他的内存平时大概是5G 左右,在某些时点附近会暴涨到 10G+, 画个图大概就...【详细内容】
2021-10-27  Tags: 内存  点击:(35)  评论:(0)  加入收藏
▌简易百科推荐
我们想要知道CPU之间的性能高低,只需要通过一张“CPU”天梯图,就可以快速了解。笔记本移动版CPU相比台式机CPU在型号上更加繁多,并且杂乱无章,相同的型号下,CPU分为标压和低压版,...【详细内容】
2021-12-27  装机之家晓龙    Tags:笔记本CPU   点击:(3)  评论:(0)  加入收藏
CPU在访问的页面不在物理内存时,便会产生缺页中断,请求操作系统将所缺页调入到物理内存。缺页中断与其他中断的区别? 缺页中断在指令执行期间产生和处理中断信号,一般中断在一条...【详细内容】
2021-10-19  DifferentJava    Tags:内存   点击:(55)  评论:(0)  加入收藏
电脑CPU性能天梯图 手机CPU性能天梯图 电视盒子CPU性能天梯图前几天发了一张CPU性能天梯图,好多小伙伴说型号不全,没有他的CPU。这次整了个齐全的,截止到2021年8月份,不仅有台式...【详细内容】
2021-08-17  StoneM    Tags:CPU   点击:(664)  评论:(0)  加入收藏
电脑中的CPU和显卡可以说是DIY朋友最最关切的两部分了,说到买CPU大家最关注的是它是Intel的还是AMD的,或者它是第十代还是十一代,甚至它是能超频还是不超频,却很少有人关注你买...【详细内容】
2021-08-02  亿说电脑    Tags:CPU   点击:(62)  评论:(0)  加入收藏
在与CPU性能表现相关的参数中,频率大概是最直观也最明显的了,一般来说,同样的核心架构下,频率越高,性能肯定越高,相信很多小伙伴也这样选的吧。不过近期的CPU中,又有了一些变化,厂商...【详细内容】
2021-07-16  电脑爱好者    Tags:CPU频率   点击:(76)  评论:(0)  加入收藏
上二年级的小明正坐在教室里。现在是数学课,下午第一节,窗外的蝉鸣、缓缓旋转的吊扇让同学们昏昏欲睡。此时,刘老师在黑板上写下一个问题: 6324 + 244675 = ? 小明抬头看了一眼,觉...【详细内容】
2021-05-25  Java识堂  今日头条  Tags:CPU   点击:(122)  评论:(0)  加入收藏
CPU天玑1000+和麒麟985哪个更强悍?下面对这两款芯片,做一个简单的对比,让我们可以更直观的了解,哪一款芯片更强。1.天玑1000 Plus性能如何这款芯片是2020下半年发布的,7nm制程工...【详细内容】
2021-03-26      Tags:麒麟985   点击:(2020)  评论:(0)  加入收藏
随着AMD第三代锐龙处理器的上市,整数和浮点运算又成了DIYer们谈论的热点话题。与此同时,PCIe 4.0固态硬盘在只提高顺序读写、随机读写却无长进的情况下是否具备购买价值也成为...【详细内容】
2021-03-25      Tags:CPU   点击:(240)  评论:(0)  加入收藏
我们在选购电脑的时候,经常会听到一些“几核几线程CPU”的术语,比如四核八线程,八核十六线程之类的,那么这个所谓的几个核心和线程都是什么意思呢?请看下面介绍。CPU的“几核几线...【详细内容】
2021-03-04      Tags:处理器   点击:(384)  评论:(0)  加入收藏
作者 | 小林coding来源 | 小林coding(ID:CodingLin) 前言你清楚下面这几个问题吗? 有了内存,为什么还需要 CPU Cache? CPU 是怎么读写数据的? 如何让 CPU 能读取数据更快一些? C...【详细内容】
2020-11-11      Tags:CPU   点击:(145)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条