FIFO页面置换算法
2018-06-18 00:08:47来源:未知 阅读 ()
本文以序列长度20的{ 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1};以及页面4;为例;
1 #include <stdio.h> 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 else 20 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 }
结果:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:【笔试题】并查集实现
下一篇:C#基础之流程控制语句详解
- 矩阵乘法(五):置换 2019-09-08
- 代码前置时页面输出脚本的要注意的问题 2019-06-14
- 【web】movie review——静态页面训练、css训练 2018-09-19
- 【web】movie review——静态页面训练、css训练 2018-09-18
- 【web】movie review——静态页面训练、css训练 2018-09-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash