实验报告5-页面调度

一、实现思路

实验报告5-页面调度

1、关于页面调度

页式虚拟存储器实现的一个难点是设计页面调度(置换)算法,即将新页面调入内存时,如果内存中所有的物理页都已经分配出去,就要按某种策略来废弃某个页面,将其所占据的物理页释放出来,供新页面使用。

2、衡量指标

衡量页面调度性能的指标有:缺页调度次数和缺页中断率、缺页置换率。缺页中断次数是缺页时发出缺页中断的次数;缺页中断率是缺页中断次数/总的页面引用次数100%;缺页调度次数是调入新页时需要进行页面调度的次数;缺页置换率=缺页调度次数/总的页面引用次数*100%。

3、LRU淘汰最近最少调度算法

先进先出调度算法没有考虑页面的使用情况,大多数情况下性能不佳。根据程序执行的局部性特点,程序一旦访问了某些代码和数据,则在一段时间内会经常访问他们,因此最近最少用调度在选择淘汰页面时会考虑页面最近的使用,总是选择在最近一段时间以来最少使用的页面予以淘汰。算法实现时需要为每个页面设置数据结构记录页面自上次访问以来所经历的时间。

二、实验步骤

1、PageSchedule类
public class PageSchedule {//页框数private Integer pageNum;//页面访问列表private List<Integer> pageList;//定义容器List<Integer> container = new LinkedList<>();//定义缺页率Integer pageMiss = 0;
​//构造函数,初始化页框数和页面访问列表public PageSchedule(Integer pageNum, List<Integer> pageList) {this.pageNum = pageNum;this.pageList = pageList;}
​//LRU淘汰最近最少使用页面的算法public void LRU(){System.out.println("LRU淘汰最近最少使用页面的算法");//遍历页面访问列表for (int i = 0; i < pageList.size(); i++) {//获取当前页Integer page = pageList.get(i);System.out.println("第"+ (i+1) +"次请求");System.out.print("\t请求前");//输出容器showContainer();System.out.print("\t请求的页面是:"+page+",");//缺页if (!container.contains(page)){//容器已满if (container.size() >= pageNum){container.remove(0);}//将外存页面调入内存container.add(page);pageMiss++;System.out.println("缺页");}//命中else {container.remove(page);container.add(page);System.out.println("命中");}//输出容器System.out.print("\t请求后");showContainer();}
​//计算并格式化输出缺页率System.out.println(String.format("页框数为:%d,缺页中断次数为:%d,请页总次数为:%d,缺页率为:%.2f%%",pageNum,pageMiss,pageList.size(),100*pageMiss / (pageList.size() * 1.0)));}
​//格式化输出容器private void showContainer() {System.out.print("容器:");for (Integer page:container) {System.out.print(page + "  ");}System.out.println();}
}
2、Test测试类
public class Test {public static void main(String[] args) {//给定的初始参数int pageNum = 3;String pageListStr = "7,0,1,2,0,3,0,4,1,6,2,5,3";//将字符串转换为ListList<Integer> pageList = new ArrayList<>();String[] strings = pageListStr.split(",");for (String str:strings) {pageList.add(Integer.parseInt(str));}//实例化页面调度类PageSchedule pageSchedule = new PageSchedule(pageNum,pageList);//调用LRU淘汰最近最少使用页面的算法pageSchedule.LRU();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/848712.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

el-input添加clearable属性 输入内容时会直接撑开

<el-inputclearablev-if"item.type number || item.type text":type"item.type":placeholder"item.placeholder":prefix-icon"item.icon || "v-model.trim"searchform[item.prop]"></el-input>解决方案 添加c…

安全专业的硬件远控方案 设备无网也能远程运维

在很多行业中&#xff0c;企业的运维工作不仅仅局限在可以联网的IT设备&#xff0c;不能连接外网的特种设备也需要专业的远程运维手段。 这种特种设备在能源、医疗等行业尤其常见&#xff0c;那么我们究竟如何通过远程控制&#xff0c;对这些无网设备实施远程运维&#xff0c;…

【简报】VITA 74 (VNX)C

VNX 模块标准 12.5 mm Module • 母板 MiniPCIe • 200 针连接器 • 75mm &#xff08;长&#xff09; X 89mm &#xff08;宽&#xff09; X 12.5mm &#xff08;高&#xff09; •应用 1 个 SBC 2 I/O 载波 3 个 GPS / IMU / SAASM 4 存储和内存 19 mm Module • 母板 …

鸿蒙轻内核M核源码分析系列九 互斥锁Mutex

多任务环境下会存在多个任务访问同一公共资源的场景&#xff0c;而有些公共资源是非共享的临界资源&#xff0c;只能被独占使用。鸿蒙轻内核使用互斥锁来避免这种冲突&#xff0c;互斥锁是一种特殊的二值性信号量&#xff0c;用于实现对临界资源的独占式处理。另外&#xff0c;…

60V降压12V0.3A稳压芯片 48V降压5V0.3A电源IC-惠海H6246

惠海H6246降压开关控制器芯片是一款降压恒压的电源管理芯片&#xff0c;适用于高压输入、低压输出的应用。以下是对该产品的详细分析&#xff1a; 首先&#xff0c;H6246降压恒压芯片它内置60V耐压MOS&#xff0c;能够在48V的输入电压下稳定工作&#xff0c;并且具有宽压8V-48V…

vue开发网站--对文章详情页的接口内容进行处理

一、需求 接口返回的数据中既包含文字也包含图片&#xff0c;并且需要对图片进行处理&#xff08;设置最大宽度为100%并拼接域名&#xff09; 可以按照以下步骤进行操作&#xff1a; 二、代码 <template><div class"details"><div class"infos…

docker registry-harbor私有镜像仓库安装

本博文将引导您安装和配置Harbor私有镜像仓库。安装前&#xff0c;请确保您已安装Docker和Docker Compose。 前置环境 需要安装docker和docker-compose 下载Harbor Harbor的最新版本可以从GitHub下载。这里以2.9.4版本为例&#xff1a; 下载地址&#xff1a;https://github…

SmartEDA:革新电路设计,体验前所未有的创新乐趣!

在数字化时代的浪潮中&#xff0c;电路设计作为科技领域的重要一环&#xff0c;也在经历着前所未有的变革。今天&#xff0c;就让我们一同走进SmartEDA的世界&#xff0c;感受这款革新性工具带来的电路设计乐趣&#xff0c;开启一段全新的创新之旅&#xff01; SmartEDA&#x…

数据结构复习

基本概念和术语&#xff1a; 数据&#xff1a;是描述客观事物的符号&#xff0c;是计算机中可以操作的对象&#xff0c;是能被计算机识别&#xff0c;并输入给计算机处理的符号集合。 数据元素&#xff1a;是组成数据的&#xff0c;具有一定意义的基本单位&#xff0c;在计算机…

Shopee本土店成本利润如何核算?EasyBoss ERP帮您精准掌控

这几年做跨境电商的老板们都在说东南亚市场广阔&#xff0c;在东南亚开本土店流量大&#xff0c;为了赚钱兴冲冲跑去东南亚开本土店&#xff0c;每天看着店铺不停出单。 心里乐呵呵&#xff1a;“本土店是真赚钱&#xff0c;马上要走上人生巅峰了&#xff01;” 但每月实际一对…

[XYCTF新生赛]-Reverse:ez_rand解析(爆破时间戳,汇编结合反汇编)

无壳 查看ida 这里是利用time64获取种子&#xff0c;但是time64不是标准的函数&#xff0c;这里是伪随机数&#xff0c;简单地来说就是它不是通过时间来确定种子&#xff0c;所以我们没办法在脚本里直接调用它得到种子&#xff0c;那就意味着我们不知道种子是多少&#xff0c;…

jmeter -n -t 使用非GUI模式运行脚本说明

命令模式下执行jmx文件 jmeter -n -t fatie.jmx -l results\t4.jtl -e -o results\h1 表示以命令行模式运行当前目录下的脚本fatie.jmx,将结果存入当前目录下的results\t1.jtl,并且生成html格式的报告&#xff0c;写入文件夹results\h1。 说明&#xff1a;生成结果的文件夹r…

STL:list

文章目录 标准库中的listlist的构造list的迭代器list的容量list的访问list的修改 list的迭代器失效list的反向迭代器list 与 vector的对比 标准库中的list list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。list的底层是双…

电子抄表系统:当代能源管理的创新

1.界定与基本原理 电子抄表系统是一种利用通讯网技术&#xff0c;如wifi网络、物联网技术或有线连接&#xff0c;全自动收集并解决电磁能、水、气等公共事业表计数据信息解决方案。它取代了传统人工抄水表方法&#xff0c;提升了数据可靠性和质量。 2.功能和优点 -实时监控系…

【android】设置背景图片

改变值&#xff0c;可显示zai在 在theves下面的两个value都要增加名字代码 <item name"windowActionBar">false</item><item name"android:windowNoTitle">true</item><item name"android:windowFullscreen">tru…

西门子学习笔记6 - TCP通讯

1、主站设置 1、添加两个PLC在网络组态进行链接在一起&#xff0c;使用tcp链接 2、设置主站IP地址为&#xff1a;192.168.1.1 3、添加TSEND_C功能块 4、设置功能块参数连接 5、设置如下所示&#xff08;连接参数设置&#xff09; 6、设置如下所示&#xff08;连接块参数设置&a…

前端面试宝典总结3-JavaScript(1)

前端面试宝典总结之JavaScript&#xff08;1&#xff09; 本文章 对各大学习技术论坛知识点&#xff0c;进行总结、归纳自用学习&#xff0c;共勉&#x1f64f; 上一篇&#x1f449;: 前端面试宝典总结2-CSS&#xff08;2&#xff09; 文章目录 前端面试宝典总结之JavaScrip…

数字化高炉:高炉炼铁厂可视化解决方案

图扑高炉炼铁厂可视化系统通过实时监控和数据分析&#xff0c;全面展示高炉生产各环节的运行状态、温度和压力等关键参数。实现精准控制和决策支持&#xff0c;提高生产效率&#xff0c;减少能耗和污染&#xff0c;确保生产过程的安全和稳定。

生信软件21 - 多线程拆分NCBI-SRA文件工具pfastq-dump

在使用NCBI 工具fastq-dump拆分SRA文件时&#xff0c;拆分速度慢&#xff0c; fastq-dump拆分参数说明&#xff1a; –split-spot: 将双端测序分为两份&#xff0c;存放在同一个文件中–split-files: 将双端测序分为两份&#xff0c;存放在不同的文件&#xff0c;但是对于一方…

华为进军越野车领域 | 百能云芯

在最近召开的2024未来汽车发展峰会上&#xff0c;华为智能汽车解决方案BU的领军人物余承东分享了一项引人注目的计划&#xff1a;华为正积极评估进军硬派越野车型市场的可能性。 余承东明确表示&#xff0c;若决定进入该领域&#xff0c;华为不会简单地复制传统越野车型如奔驰G…