博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FIFO页面置换算法
阅读量:5140 次
发布时间:2019-06-13

本文共 1323 字,大约阅读时间需要 4 分钟。

本文以序列长度20的{ 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1};以及页面4;为例;

1 #include 
2 3 #define InitPysiBlocks 4 4 #define MaxPages 20 5 int PysicalBlocks[InitPysiBlocks] = { -1,-1,-1,-1 }; 6 int PageSequence[MaxPages] = { 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1}; 7 8 void FIFO(int py[],int pg[]) 9 {10 int i,q,j,table[InitPysiBlocks][MaxPages];11 char flag,f[MaxPages];12 for (i = 0; i < MaxPages; i++)13 {14 q = 0;15 while(pg[i] != py[q] && q != InitPysiBlocks)16 q++;17 if(q == InitPysiBlocks)18 flag = '*';19 else20 flag = ' ';21 if(flag == '*')22 {23 for (j = InitPysiBlocks - 1; j > 0; j--)24 py[j] = py[j - 1];25 py[0] = pg[i];26 }27 for (j = 0; j < InitPysiBlocks; j++)28 table[j][i] = py[j];29 f[i] = flag;30 }31 printf("输出结果为下表(-1代表为空,*代表有缺页):\n");32 for(i = 0; i < InitPysiBlocks; i++)33 {34 for(j = 0; j < MaxPages; j++)35 printf("%3d",table[i][j]);36 printf("\n");37 }38 for(i = 0; i < MaxPages; i++)39 printf("%3c",f[i]);40 printf("\n");41 }42 43 void main()44 {45 FIFO(PysicalBlocks,PageSequence);46 }

结果:

转载于:https://www.cnblogs.com/ABook/p/5612296.html

你可能感兴趣的文章
康托展开 + 逆展开
查看>>
IP雷达4.0+网络检测
查看>>
2013 Multi-University Training Contest 1 3-idiots
查看>>
自定义dialog
查看>>
[转载] Mac下使用iTerm2让SSH免密码登录远程服务器
查看>>
配置全局的导航栏样式(微信开发)
查看>>
python爬虫Day2:selenium基本使用
查看>>
Tomcat几种出错方法
查看>>
常用的adb命令
查看>>
Mycat 配置文件schema.xml
查看>>
【排序】绝境求生
查看>>
观察者模式(Observer Pattern)
查看>>
[深度学习]开源的深度学习框架
查看>>
算法图解笔记
查看>>
HashMap源码解析
查看>>
DVWA笔记之三:CSRF
查看>>
Dockerfile分享之SSH Server
查看>>
Linq to SQlite的使用
查看>>
HDU 1069 [Monkey and Banana] 动态规划
查看>>
使用Redshift渲染器,怎么选电脑配置!
查看>>