-
大小: 74KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-06-05
- 语言: 其他
- 标签:
资源简介
先来先服务FCFS,最短寻道时间优先SSTF,SCAN和循环SCAN算法模拟磁道访问过程
代码片段和文件信息
#include
#include
const MaxNumber=100;
int PageOrder[MaxNumber];
int Simulation[MaxNumber][MaxNumber];
int Blocks[MaxNumber];
int Count[MaxNumber];
int blocks;
int pages;
int PageNumLackNum;
double LackPageRate;
bool found;
int ijk;
void Input();
void FIFO();
void OPI();
void LRU();
void Show();
void main()
{
int choice;
cout<<“\n============= 虚拟内存页面置换算法===============\n\n“;
Input();
while(1)
{
cout<<“\n=========== 1-FIFO 2-OPI 3-LRU ============\n“;
cout<<“\n请输入页面置换算法相对应的序号退出请按0:“;
cin>>choice;
switch(choice)
{
case 1:FIFO();break;
case 2:OPI();break;
case 3:LRU();break;
default:break;
}
if(choice==0)
break;
}
}
void Input()
{
cout<<“请输入页面数个数:“;
cin>>pages;
cout<<“请输入最小物理块个数:“;
cin>>blocks;
cout< while( blocks > pages) // 大于数据个数
{
cout<<“页面个数超过页面个数,请重新输入:“;
cin>>blocks;
}
cout<<“请输入页面访问序列:“;
for( i=0;i {
cin>>PageOrder[i];
}
for( i=0;i for( j=0;j Simulation[i][j]=-1;
//
}
void Show()
{
for(i=0;i {
cout< for(j=0;j cout< }
cout<<“\n缺页次数:“< LackPageRate=LackNum*100/pages;
cout<<“缺页率:“< }
void FIFO()
{
int pr=0;
int temp;
LackNum=0;
for( i=0;i for( j=0;j Simulation[j][i]=-1;
for( j=0;j Blocks[j]=-1;
for( i=0;i Count[i]=0;
for( i=0;i {
for(j=0;j Count[j]++;
found=false;
for(j=0;j {
if(PageOrder[i]==Blocks[j])
{
//Blocks[j]=PageOrder[i];
found=true;
}
}
if(found)
continue;
LackNum++;
if(i pr=i;
else
{
temp=0;
for( k=0;k {
if(Count[k]>temp)
{
temp=Count[k];
pr=k;
}
}
}
Blocks[pr]=PageOrder[i];
Count[pr]=1;
for(j=0;j Simulation[j][i]=Blocks[j];
}
cout< Show();
}
void OPI(){
int prtemp;
LackNum=0;
for( i=0;i for( j=0;j Simulation[j][i]=-1;
for( j=0;j Blocks[j]=-1;
for( i=0;i {
found=false;
for(j=0;j {
if(PageOrder[i]==Blocks[j])
{
//Blocks[j]=PageOrder[i];
found=true;
}
}
if(found)
continue;
LackNum++;
for(j=0;j {
found=false;
for(k=i;k {
if(PageOrder[k]==Blocks[j])
{
Count[j]=k;
found=true;
break;
}
}
if(!found)
Count[j]=pages;
}
if(i pr=i;
else
{
temp=0;
for(j=0;j {
if( temp < Count[j] )
{
temp
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 143360 2011-06-19 15:47 页面置换算法 OS.doc
文件 4141 2011-05-29 19:40 页面置换.cpp
----------- --------- ---------- ----- ----
147501 2
- 上一篇:基于交叉熵阈值法的快速迭代算法
- 下一篇:USB鼠标的全部源代码
评论
共有 条评论