c语言页面调度lru,python模拟页面调度LRU算法

所谓LRU算法,是指在发生缺页并且没有空闲主存块时,把最近最少使用的页面换出主存块,腾出地方来调入新页面。

问题描述:一进程获得n个主存块的使用权,对于给定的进程访问页面次序,问当采用LRU算法时,输出发生的缺页次数。

这个题为京东2015年笔试考题,主要考察对LRU算法的理解

代码如下

n = int(input())

def LRU(pages, maxNum):

temp = []

times = 0

for page in lst:

num = len(temp)

if num < n:

times += 1

temp.append(page)

elif num == n:                #要访问的新页面已在主存块中

if page in temp:          #处理“主存块”,把最新访问的页面交换到列表尾部

pos = temp.index(page)

temp = temp[:pos] + temp[pos+1:] + [page]

else:                     #把最早访问的页面踢掉,调入新页面

temp.pop(0)

temp.append(page)

times += 1

return times

lst = (1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5)

print(LRU(lst, 3))

截图如下

3f9b78d3abf2307b95f13859b0c2a1bb.png

ad9775edb48ebec86cdad35dcf701c47.png

使用java&period;util&period;LinkedList模拟实现内存页面置换算法--LRU算法

一,LRU算法介绍 LRU是内存分配中“离散分配方式”之分页存储管理方式中用到的一个算法.每个进程都有自己的页表,进程只将自己的一部分页面加载到内存的物理块中,当进程在运行过程中,发现某页面不在物理内 ...

FIFO调度算法和LRU算法

一.理论 FIFO:先进先出调度算法 LRU:最近最久未使用调度算法 两者都是缓存调度算法,经常用作内存的页面置换算法. 打一个比方,帮助你理解.你有很多的书,比如说10000本.由于你的书实在太多了 ...

LRU算法的Python实现

http://flychao88.iteye.com/blog/1977653文章中介绍了常见的几种缓存淘汰策略 LRU:least recently used,最近最少使用算法.其实就是按使用时间倒 ...

【BZOJ4837】LRU算法 &lbrack;模拟&rsqb;

LRU算法 Time Limit: 6 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description 小Q同学在学习操作系统中内存管理的 ...

操作系统的页面置换C&plus;&plus;算法:OPT FIFO LRU CLOCK 计算缺页率

暴力直接上代码,主要是用了vector来实现,有些方法比較费时,不太好,请各位大神斧正.这是个人的作业,  这是代码下载页http://download.csdn.net/detail/l631068 ...

Dijkstra 调度场算法 Python实现 一

调度场算法(Shunting Yard Algorithm)是一个用于将中缀表达式转换为后缀表达式的经典算法,由 Edsger Wybe Dijkstra 引入,因其操作类似于火车编组场而得名.  — ...

近期最久未使用页面淘汰算法———LRU算法(java实现)

请珍惜小编劳动成果,该文章为小编原创,转载请注明出处. LRU算法,即Last Recently Used ---选择最后一次訪问时间距离当前时间最长的一页并淘汰之--即淘汰最长时间没有使用的页 依照 ...

最近最久未使用页面淘汰算法———LRU算法(java实现)

请珍惜小编劳动成果,该文章为小编原创,转载请注明出处. LRU算法,即Last Recently Used ---选择最后一次访问时间距离当前时间最长的一页并淘汰之--即淘汰最长时间没有使用的页 按照 ...

LRU算法原理解析

LRU是Least Recently Used的缩写,即最近最少使用,常用于页面置换算法,是为虚拟页式存储管理服务的. 现代操作系统提供了一种对主存的抽象概念虚拟内存,来对主存进行更好地管理.他将主存 ...

随机推荐

C&num;设计模式学习笔记-单例模式

最近在学设计模式,学到创建型模式的时候,碰到单例模式(或叫单件模式),现在整理一下笔记. 在

Rehosting the Workflow Designer

官方文档:https://msdn.microsoft.com/en-us/library/dd489451(v=vs.110).aspx The Windows Workflow Designer ...

ZeroMQ接口函数之 :zmq&lowbar;close - 关闭ZMQ socket

ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_close zmq_close(3) ØMQ Manual - ØMQ/3.2.5 Name zmq_close  ...

Java命令行解析:apache commons-cli

http://commons.apache.org/proper/commons-cli/usage.html Apache Commons CLI用于解析命令行选项,也可以输出详细的选项说明信息. ...

HDU 2108 Shape of HDU

题解:按照输入顺序依次将点连接起来,对于连续的三个点p0,p1,p2,令向量a=p1-p0,b=p2-p1 若是凸多边形,那么b相对于a一定是向逆时针方向旋转的 判断两向量的旋转方向,可以使用向量的叉 ...

Ionic3多个自定义过滤器--管道(pipe)

往往我们创建自定义管道一般都不止只会创建一个自定义管道,和自定义组件类似,创建多个方式如下. 一.命令行生成管道 ionic g pipe formateDate ionic g pipemoneyD ...

MyEclipse设置字体和背景的方法

可以根据自己喜好设置MyEclipse工作空间中的字体和背景颜色. 1.选择菜单Window→Preferences. 2.设置字体的方法.选择General→Appearance→Colors an ...

json 的相互 转换

using System.Runtime.Serialization.Json; //json 转化为List集合 public List JSONStringToList

图片预加载 js css预加载

图片预加载, 效果非常明显, 特别是有多个图, 方法很简单 , 体验提升了不少

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值