设计一个虚拟存储区和内存工作区,编程序演示下述算法的具体实现过程,并计算访问命中率:

来源:百度知道 编辑:UC知道 时间:2024/05/16 17:01:55
求各位大虾帮帮忙吧马上就交了
设计一个虚拟存储区和内存工作区,编程序演示下述算法的具体实现过程,并计算访问命中率:
要求设计主界面以灵活选择某算法,且以下算法都要实现
1、先进先出算法(FIFO)
2、最近最久未使用算法(LRU)
3、最佳置换算法(OPT)

哎! 祝你成功! 我也再学习

不好意思,学了很久都忘了!

似乎有印象

1、先进先出算法(FIFO)

#include <stdio.h>
#include <stdlib.h>

#define mSIZE 3
#define pSIZE 8

static int memery[mSIZE] = {0};
static int process[pSIZE] = {0};
//static int process[pSIZE] = {2,3,2,1,5,2,4,5,3,2,5,2};
//static int process[pSIZE] = {7,10,1,2,10,3,10,4,2,3,10,3,2,1,2,10,1,7,10,1};

void build(); //生成一个随机数序列
void FIFO(); //最近最久未使用(LRU)置换算法

int main(int argc, char *argv[])
{
printf("产生随机序列如下:\n");
build();
printf("先进先出(FIFO)页面置换算法 \n");
FIFO();
system("PAUSE");
return 0;
}

void build()
{
int i = 0;
for(i=0; i<pSIZE; i++)
{
process[i] = (int)(10.0*rand()/(RAND_MAX+1.0) + 1);
printf("%d ",process[i]);