【操作系统】聊聊页面置换算法

news2024/11/25 14:37:21

操作系统的缓存淘汰

操作系统一是提供的基础编程接口,二是实现软件治理的功能。但是因为内存是有限的,想要在有限的内存多存储数据,就利用段、页、段页方式进行数据的映射。但是内存存储有限,所以如何将内存中不用的数据进行及时置换。选择什么样的置换策略。

我们知道缓存命中率 其实就是从缓存中查的次数/一共查询数据的次数。缓冲命中率越高,整体的利用率就越高,计算时间越短。

随机页面置换算法

随机置换,其实就是当发生缺页中断的时候,随机进行选取一个页置换,这种方式比较简单,但是对于命中率来说没有什么提升。所以一般不建议。

最优页面置换算法

从名字上来看,其实就是替换内存中最久没有访问的那个页面。比如首先进入7 0 1 ,当进入2的时候,因为7是之前最久没有被访问的页,所以替换7,而加载2。
在这里插入图片描述
这个算法缺点就是只能通过计算历史访问的次数,没有办法做到之后访问那些页。

FIFO算法

在这里插入图片描述
FIFO其实就是队列,先进来的,先出去,但是这不是一个很好的策略。

LRU算法

在这里插入图片描述
LRU则是通过最近最少使用的算法,来判断每个页最近使用的次数进行淘汰,在Redis中,其实也是使用LRU算法。

总结

在这里插入图片描述

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

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

相关文章

【数据分享】2012-2022年1km分辨率全球夜间灯光时序数据(无需转发\免费获取)

夜间灯光数据是我们在各项研究中经常使用的数据!在之前的文章中我们分享了来自NCEI国家环境信息中心的2012-2022年全球范围的逐年的NPP/VIIRS夜间灯光数据(可查看之前推送的文章获悉详情)! 我们本次为大家分享的是来自中国农业大…

shell脚本学习积累

文章目录 创建shell脚本并运行条件测试基础shell脚本打包过去24小时内修改过的文件自动解压 bzip2, gzip 和 zip不同类型的压缩包打印一个rpm包的统计信息【含有输入参数】 创建shell脚本并运行 方式1: vim myshell.sh #文件开头是#!/bin/bash 或 #!/bin/sh sh mys…

小黑完成广播操比赛,荣获三等奖,回来晕车晚上弹琴的leetcode之旅:121. 买卖股票的最佳时机

小黑代码 class Solution:def maxProfit(self, prices: List[int]) -> int:# 数组长度n len(prices)# 最大利润profit 0# 中间变量min_ prices[0]# 遍历每一个数据作为买点for i in range(1, n):# 滚动获取最小值if prices[i] - min_ > profit:profit prices[i] - m…

无涯教程-JavaScript - BIN2HEX函数

描述 BIN2HEX函数将二进制数转换为十六进制。 语法 BIN2HEX (number, [places])争论 Argument描述Required/Optionalnumber 您要转换的二进制数。 数字不能超过10个字符(10位)。数字的最高有效位是符号位。其余的9位是幅度位。 负数使用二进制补码表示。 Requiredplaces 要…

Scrum敏捷模式的优势点、实践经验及适用企业

Scrum敏捷模式是一种灵活、适应性强的开发方法,其核心理念是以短周期、高频率的方式进行项目开发,确保团队能够快速响应变化。 Scrum包含三个角色:产品负责人(Product Owner)、Scrum Master和开发团队(Tea…

IntelliJ IDEA远程调试:使用IDEA Remote Debug进行高效调试的指南

引言 在开发分布式系统时,调试是一个重要但复杂的环节。开发者通常需要跨越多个服务、模块和线程来追踪和解决问题。在没有远程调试的情况下,许多开发者会在代码中添加各种日志语句,然后重新部署和上线来调试。这种方法不仅费时,…

Unity 编辑器资源导入处理函数 OnPostprocessTexture :深入解析与实用案例

Unity 编辑器资源导入处理函数 OnPostprocessTexture 用法 点击封面跳转下载页面 简介 在Unity中,我们可以使用编辑器资源导入处理函数(OnPostprocessTexture)来自定义处理纹理资源的导入过程。这个函数是继承自AssetPostprocessor类的&…

Seal梁胜:近水楼台先得月,IT人员应充分利用AI解决问题

2023年9月2日,由平台工程技术社区与数澈软件Seal联合举办的⌈AIGC时代下的平台工程⌋——2023平台工程技术大会在北京圆满收官。吸引了近300名平台工程爱好者现场参会,超过3000名观众在线上直播平台观看了本届大会。 数澈软件 Seal 联合创始人梁胜博士和…

mysql文档--默认存储引擎--innodb存储引擎--innodb引擎全解

阿丹: 在mysql中innodb是默认的存储引擎。研究一下为什么它会被独宠。 官方解释: InnoDB,是MySQL的数据库引擎之一,现为MySQL的默认存储引擎,为MySQL AB发布binary的标准之一。InnoDB由Innobase Oy公司所开发&#xf…

活动报名场地预约自定义表单小程序开发

活动报名场地预约自定义表单小程序开发 专门为活动报名开发的一款小程序,可以自定义各种活动报名、活动预约,支持付费预约报名。 功能: 自定义字段:字符串、单选、复选、日期、列表、图片、城市、关联字段等自定义字段类型配置…

浅谈 Node.js 与快速入门使用——前端开发工程师必须要知道的技术(文末送书福利6.0)

文章目录 📋前言🎯什么是 Node.js🎯安装与使用 Node.js🧩直接安装 Node.js🧩使用 Node Version Manager(NVM)🧩使用 Node.js 🎯Node.js 基础知识🧩模块系统&a…

matplotlib 使用

import matplotlib.pyplot as plt %matplotlib inlineplt.figure()#创建一个画布 plt.plot([1, 0, 9], [4, 5, 6])#点数据,横坐标,纵坐标,相当于(1,4)(0,5)(9…

蒙特卡洛仿真

首先打开ADE,设置好要仿真的analysis以及output,工艺角选择mc 在ADE里面选择Launch-ADE XL,勾选想要仿真的输出(我这里要仿真的是DC电压)。 下图的输出结果要起好名字、type里面signal出来的结果是曲线图柱状图。expr(表达式&…

天纵竞赛系统助力22届汉语桥世界大学生中文比赛

由教育部中外语言交流合作中心主办的第22届“汉语桥”世界大学生中文比赛在广西举行。本届比赛共有来自120个国家的138名选手参加。“汉语桥”世界大学生中文比赛创办20多年来,吸引了全球160多个国家和地区的150多万青年学子参与,已成为具有世界影响力和…

如何实现OPC UA远程通讯?

目录 一. 准备工作 1.1 在对接前我们需准备如下物品 1.2 EG20网关准备工作 1.3 软件和下位机准备工作 二. EMCP平台设置 2.1 新增EG设备 2.2 网关绑定 2.3 通讯参数设置 2.4 创建设备驱动 2.5 报警信息设置 2.6 历史报表管理 2.7 画面组态 三. 实验效…

(2022|CVPR,LDM)使用潜在扩散模型进行高分辨率图像合成

High-Resolution Image Synthesis with Latent Diffusion Models 公众号:EDPJ(添加 VX:CV_EDPJ 进交流群获取资料) 目录 0. 摘要 1. 简介 2. 相关工作 3. 方法 3.1 感知图像压缩 3.2 潜在扩散模型 3.3 调节机制 4. …

EF框架基础应用入门

文章目录 一、介绍二、EF6框架基础1. 数据模型和实体类2. 数据库上下文(DbContext)介绍3. 配置数据模型与数据库表的映射关系 两种方式Fluent API和数据注解Fluent API数据注解 4. 数据库迁移(Migration)概述a. 创建初始迁移b. 更…

需求评审时如何平衡团队成员间意见?

需求评审对于产品经理而言非常重要,通过需求评审我们可以提前规避可能的需求风险,减少因返工造成的资源浪费。如果不进行需求评审,这将直接影响项目的风险指数。 那么我们应该如何做好需求评审,有哪些需要注意的维度?如…

umi/max如何给请求增加公共header

直接上代码 根据 umi官网 介绍可知,umi/max仅提供一种运行时配置的方法。 如果是搭配typescript开发的话,最好使用umi/max提供的RequestConfig类型进行字段控制。 因为是在app.ts中添加的配置,但是并不知道该配置是在何时何地如何被使用的&…

swagger---接口文档管理生成管理工具

Swagger–接口生成工具 使用Swagger你只需要按照它的规范去定义接口及接口相关的信息,再通过Swagger衍生出来的一系列项目和工具, 就可以做到生成各种格式的接口文档,以及在线接口调试页面等等。 官网: https://lswagger.io/knife4j是为Jav…