三种页面置换算法(详解)

article/2025/10/8 8:38:01

地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。而用来选择淘汰哪一页的规则叫做页面置换算法
一、先进先出(FIFO)
1)原理:把内存中驻留时间最久的页面置换算法予以淘汰
2)举例:
在分页中,采用FIFO页面置换算法,序列 4,3,2,1,4,5,4,3,2,1,5,当物理块为3时,计算缺页次数和缺页率?
算法执行如下操作步骤:

  • 程序运行时,先将4,3,2三个页面装入内存。
  • 之后,当进程要访问页面1的时候,将会产生缺页中断此时根据先进先出置换算法,因为页面4是最先进入内存的,所以将页面4换出;同理4 3 5分别替换3,2,1.
  • 当进程4要访问时,因为它已存在在内存所以不必产生缺页中断; 当页面2要访问时,又引起缺页中断淘汰4;
  • 依次类推直到最后一个页面访问完。图为采用先进先出置换算法的置换图。由图可得,采用先进先出置换算法发生了9次缺页中断。先进先出的页面置换比最佳置换算法的页面置换正好多了一倍;

在这里插入图片描述
当数字不在框中,横着找最长的连续数字(划掉),将新的数字填入
当数字在框中,则不做改变,即空白列
缺页次数=总列数-空白列数=9
缺页率=缺页数/总列数=75%
(3)特点
优点:先进先出算法实现简单,是最直观的一个算法
缺点:先进先出的性能最差,因为与通常页面的使用规则不符合,所以实际应用少
二、最近最久未使用(LRU)
(1)原理:选择最近且最久未被使用的页面进行淘汰
(2)举例:
在分页中,采用LRU页面置换算法,序列 7,0,1,2,0,3,0,4,2,3,0,3,2,0,1,7,0,1当物理块为3时,计算缺页次数和缺页率?

  • 程序运行时,先将7,0,1三个页面装入内存。
  • 之后,当进程要访问页面2的时候,将会产生缺页中断。此时根据最近最久未使用置换算法,因为页面7是最近最久未被使用的的,所以将页面7淘汰;
  • 当进程0要访问时,因为它已存在在内存所以不必产生缺页中断;
  • 在进程要访问页面3的时候,因为页面1是最近最久未被使用的,所以将页面1淘汰;
  • 依次类推直到最后一个页面访问完。下图为采用最近最久未使用的置换算法的置换图。由图可得,采用最近最久未使用置换算法发生了9次缺页中断。

算法执行如下操作步骤:
在这里插入图片描述
当数字不在框中,从头找第一个未被划掉的数字进行替换
当数字在框中,划掉从前往后数和数字一样的第一个数字
3)特点

优点:由于考虑程序访问的时间局部性,一般能有较好的性能;实际应用多
缺点:实现需要较多的硬件支持,会增加硬件成本

三、最佳置换算法(OPT)

(1)原理:每次选择未来长时间不被访问的或者以后永不使用的页面进行淘汰。
(2)举例:假定系统为某进程分配了三块物理块,并有以下页面:
7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1
算法执行如下操作步骤:

  • 程序运行时,先将7,0,1三个页面装入内存。
  • 之后,当进程要访问页面2的时候,将会产生缺页中断。此时根据最佳置换算法,因为页面7要在第18次才能访问,页面0在第5次访问,页面1在第14次访问,页面7最久不被使用,所以将页面7淘汰;
  • 当进程0要访问时,因为它已存在在内存所以不必产生缺页中断; 当页面3要访问时,又引起缺页中断淘汰1;
  • 依次类推直到最后一个页面访问完。下图为采用最佳置换算法的置换图。由图可得,采用最佳置换算法发生了6次缺页中断。

在这里插入图片描述当数字不在框中,从当前向后找最后一个将要访问的数字进行替换
当数字在框中,则不做改变,继续向后
(3)特点
缺点:最佳置换算法是一种理想化算法,具有较好的性能,但是实际上无法实现(无法预知一个进程中的若干页面哪一个最长时间不被访问);
优点:最佳置换算法可以保证获得最低的缺页率


http://chatgpt.dhexx.cn/article/fY9YJP2e.shtml

相关文章

计算机操作系统——页面置换算法

声明:本篇博客参考书籍《计算机操作系统》(西安电子科技大学出版社) 文章目录 一、最佳页面置换算法1、基本知识2、算法思想 二、先进先出(FIFO)页面置换算法1、基本知识2、算法思想 三、最近最久未使用(L…

页面置换算法

文章目录 一、什么是页面置换算法?二、常用的页面置换算法1. FIFO(先进先出算法)2. OPT(最佳置换算法)3. LRU(最近最少使用算法)4. Clock(时钟置换算法)5. LFU(最不常用算法)6. MFU(最常使用算法) 三、程序设计 一、什么是页面置换算法? 进程运行时&…

一文讲懂页面置换算法,带例题详解

目录 ​什么是页面置换算法? ​缺页中断次数和页面置换次数 ​啥子是缺页? ​啥子是中断? ​啥子是缺页中断? ​缺页中断次数 ​最佳置换算法OPT和先进先出置换算法FIFO ​最佳置换算法OPT ​算法思想 ​算法优点 ​算…

回声状态网络ESN(原理)

回声状态网络ESN(原理) 结构特点 网络有3层:输入层 - 隐含层 - 输出层

基于回声状态网络(ESN)的时间序列预测

基于回声状态网络(ESN)的时间序列预测 matlab代码 ID:69100644585791395

【回声状态网络ESN预测】基于粒子群优化回声状态网络ESN实现数据预测附matlab代码

1 简介 由于结构简单,收敛速度快等优点,回声状态网络(Echo State Network, ESN)已被广泛的用于时间序列的预测.针对回声状态网络中随机生成权值矩阵带来的不适用于特定时间序列的问题,本文提出利用粒子群优化算法来优化回声状态网络部分随机权值..实验结果表明,本文提出的方法…

第二十九课.回声状态网络ESN

目录 Echo State NetworkESN的训练与预测关于ESN工作原理的理解 基于Numpy的ESN Echo State Network ESN的训练与预测 回声状态网络(Echo State Network)又称为库计算,即Reservoir Computing,被视为是一种神经网络的扩展。 Res…

【无人机】回波状态网络(ESN)在固定翼无人机非线性控制中的应用(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【MLPs+ESN】利用多层感知机MLPs对经典ESN(回声状态网络)的输出权值计算进行优化的MATLAB仿真

单独的ESN仿真: ESN的运行结果如下所示: 这个部分的误差为: 0.0435 ESN部分就不多做介绍了,你应该了解的,下面我们对ESN和BP改进和极限学习改进分别进行修改和说明,并进行仿真。 ESNBP的仿真: …

回声状态网络(ESN)实现手写数字识别(MNIST)

文章目录 回声状态网络状态方程输出方程分类问题 加载 MNIST 数据集标签 onehot 编码转化成时间序列训练 ESN储备池状态的时空分布测试结果 回声状态网络 状态方程 输出方程 分类问题 加载 MNIST 数据集 from torchvision.datasets import mnist train_set mnist.MNIST(./da…

回声状态网络(ESN)的公式推导及代码实现

1. ESN的任务 给定一段信号: u ( 0 ) , u ( 1 ) , ⋅ ⋅ ⋅ , u ( N t − 1 ) u(0),u(1),,u(N_t-1) u(0),u(1),⋅⋅⋅,u(Nt​−1) 和目标值: v (…

matlab 回声状态网络ESN的时间序列预测

1、内容简介 略 537-可以交流、咨询、答疑 2、内容说明 ESN是Jaeger于2001年提出一种新型递归神经网络,ESN一经提出便成为学术界的热点,并被大量地应用到各种不同的领域中,包括动态模式分类、机器人控制、对象跟踪核运动目标检测、事件监测…

手机esn不可用怎么解决_什么是ESN,为什么我不担心它是否干净?

手机esn不可用怎么解决 If you’re in the market for a cellphone, especially a used one, you’ll hear a lot of talk about ESNs with an emphasis on whether or not the phone is “clean”. What exactly does acronym stand for and what does it mean if the phone i…

回声状态网络(ESN)教程

回声状态网络(ESN)教程 基础概念 回声状态网络(Echo State Network)提出于2001年,曾经是研究的热点,但近年来随着RNN,LSTM与其它一些变种的网络的出现,现在研究比较少了,但是其在时间序列预测上还有着很不错的应用。…

Deep Learning之带你详细了解回声状态网络(ESN)

Abstract 首先呢写本篇博客的灵感来源于我在学习RNN(循环神经网络)时对于如何解决其循环结构,参数共享带来的长期依赖问题,我将在(一)中简要叙述RNN引出本文主角ESN(回声状态网络)。…

回声状态网络(echo state network,ESN)概述

一、提出 循环神经网络(Recurrent Neural Networks,RNNs)的训练是通过反向对权值直接优化来实现的,这种方式容易产生两个问题:收敛速度慢和易陷入局部最优。回声状态网络( echo state network,ESN) 由 Jaeger于2001年…

回声状态网络(ESN)原理详解(附源码实现)

最近在看回声状态网络(Echo State Network)的内容,因为很少搜到关于Echo State Network的快速入门讲解,所以打算写一下ESN的基本原理。 1、概念 回声状态网络作为一种新型的递归神经网络(如上图),也由输入层、隐藏层(即储备池)、输出层组成…

安装 Vue-devtools拓展程序

Chrome安装 Vue-devtools拓展程序 一、Vue-devtools简介二、安装1、打开终端下载仓库代码2、下载依赖node_modules3、编译打包4、修改manifest.json文件5、在Chrome浏览器中加载已解压的扩展程序 三、安装遇到的坑build 问题 四、换种方式下载1、安装命令2、修改manifest.json文…

Vue DevTools 使用指南 - 如何安装和使用 Vue DevTools 调试 Vue 组件

本文首发:《Vue DevTools 使用指南 - 如何安装和使用 Vue DevTools 调试 Vue 组件》 Vue Devtools 是 Vue 官方发布的调试浏览器插件,可以安装在 Chrome 和 Firefox 等浏览器上,直接内嵌在开发者工具中,使用体验流畅。Vue Devtoo…

Chrome DevTools 使用详解

【转自:https://segmentfault.com/a/1190000007877846】 基本够调试用了!有这么详细文章,真实很感谢作者! 写在前面:Chrome DevTools 系列文章正在紧张地整理当中,目前正在整理 DevTools 的第一部分&#…