版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上存储管理的页面置换算法存储管理的页面置换算法在考试中常常会考到,操作系统教材中主要介绍了3种常用的页面置换算法,分别是:先进先出法(FIFO)、最佳置换法(OPT)和最近最少使用置换法(LRU)。大家要理解3种置换算法的含义,然后能熟练地运用在具体的练习中就可以了。为什么要进行页面置换在请求分页存储管理系统中,由于使用了虚拟存储管理技术,使得所有的进程页面不是一次性地全部调入内存,而是部分页面装入。这就有可能出现下面的情况:要访问的页面不在内存,这时系统产生缺页中断。操作系统在处理缺页中断时,要把所需页面从外存调入到内存中。如果这时内存中有空闲块,就可以直接调入该页面
2、;如果这时内存中没有空闲块,就必须先淘汰一个已经在内存中的页面,腾出空间,再把所需的页面装入,即进行页面置换。有助于理解的关键词有:请求分页、虚拟存储、缺页中断、页面置换。先进先出法(FIFO)算法描述:由于认为最早调入内存的页不再被使用的可能性要大于刚调入内存的页,因此,先进先出法总是淘汰在内存中停留时间最长的一页,即先进入内存的页,先被换出。先进先出法把一个进程所有在内存中的页按进入内存的次序排队,淘汰页面总是在队首进行。如果一个页面刚被放入内存,就把它插在队尾。【例1】教材第4章课后习题。考虑下述页面走向:1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6。当
3、内存块数量分别为3,5时,试问先进先出置换算法(FIFO)的缺页次数是多少?(注意,所有内存块最初都是空的,凡第一次用到的页面都产生一次缺页。)解:当内存块数量分别为3时,FIFO算法的执行过程如下图所示。打叉的表示发生了缺页,共缺页16次。提示:当FIFO算法执行到蓝色的4号页面时,这时内存中有三个页面,分别是1,2,3。按照FIFO算法,在内存中停留时间最长的页面被淘汰。三个页面在内存中的停留时间用绿色区域标记出来了,可见,1号页面是停留时间最长的,因此要淘汰1号页面。当内存块数量分别为5时,共缺页10次。FIFO算法的执行过程如下。优缺点:先进先出法(FIFO)简单易于实现,但是性能不好
4、,存在Belady现象。例如对于以下页面:1,2,3,4,1,2,5,1,2,3,4,5,当内存块为3时,出现9次缺页中断;当内存块为4时,出现10次缺页中断。缺页率随着内存块增加而增加的现象,称为Belady现象。有兴趣的同学可以试一试,看看是不是这样的。代码:#include "iostream"using namespace std;#include<vector>#include <deque>/ram 模拟系统为进程分配的3个内存块deque<int> ram(3);int length=0;/检测是否在内存中int isCon
5、tain(int findNum)int i;for (i=0;i<ram.size();i+)if (findNum=rami) break;return i;/缺页中断 将缺少的页调入内存 同时将最早进来的页调出int intServer(int page)if(length!=ram.size() ramlength=page; length+;else ram.pop_front(); ram.push_back(page);return 0;/显示3个内存块中存放的页面号void display() int i;cout<<"内存块中存放的页面号:&quo
6、t;for (i=0;i<ram.size();i+)printf("%2d ",rami);cout<<endl;int main()/int i=0;for (i=0;i<ram.size();i+ )rami=0;/该模拟进程总共有20条指令 instructesi 为i条指令所在页int instructes21=0;srand();/随机产生指令所在的页for(int i=1;i<=20;i+) /该模拟进程指令或数据分布在6个页面中 /分别为第 1,2,3,4,5,6 页 instructesi=rand()%6+1; /cout&
7、lt;<"第"<<i<<"条指令所在页"<<instructesi<<endl; printf("第%2d指令所在页%d n",i,instructesi);int count=0;for ( i=1;i<=20;i+)printf("当前待执行指令所在页:%2d:n",instructesi);display();int pos=isContain(instructesi);if (pos=ram.size()printf("第%2d页不在内存中 -> 缺页中断n",instructesi);intServer(instructesi);count+;cout<<endl;cout<<"总共执行20条指令n"<<"缺页次数:"<<count<<endl;cout<<"缺页率:"<<(float)cou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水泥混凝土面层施工工艺及施工方法
- 起重机械作业人员考试题库及答案
- 闭路电视监控系统施工方案及技术措施
- 2025年施工员之设备安装施工专业管理实务题库附答案
- 动态好氧发酵系统安装调试施工方案及技术措施
- 交通运输多式联运系统设计与优化方案
- 构建健康堡垒筑牢心理免疫防线小学主题班会课件
- 一年级买书题目及答案大全
- 智勇双全共同成长-小学主题班会课件安排
- 关于处理客户退款申请的通知函(4篇)
- 央企劳动关系管理制度
- 出纳国企面试题目及答案
- 城镇给水排水技术规范完整版2025
- 轧钢机械装备及其智能化技术 课件 第7章 剪切机
- 输血相容性检测操作规程
- 国家开放大学Python程序设计形考任务实验六-互联网评论数据分析及其展示综合案例
- 四川省成都市第十一中学2024-2025学年高一上学期入学分班质量检测数学试题(原卷版)
- 注册安全工程师建筑施工专业实务
- 岩浆岩岩石标本、图片
- 湖北省荆门市2023-2024学年七年级下学期6月期末考试生物试题
- 中西方音乐文化比较
评论
0/150
提交评论