下载此文档

LRU算法 与CLOCK算法.doc


文档分类:IT计算机 | 页数:约24页 举报非法文档有奖
1/24
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/24 下载此文档
文档列表 文档介绍
实验报告
课程名称操作系统
实验项目名______LRU算法模拟
班级与班级代码
实验室名称(或课室)
专业
任课教师
学号:
姓名:
实验日期: 2012 年 5 月 20 日

姓名实验报告成绩
评语:





一般

评分
实验态度(10)
正确性(20)
熟练性(30)
判断能力(20)
应变能力(20)
指导教师(签名)
年月日
说明:指导教师评分后,学年论文交院(系)办公室保存。
实验八 LRU算法模拟
实验目的
(1)模拟实现LRU算法。
(2)模拟实现Clock算法。
(3)比较分析LRU算法、Clock算法。
实验内容
(1)算法实现。
(2)拟定测试数据对算法的正确性进行测试。
(3)对比分析LRU算法和Clock算法各自的优缺点。
实验环境
硬件要求:P4 1G内存60G硬盘以上电脑
软件要求:C、C++编程环境,Java编程环境
实验步骤
LRU算法
预备知识
最近最久未使用(LRU)的页面置换算法,是根据页面调入内存后的使用情况进行决策的。由于无法预测各页面将来的使用情况,只能利用“最近的过去”作为“最近的将来”的近似,因此,LRU置换算法是选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间
t,当须淘汰一个页面时,选择现有页面中其t值最大的,即最近最久未使用的页面予以淘汰。
(2)LRU的实现(需要“堆栈”支持)
可利用一个特殊的栈来保存当前使用的各个页面的页面号。每当进程访问某页面时,便将该页面的页面号从栈中移出,将它压入栈顶。因此,栈顶始终是最新被访问页面的编号,而栈底则是最近最久未使用页面的页面号。假定现有一进程所访问的页面序列为:
4,7,0,7,1,0,1,2,1,2,6
随着进程的访问,栈中页面号的变化情况如图所示。在访问页面6时发生了缺页,此时页面4是最近最久未被访问的页,应将它置换出去。
(2)具体的操作代码及其结果如下:
#include<>
#include<iostream>
#define num 20
#define max 65535
typedef struct PB{
int page;//当前页面号
int seq_num;//对于页面最近一次被访问的序列号
int fg;
}Pb;
int k;
int seek(int seq[],int i,Pb a[],int k);
int test1(int seq_i,int Pn,Pb a[]);
int test2(Pb a[],int Pn);
int LRU(int seq[],int i,int Pn,Pb pb[]);
//页块中的页面的最近最久未使用位置
int seek(int seq[],int i,Pb a[],int k){
int flag=0;
for(int j=i-1;j>=0;j--){
if(a[k].page==seq[j]){
flag=1;
return j;
break;
}
}
if(flag==0)
return -1;
}
//检测当前页面在不在内存中,如果在内存中,返回所在页块号;如果不在,返回-1
int test1(int seq_i,int Pn,Pb a[]){
int flag=0;
for(int j=0;j<Pn;j++){
if(a[j].page==seq_i){
flag=1;
return j;
break;
}
}
if(flag==0)
return -1;
}
//检测有没有空页块,如果有空页块,返回页块号;如果没有,返回-1
int test2(Pb a[],int Pn){
int flag=0;
for(int j=0;j<Pn;j++){
if(a[j].page==-1){
flag=1;
return j;
break;
}
}
if(flag==0)
return -1;
}
int LRU(int seq[],int i,int Pn,Pb pb[])
{
int temp[20];
int j;
for(k=0;k<Pn;k++){
temp[k]=seek(seq,i,pb,k);
pb[k].fg=seek(seq,i,pb,k);
}
for(k=1;k<Pn;k++){
int lastX=1;

LRU算法 与CLOCK算法 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数24
  • 收藏数0 收藏
  • 顶次数0
  • 上传人63229029
  • 文件大小373 KB
  • 时间2017-10-18