OPT和LRU页面置换算法C语言代码,页面置换算法模拟——OPT、FIFO和LRU算法.doc

本文档详细介绍了操作系统实验中模拟的三种页面置换算法——FIFO(先进先出)、LRU(最近最久未使用)和OPT(最佳)的过程。通过实例演示和源代码,探讨了这些算法在内存管理中的应用和选择。涵盖了数据结构如页面引用串和辅助数组的使用,以及如何根据用户输入进行算法选择和页面调度。
摘要由CSDN通过智能技术生成

实用标准文案

精彩文档

操作系统实验报告

页面置换算法模拟

——OFT、FIFO和LRU算法

班级:2013级软件工程1班

学号:X X X

姓名:萧氏一郎

数据结构说明:

Memery[10]物理块中的页码

Page[100]页面号引用串

Temp[100][10]辅助数组

Void print(unsigned int t)辅助函数

Viod FIFO()先进先出页面置换算法

Viod LRU()最近最久未使用置换换算法

Viod OPT()最佳置换算法

流程图:

开始

开始

NONONOYesYesYes结束页号序列载完?根据选择的置换算法完成号存在物理块中引用编号大于物理块数将页号放入物理地址中编号载入序列号,从第0个得到页号

NO

NO

NO

Yes

Yes

Yes

结束

页号序列载完?

根据选择的置换算法完成

号存在物理块中

引用编号大于物理块数

将页号放入物理地址中编号

载入序列号,从第0个得到页号

源代码:

#include

#include

/*全局变量*/

int mSIZE; /*物理块数*/

int pSIZE; /*页面号引用串个数*/

static int memery[10]={0}; /*物理块中的页号*/

static int page[100]={0}; /*页面号引用串*/

static int temp[100][10]={0}; /*辅助数组*/

/*置换算法函数*/

void FIFO();

void LRU();

void OPT();

/*辅助函数*/

void print(unsigned int t);

void designBy();

void download();

void mDelay(unsigned int Delay);

/*主函数*/

void main()

{

int i,k,code;

printf("请输入物理块的个数(M<=10):");

scanf("%d",&mSIZE);

printf("请输入页面号引用串的个数(P<=100):");

scanf("%d",&pSIZE);

puts("请依次输入页面号引用串(连续输入,无需隔开):");

for(i=0;i

scanf("%1d",&page[i]);

download();

do{

puts("输入的页面号引用串为:");

for(k=0;k<=(pSIZE-1)/20;k++)

{

for(i=20*k;(i

{

if(((i+1)%20==0)||(((i+1)%20)&&(i==pSIZE-1)))

printf("%d\n",page[i]);

else

printf("%d ",page[i]);

}

}

printf("* * * * * * * * * * * * * * * * * * * * * * *\n");

printf("* 请选择页面置换算法:\t\t\t *\n");

printf("* *\n");

printf("* 1.先进先出(FIFO) 2.最近最久未使用(LRU) *\n");

printf("* 3.最佳(OPT) 4.退出 *\n");

printf("* * * * * * * * * * * * * * * * * * * * * * *\n");

printf("请选择操作:[ ]\b\b");

scanf("%d",&code);

switch(code)

{

case 1:

FIFO();

break;

case 2:

LRU();

break;

case 3:

OPT();

break;

case 4:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值