操作系统页面置换算法之LRU算法_三个物理页框,使用lru算法,页面号为321023432104_Wangchinlung的博客-程序员资料

技术标签: Leetcode  

LRU算法是最近最久未使用的页面置换算法,根据页面调入内存后的使用情况来做出决策。
要实现这种算法的方法是多种多样的,可以通过使用寄存器来存储页面的使用情况,也可以通过建一种特殊的栈来实现。
我的方法是通过给每个物理块分配一个权重,假设有三个物理块,初始权重为0,0,0,之后,当每次申请物理块时,首先加一,没有空闲物理块时三个物理块的权重值肯定有3,2,1,如果申请的页面在物理块中,则命中,依旧先全加一,然后把这个物理快的权重值改为1,如果没有命中,则要找出权重最大的(因为加一权重是4,3,2),也就是权重为4的物理块,让后换掉物理块中的页即可。
下面是代码:
void show(){
  printf("物理块  页  号\n");
  for(int i = 0;i < 3;i ++){
    printf("  %d        ",i);
    if(f[i] == 0){
      printf("空  闲\n");
    }
    else{
      printf("  %d\n",team[i]);
    }
  }
}
void deal(int id){
  int a = 0;
  for(int i = 0;i < 3;i ++){
    if(f[i] == 0){
      printf("存在空闲物理块!\n");
      team[i] = id;
      f[i] = 1;
      flag[i]=3-i;
      show();
      return;
    }
  }
  for(int j = 0;j < 3;j ++){
    if(team[j] == id){
      a = j;
    }
  }
  int max =  0,n = 0;
  if(a == 0){
    for(int j = 0;j < 3;j ++)  //首先全加一
      flag[j]++;
    for(int i = 0;i < 3;i ++){  //找最大的标记,替换页号后,将当前物理块标记变为1
      if(max
        n = i;
        max = flag[i];
      }
    }
    printf("页号%d替换为页号%d\n\n",team[n],id);
    team[n] = id;
    flag[n] = 1;
  }
  else{    //如果命中,所有的标记全加一,之后将命中的块号的标记置为一(最小)
    printf("页号命中\n\n!");
    for(int i = 0;i < 3;i ++){
      flag[i]++;
    }
    flag[a] = 1;
  }
  show();
}
操作系统页面置换算法之LRU算法
运行结果正常!
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wangchinlung/article/details/72582611

智能推荐

5UCMS漏洞利用_5ucms 渗透_god_7z1的博客-程序员资料

有一次不小心发现了5UCMS一个小漏洞。漏洞文件后台目录/ajax.asp因未进行后台用户验证,导致未登陆也可访问此文件,文件存在sql注入。我今天进官方看了下好象漏洞他们已经发出了修复公告了,这里我把利用公布出来 直接暴出后台帐号密码。ajax.asp?Ac

多线程群发邮件小例子_线程邮箱的原理_HelloNet的博客-程序员资料

//线程池发送邮件 private static void SendEmailsUsingThreadPool(List recipients) { //线程数 var coreCount = Environment.ProcessorCount; //邮件数 var itemCount = recipients.Count;

Java实现算法设计与分析实验(VLSI芯片检测算法 + 正则表达式匹配 +黄金矿工 + 单词接龙)总结_Phantom Flipped的博客-程序员资料

目录实验一实验名称实验内容实验代码实验结果实验总结实验二实验名称实验内容实验代码实验结果实验总结实验三实验名称实验内容实验代码实验结果实验总结实验四实验名称实验内容实验代码实验结果实验总结PS实验一实验名称VLSI芯片检测算法实验内容实验代码import java.util.*;public class FINDGOOD { public static void main(String[] args){ // TODO Auto-generated method stub Scan

辽宁工业大学计算机专业分数线,2019辽宁工业大学录取分数线及历年专业分数线统计表【文科 理科】..._南笙有酒的博客-程序员资料

1、历年辽宁工业大学全国排名【校友会版】在校友会版本排名中,2018辽宁工业大学全国排名第365,相较于2017年的374名,排名上升了9位。年度全国排名省内排名总分20183652460.6820173742660.5320163552360.8520153332060.920143181961.5820133992760.12、历年辽宁工业大学全国排名【最好大学版】在校友会版本排名中,2018...

php9宫格抽奖程序_基于PHP实现简单的随机抽奖小程序_weixin_39869733的博客-程序员资料

一个抽奖小程序,概论可控,也可某个奖品在前端显示,而程序中根本不可能获得!把所有的概率x10后相加起来,新数组中每项的值等于它前几个的和加上它本身。然后随即生成一个0到最大数之间的一个数,通过循环查看它属于那个区间,返回该区间的key。代码如下$prize = array(1 =&gt; 3.5, //3.5%机率2 =&gt; 2.5,3 =&gt; 6,4 =&gt; 2,5 =&gt; 42...

随便推点

VMware vCenter 7.0U2A升级攻略VMware vCenter 7.0U3C攻略_vcenter升级_奋斗的小青年I的博客-程序员资料

一、概述写这篇文章是因为VMware 7.0U2A之前版本有个bug,用户可根据漏洞(CVE-2021-22005)进行提权443端口,直接访问vCenter 443管理界面。然后想着将VMware 7.0U2A升级至最新版VMware 7.0U3C。具体的漏洞复现可根据KB去查找。二、升级前奏1、登录VMware官网下载最新的补丁包:(需要注册VMware会员)下载地址:https://my.vmware.com/cn/group/vmware/patch#search请根据当前v

Frp---树莓派4B内网穿透_树莓派frp内网穿透_沐岚浩的博客-程序员资料

Frp—树莓派4B内网穿透吐槽一下:花生壳真tm 垃圾。啊~,舒服多了。前言开源免费,轻量级,很nice。1、frp是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务, 支持tcp, udp, http, https等协议类型,并且web服务支持根据域名进行路由转发。2、frp内网穿透主要用于没有公网IP的用户,实现远程桌面、远程控制路由器、 搭建的WEB、FTP、SMB服务器被外网访问、远程查看摄像头、调试一些远程的API(比如微信公众号,企业号的开发)等。介绍使用

2022-03-23 vmware tools 安装失败的解决办法_安装vmware工具总是出错_miyafung的博客-程序员资料

问题记录:VMware Workstation 16 下安装了虚拟机 win7 ,准备给虚拟机安装vmware tools的时候提示这个以下报错错误提醒“未能自动安装x驱动程序。此驱动程序必须手动安装”Hardware Partner Center – SHA 1 signing deprecation notice - Microsoft Tech Community解决办法给系统安装补丁:kb4474419下载地址:https://www.catalog.update.m..

年月日三下拉框联动_weixin_30340617的博客-程序员资料

function YYYYMMDDstart() { MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; //先给年下拉框赋内容 var y = new Date().getFullYear(); ...

基于内容的图像检索软件库LIRE的特征提取方法综述_netscaner的博客-程序员资料

LIRE(Lucene Image Retrieval ) 是利用Apache Lucene 建立索引进行图像检索的开源软件库。该软件项目的网址是 http://lire-project.net。LIRE这个软件库可以很方便地建立Lucene索引进行基于内容的图像检索 (CBIR, content based image retrieval ),该库为检索提供了丰富的图像特征提取方法。这里提醒大家...

JDBC-MySQL-Tomcat 登录到主页_Big data ape的博客-程序员资料

1.下载网页模板(我只是网页的搬运工,代码是自己写的——不喜勿喷)。最终效果: Tomcat—MySQL登录 登录页面链接:https://pan.baidu.com/s/1_X-2crExl3dyo_zxf0qLQA 提取码:AAAA 主页面链接:https://pan.baidu.com/s/1csUICPCm32WBNwib6wYGHA 提取码:BBBB m.

推荐文章

热门文章

相关标签