没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
在内存划出一块区域,并进行页面划分;设计请求页表;模拟页面分配;
分别模拟“先进先出页面淘汰算法 FIFO”、“最近最少使用页面淘汰算法 LRU”和
“理想型淘汰算法 OPT”
本程序随机产生请求序列,分别模拟 FIFO,LRU,OPT 三种算法。将结果保
存在 FIFO.txt,LRU.txt,OPT.txt 三个文件中。
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 20
#define P 3
struct DuLNode{
int data;
struct DuLNode *prior;
struct DuLNode *next;
};
int pageFIFO[N+1];
int front=0,rear=0;
int pageing[N+1],pmem[P+1];
int memcount=1;
void init(int a[],int T)
{
int i;
for(i=0;i<=T;i++)
a[i]=-2;
}
int insert_item(int item,int queue[],int T)
{
if((rear+1)%(T+1)==front)
return 1;
queue[rear]=item;
rear=(rear+1)%(T+1);
return 0;
}
int remove_item(int *item,int queue[],int T)
{
if(front == rear)
return 1;
*item=queue[front];
front=(front+1) % (T+1);
return 0;
}
int findif(int a[],int b,int T)
{
int i;
for(i=1;i<=T;i++)
{
if(a[i]==b)
return i;
}
return -1;
}
void insertintomem(int a[],int b,int n)
{
if(memcount<=P)
{
a[memcount]=b;
memcount++;
}
else
a[n]=b;
}
void initpage(int page[])
{
int temp,i;
srand((unsigned)time(0));
for(i=1;i<=N;i++)
{
temp=rand()%10;
page[i]=temp;
}
}
void addtoLink(struct DuLNode *p,int e)
{
struct DuLNode *add;
add=malloc(sizeof(struct DuLNode));
add->data=e;
add->prior=p->prior;
p->prior->next=add;
add->next=p;
p->prior=add;
}
int getI(struct DuLNode *p,int e)
{
剩余6页未读,继续阅读
资源评论
终上层楼
- 粉丝: 61
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功