采用LRU算法模拟页式存储管理

王朝other·作者佚名  2006-01-09
宽屏版  字体: |||超大  

/*

$ 本程序用来模拟虚拟页式存储管理中的页面置换

& written by 计算机信息工程学院

02级师范【1】班 王瑞珩

学号: 026210104

@2004.12.18

*/

/*

$ 本程序用来模拟虚拟页式存储管理中的页面置换 &

$ 快表页面固定为4块,要求从键盘输入N个页面号 &

$ 输出每次快表页面的内容和缺页次数,缺页率 &

*/

#include

#define PAGES 4 /* 快表页面数 */

#define N 16 /*最多输入的页面号*/

int pages[PAGES][2]; /*page[i][0]保存页面号,

page[i][1]保存页面存留时间*/

int queue[N]; /*页面号数组*/

/*------------初始化:快表和页面号数组++++++++++++++*/

void initialise(void)

{

int i;

for(i=0;i0&&num-1) /*若已经存在,修改相应序号的属性值*/

pages[temp][1]=1;

else /*若不存在,修改返回序号的内容,并修改属性值*/

{

(* lack_page)++;

pages[0-temp-1][0]=queue[i];

pages[0-temp-1][1]=1;

}

printf("第%2d个页面换进时快表的内容:",i+1);

display_pages();

i++;

}

}

int main(void)

{

int lack=0;

float totle_page=0;

initialise();

totle_page=(float)input_pages();

LRU(&lack);

printf("缺页数为:%d\n",lack);

printf("缺页率为:%0.3f\n",lack/totle_page);

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有