python 排程问题仿真_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))

截图如下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值