/*=============================================================
*本代码支持在Dev-C++5.11环境下直接运行。
*页面置换算法模拟:最少使用LFU算法;
自己亲自写的,没有参考其他东西,如果好用还请给好评哦,谢谢!
*==============================================================*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<iostream>
using namespace std;
#define BLOCK_NUM 3 //本模拟程序中将系统分配给进程的物理块假设为3;
#define MAXSIZE 100 //本模拟程序中将页面访问序列个数设置为最大为100;
//命中函数,检查页面是否命中,如果命中,返回命中页面在数组中的下标;
int hit(int buffer[],int guard,int &page_locate){
for(int i=0;i<BLOCK_NUM;i++){
if(guard==buffer[i]){
page_locate=i;
return 1;
}
}
return 0;
}
//LFU算法实现函数;
int LRU(int buffer[],int pages[],int &count){
int times[BLOCK_NUM]={0,0,0};
for(int i=0;pages[i]!=-1;i++){
int guard;
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余3页未读,立即下载