小林coding学习笔记(内存页面置换算法)

news/2024/10/5 23:08:24

缺页中断示意图

1 在CPU里执行一条查找某个页面A的指令,首先是虚拟内存,会到虚拟内存和物理内存的映射关系的页表中查询。
2 页表中不存在需要查找的页面A的有效信息。
3 则触发缺页中断信号给操作系统,操作系统收到缺页中断信号后,就会去磁盘里面查找该页面。
4 操作系统在磁盘中查到该页面后,如果物理内存存在空闲页,则会把该页面放到物理内存中去。
5 页面从磁盘放入物理内存中后,会将页表项改为有效的。
6 最后,CPU重新执行导致缺页异常的指令。之后就能正常查询了。
页表项字段如图

上述说的,是物理内存未满的情况,如果物理内存满了呢?此时就需要通过某种算法选取某个物理内存中的页框,将其放到磁盘上去,再把想要查询的页面从磁盘中放到物理内存上面。
内存页面置换算法:
1、最佳页面置换算法
置换在未来最长时间不访问的页面。
特点是很理想,实际中无法直到未来访问页面的情况,其作用是为了进行算法效率的衡量,因为这种算法是理想情况的最优页面置换算法。
2、先进先出置换算法
置换在内存中存放时间最长的页面
3、最近最久未访问置换算法(LRU,面试重点力扣题)
LRU最近最久未访问算法基本思路是,当发生缺页时,选择最长时间没有被访问的页面进行置换,该算法假设最长时间没有被访问的页面在未来的一段时间仍然不会被访问。
LRU这种算法的思想近似于最佳页面置换算法,最佳页面置换算法是根据未来的情况推测,而LRU是根据历史的情况来进行推测。
4、时钟页面置换算法
将页表项放在一个类似时钟的环形链表上,当表针指向一个访问位为0的页表项,则淘汰该页表项,将磁盘上的页面置换到内存中,表针向前移动,如果表针指向一个访问位为1的页表项,则将其访问位置0,表针向前移动,直到表针指向一个访问位为0的页表项。
5、最不常用页面置换算法
当发生缺页中断时,选择访问次数最少的那个页面,将其淘汰。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/61000.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

Unity中的三种渲染路径

Unity中的渲染路径 Unity的渲染路径 在Unity里,渲染路径(Rendering Path)决定了光照是如何应用到Unity Shader中的。因此,我们只有为Shader正确地选择和设置了需要的渲染路径,该shader的光照计算才可以被正确执行。 unity中的渲染路径:Forward Rendering Path (向前渲染…

白云龙期货投资-第一讲

# 期货散户投资者常见错误 抄底摸顶,进场无依据,无参照物 小赢大亏(小鸟吃食 大象拉屎资金曲线) 用错误的方法分析行情(金死叉) 过分依赖各种交易软件,公式 持亏损的单子隔夜 死扛(进场条件)期货散户投资者常见错误 抄底摸顶,进场无依据,无参照物 小赢大亏(小鸟吃食 大…

408五级流水线强化课笔记

408强化课录播五级流水线相关内容笔记指令流水线基本概念:简单的概念题 指令流水线基本实现:指令按序发射,按序完成 各种冒险:结合MIPS指令序列分析并处理冒险 超标量和动态流水线:简单的概念题五级流水线 五级流水线的设计是为了通过并行提高处理器的吞吐量。图片来自CSA…

关键字检索分析-案例2:开源代码分析

第一次拿来分析一下开源代码,上效果图代码和文件地址 具体内容参考我前面一篇博客 spring-frameworkredis, redis单个文件非常大mybatis我实话我没有看过这些源码。 之前的博客里的脚本,bug挺多的。可以以gitee这里为主(链接在最上面)。

小林coding学习笔记(进程调度算法)

//进程调度算法 进程调度算法是CPU通过进程调度算法决定某个时刻去调用哪个进程到CPU上运行的算法 1、先来先服务调度算法 每次从就绪队列的队头调度到CPU上运行,直到进程退出或被阻塞,才会继续从队列中调度进程运行。 特点:对短作业不利,对长作业有利,无法平衡短作业与长…

spring mvc详细讲解(前后端分离模式)

在前后端分离模式下,Spring MVC 的作用主要集中在处理后端的业务逻辑和 API 接口,而不再直接管理视图部分。也就是说,Spring MVC 的重点是如何处理客户端的请求并返回数据(通常以 JSON 或 XML 格式),而视图渲染交给前端框架(如 Vue.js、React 等)来完成。 下面是针对前…

关于API淘宝数据接口

在当今数字化商业时代,淘宝作为全球领先的电商平台,提供了丰富的API接口,使开发者能够高效地获取和管理电商数据。淘宝API接口不仅简化了与淘宝平台的交互,还为商家提供了强大的数据支持,帮助他们更好地分析市场趋势、优化店铺运营、提升用户体验。 淘宝API接口概述 淘宝A…

解决 Debian下 nvm ls-remote 列表只出现iojs版本的问题

1.进入 .bashrc 里vi ~/.bashrc2. o键新开一行增加下面内容export NVM_NODEJS_ORG_MIRROR=https://nodejs.org/dist 3.重载nvm配置source ~/.bashrc4.验证配置是否修改成功,如图则表示成功echo $NVM_NODEJS_ORG_MIRROR 5.再次查看可安装的node版本nvm ls-remote 备注:如果上…