首页 > 其他分享 >6.8

6.8

时间:2024-06-16 17:24:40浏览次数:6  
标签:缓存 sequence cache 缺页 6.8 page 页面

今日总结

今日完成了python的测试4作业

from collections import OrderedDict

def lru_simulation(num_blocks, page_sequence):
# 初始化LRU缓存
cache = OrderedDict()

# 缺页计数器
page_faults = 0

# 遍历访问页面序列
for page in page_sequence:
# 检查页面是否已在缓存中
if page in cache:
# 移动页面至缓存末尾,表示它是最新的访问页面
cache.move_to_end(page)
else:
# 如果缓存已满且当前页面不在缓存中
if len(cache) == num_blocks:
# 弹出最近最少使用的页面(即第一个插入的页面)
cache.popitem(last=False)
# 添加新的页面至缓存末尾
cache[page] = True
# 缺页次数加1
page_faults += 1

# 输出缺页次数
return page_faults

# 输入部分
num_blocks = int(input("请输入进程获得使用权的主存块数量n:"))
page_sequence_str = input("请输入进程访问页面的次序,各数据之间以空格为间隔:")
page_sequence = list(map(int, page_sequence_str.split()))
3
# 运行LRU模拟
result = lru_simulation(num_blocks, page_sequence)

# 输出结果
print("采用LRU算法时的缺页次数为:", result)

# 测试样例
# 输入样例
# num_blocks = 3
# page_sequence = [1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5]

# 输出样例
# 采用LRU算法时的缺页次数为: 7

标签:缓存,sequence,cache,缺页,6.8,page,页面
From: https://www.cnblogs.com/tianpeisen/p/18250925

相关文章

  • python gdal 安装使用(Windows, python 3.6.8)
    pythongdal安装使用pythonGDAL有两种安装方式:第一种是利用pipinstallgdal安装如果安装失败,可以采用下面的方法:第二种离线安装步骤:(1)查看python版本;(2)下载gdal的whl文件;(3)利用pipinstall下载的gdal.whl文件;(4)将gdal中的可执行文件所在路径添加到系统环境中;具体操作见......
  • 6.8登录点及数据篡改
    登录应用功能检测(大型商品网站不存在,小网站可能有)1、http网站密码传输为明文传输(未使用ssl加密);进行相对于的爆破操作时,也需要对字典进行加密;2、cookie脆弱性修改数据包中cookie进行绕过(是否有修改功能点);数据篡改安全问题1、商品购买选择商品和数量--选择支付和配送方式--......
  • 6.8哈希表
    1.两数之和题意描述:给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例1:输入:n......
  • C++ 6.8笔记:①判断质数②二分基础算法
    质数试除法判定质数boolprimes(intx){  if(x<2)returnfalse;  for(inti=2;i<=x/i;i++){    if(x%i==0)returnfalse;  }  returntrue;}埃筛1intp[N],k,n;boolf[N];voidprimes(intn){//埃筛,思想:质数的倍数是合数for(inti......
  • 操作系统入门系列-MIT6.828(操作系统工程)学习笔记(四)---- C语言与计算机架构(Programmin
    系列文章目录操作系统入门系列-MIT6.S081(操作系统)学习笔记(一)----操作系统介绍与接口示例操作系统入门系列-MIT6.828(操作系统工程)学习笔记(二)----课程实验环境搭建(wsl2+ubuntu+quem+xv6)操作系统入门系列-MIT6.828(操作系统工程)学习笔记(三)----xv6初探与实验一(Lab:Xv6and......
  • Word 2021 LTSC for Mac(word 2021)v16.85.2版
    Word2021LTSCforMac是一款卓越的文字处理软件,专注于为用户提供一个全面且高效的文档创建与编辑环境。它集合了众多强大的文档构建工具,诸如文本框、表格、图片等,允许用户灵活地将这些元素自由组合和调整,以创造出符合需求的文档。此外,Word2021LTSC还提供了如页眉、页脚、......
  • mit6.828笔记 - lab5(上)- Spawn and Shell
    SpawningProcess有了文件系统了,我们终于可以方便地读取磁盘中的文件了。到目前为止,我们创建进程的方法一直都是在编译内核的时候将程序链接到数据段,在i386_init通过ENV_CREATE宏创建。现在我们应该考虑通过文件系统直接将用户程序从硬盘中读取出来,spawn就是这样的东西。s......
  • spanner,mit6.824论文解读
    为什么选择这篇论文(GoogleSpanner,OSDI2012)?宽域分布式事务的罕见示例。非常理想。但是二阶段提交被视为太慢并且容易阻塞。宽域同步复制的罕见示例。巧妙的想法:通过Paxos进行的两阶段提交。同步时间用于快速只读事务。在Google内部广泛使用。动机用例是什么?......
  • Distributed Transactions Mit 6.824
    Topic1:distributedtransactions=concurrencycontrol+atomiccommit传统计划:事务程序员标记代码序列的开始/结束作为事务。事务示例x和y是银行余额——数据库表中的记录。x和y位于不同的服务器上(可能在不同的银行)。x和y开始时都是$10。T1和T2是事务。......
  • mit6.828笔记 - lab4 Part C:抢占式多任务和进程间通信(IPC)
    PartC:抢占式多任务和进程间通信(IPClab4到目前为止,我们能够启动多个CPU,让多个CPU同时处理多个进程。实现了中断处理,并且实现了用户级页面故障机制以及写时复制fork。但是,我们的进程调度不是抢占式的,现在每个进程只有在发生中断的时候,才会被调度(调用shed_yeild),这样就有可能会有......