main.c
#include<stdio.h>
#include "exchange.h"
#include "tools.h"
//RPN:Resident Pages Number
int main()
{
int ResidentPages[RPN];
int pages[PAGESNUM];
randomPages(pages, PAGESNUM);//随机产生页面执行序列
printf("随机产生页面执行序列:\n");
print(pages, PAGESNUM);//打印页面执行序列
printf("\n页面执行序列长度:%d\n内存分配大小:%d\n",PAGESNUM,RPN);
printf("\n------\nOPT\n");
init(ResidentPages, RPN);
OPT(ResidentPages, RPN, pages, PAGESNUM);//OPT算法
printf("\n------\nFIFO\n");
init(ResidentPages, RPN);
FIFO(ResidentPages, RPN, pages, PAGESNUM);//FIFO算法
printf("\n------\nLRU\n");
init(ResidentPages, RPN);
LRU(ResidentPages, RPN, pages, PAGESNUM);//LRU算法
return 0;
}
tool.h
#define RPN 5 //虚拟存储大小
#define PAGESNUM 50 //页面执行序列的最大长度
void testError(int err, int total);
int iInResidentPages(int residentPages[], int RPN1, int page, int * errNum);
void print(int pages[], int n);
void random

这篇博客主要探讨了操作系统中内存管理的实践,通过分析和实现不同的页面替换算法,如FIFO、LRU和OPT,深入理解内存分配与回收的原理。
最低0.47元/天 解锁文章
2309

被折叠的 条评论
为什么被折叠?



