Linux页面置换算法的C语言实现

Linux页面置换算法的C语言实现

编写算法,实现页面置换算法FIFO、LRU、OPT;针对内存地址引用串,进行页面置换算法进行页面置换。

其中,算法所需的各种参数由输入产生(手工输入或者随机数产生);输出内存驻留的页面集合,缺页次数以及缺页率。

#include 
//#include 
#include 
#include //随机数
 
#define Myprintf printf("|---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---|\n")  //*表格控制*/

int M; 
int N; 

typedef struct page 
{ 
 int num; /*记录页面号*/ 
 int time;  /*记录调入内存时间*/    //(lru那用到)
 int index; //记录调入内存的先后次序  //从1开始(FIFO那用到)
}Page;          /* 页面逻辑结构,结构为方便算法实现设计*/ 
Page b[10];      /*内存单元数*/ //从0开始

int c[10][150];  /*暂保存内存当前的状态:缓冲区*/ 
int queue[100];    /*记录调入队列*/ 
int K;       /*调入队列计数变量*/ 


/*初始化内存单元、缓冲区*/ 
void Init(Page *b,int c[10][150]) 
{ 
 int i,j; 
 for(i=0;imax) 
 { 
  max=b[i].time; 
  tag=i; 
 } 
 } 
 return tag; 
} 

/**int GetMinTime(Page *b) 
{
 int i;
 int min=1000; 
 int tag=0; 
 for(i=0;i=0)    //在内存中
 { 
 b[val].time=0;  //存在就把那个东西的时间变成0
 for(i=0;i 
 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(Linux页面置换算法的C语言实现)