LRU页面置换算法
2018-06-18 00:06:14来源:未知 阅读 ()
本文以序列长度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 LRU(int py[],int pg[]) 9 { 10 int i,j,k,m,flag[MaxPages],temp[MaxPages][InitPysiBlocks]; 11 int max = 0; 12 char f[MaxPages]; 13 for(i = 0; i < InitPysiBlocks; i++) 14 { 15 py[i] = pg[i]; 16 flag[i] = i; 17 f[i] = '*'; 18 for(j = 0; j < InitPysiBlocks; j++) 19 temp[i][j] = py[j]; 20 } 21 for(i = InitPysiBlocks; i < MaxPages; i++) 22 { 23 for(j = 0,k = 0; j < InitPysiBlocks; j++) 24 { 25 if(py[j] != pg[i]) 26 k++; 27 else 28 flag[j] = i; 29 } 30 if(k == InitPysiBlocks) 31 { 32 f[i] = '*'; 33 max = flag[0] < flag[1]?0:1; 34 for(m = 2; m < InitPysiBlocks; m++) 35 if(flag[m] < flag[max]) 36 max = m; 37 py[max] = pg[i]; 38 flag[max] = i; 39 for(j = 0; j < InitPysiBlocks; j++) 40 temp[i][j] = py[j]; 41 } 42 else 43 { 44 f[i] = ' '; 45 for(j = 0; j < InitPysiBlocks; j++) 46 temp[i][j] = py[j]; 47 } 48 } 49 printf("输出结果为下表(-1代表为空,*代表有缺页):\n"); 50 for(i = 0; i < InitPysiBlocks; i++) 51 { 52 for(j = 0; j < MaxPages; j++) 53 printf("%3d",temp[j][i]); 54 printf("\n"); 55 } 56 for(i = 0; i < MaxPages; i++) 57 printf("%3c",f[i]); 58 printf("\n"); 59 } 60 61 void main() 62 { 63 LRU(PysicalBlocks,PageSequence); 64 }
测试:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:计蒜客课程数据结构(顺序表)
- 矩阵乘法(五):置换 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