资源简介
在一个请求分页系统中,假如系统分配给一个作业的物理块数为 3,且此作业的页面走向为:
2,3,2,1,5,2,4,5,3,2,3,1
试分别求出用FIFO,LRU,OPT三种算法在程序访问过程中所发生的缺页次数及缺页率?(假设最初页面都在外存)
代码片段和文件信息
/*
在一个请求分页系统中,假如系统分配给一个作业的物理块数为 3,且此作业的页面走向为:
2,3,2,1,5,2,4,5,3,2,3,1
试分别求出用FIFO,LRU,OPT三种算法在程序访问过程中所发生的缺页次数及缺页率?(假设最初页面都在外存)
*/
#include
using namespace std;
int need[12] = {232152453231};
int page[3] = {000};
int A=0;
bool iflack;
int lack=0;
int lruA[3];
int optA[3];
void clean(){
for (int i = 0; i < 3; i++)
page[i] = 0;
lack = 0;
A = 0;
}
bool had(int aint t){
for (int i = 0; i < 3; i++)
if (a == page[i]){
lruA[i] = t;
return true;
}
lack++;
return false;
}
int free(){
for (int i = 0; i < 3; i++)
if (page[i] == 0)
return i;
return -1;
}
void show(){
for (int i = 0; i < 3; i++)
cout << page[i] << “ “;
if (iflack){
cout << ‘*‘;
}
cout << endl;
}
void optj(int t){
for (int i = 0; i < 3; i++){
for (int j = t; j < 12; j++){
if (page[i] == need[j]){
optA[i] = j;
break;
}
else{
optA[i] = 13;
}
}
}
}
void FIFO(int a){
page[A] = a;
A++;
if (A == 3)
A = 0;
}
void LRU(int aint t){
int tp = lruA[0];
int ti=0;
for (int i = 1; i < 3; i++)
if (lruA[i] < tp){
tp = lruA[i];
ti = i;
}
page[ti] = a;
lruA[ti] = t;
}
void OPT(int aint t){
int opti = optA[0];
int opta=0;
optj(t);
for (int i = 1; i < 3; i++)
- 上一篇:PyQt5:pyCharts 绘制饼图
- 下一篇:VC++ 迷宫游戏
相关资源
- 页面置换算法(fifolruopt) C语言编写
- 页式存储管理FIFO实现
- 操作系统实验 请求分页存储管理(包
- 页面置换算法OPT、FIFO、LRU实现--C++版
- 操作系统 C++ 页面置换算法含实验报告
- 页面调度方法FIFONUROPT等
- 利用LINUX FIFO命名管道技术实现双向聊
- 操作系统3种页面置换算法 C++实现
- 操作系统 虚拟存储器地址转换
- MFC实现的操作系统页面置换FIFO、LRU、
- C++ 先进先出算法FIFO
- C语言实现Optimal、FIFO、LRU页面置换算
- 页面置换算法最佳,FIFO,LRU,随机,
- 页面置换算法OPT、FIFO、LRU实现--C++版
- c语言实现的LRU算法
- C语言实现页面置换算法
- lru算法c语言实现,采用了堆栈.
- 存储管理页面置换算法C语言实现
- lru算法C语言实现
- 页面置换算法模拟
- 分页存储管理模拟C语言实现FIFO
- 页面置换算法OPT+FIFO+LRU+clock
评论
共有 条评论