Linux页面置换算法的C语言实现
Linux页面置换算法的C语言实现
编写算法,实现页面置换算法FIFO、LRU、OPT;针对内存地址引用串,进行页面置换算法进行页面置换。
其中,算法所需的各种参数由输入产生(手工输入或者随机数产生);输出内存驻留的页面集合,缺页次数以及缺页率。
#include//#include #include #include //随机数 #defineMyprintfprintf("|---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---|\n")//*表格控制*/ intM; intN; typedefstructpage { intnum;/*记录页面号*/ inttime;/*记录调入内存时间*///(lru那用到) intindex;//记录调入内存的先后次序//从1开始(FIFO那用到) }Page;/*页面逻辑结构,结构为方便算法实现设计*/ Pageb[10];/*内存单元数*///从0开始 intc[10][150];/*暂保存内存当前的状态:缓冲区*/ intqueue[100];/*记录调入队列*/ intK;/*调入队列计数变量*/ /*初始化内存单元、缓冲区*/ voidInit(Page*b,intc[10][150]) { inti,j; for(i=0;i max) { max=b[i].time; tag=i; } } returntag; } /**intGetMinTime(Page*b) { inti; intmin=1000; inttag=0; for(i=0;i =0)//在内存中 { b[val].time=0;//存在就把那个东西的时间变成0 for(i=0;i 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。