操作系统 页面置换C语言精要.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统 页面置换C语言精要

#includestdio.h #includestdlib.h #includewindows.h void Print(int bc[],int blockCount) { int i; for(i=0;iblockCount;i++) { printf(%d ,bc[i]); } printf(\n); } Travel(int bc[],int blockCount,int x) { int is_found=0; int i; for(i=0;iblockCount;i++) { if(bc[i]==x) { is_found=1; break; } } return is_found; } void FIFO(int pc[],int bc[],int pageCount,int blockCount) { int i; printf(0:FIFO置换算法\n); if(pageCount=blockCount) { printf(缺页次数为0\n); printf(缺页率为0\n); } else { int noPage=0; int p=0; for(i=0;ipageCount;i++) { //printf(引用页:%d\n,pc[i]); if(!Travel(bc,blockCount,pc[i])) { if(iblockCount) { bc[i]=pc[i]; } else { if(p==blockCount) { p=0; } bc[p]=pc[i]; p++; } noPage++; //printf(物理块情况:\n); //Print(bc,blockCount); } //printf(\n); } printf(FIFO缺页次数为:%d\n,noPage); printf(FIFO缺页率为:%.2f%%\n,(float)noPage/pageCount*100); } } int FoundMaxNum(int a[],int n) { int k,j,i; k=a[0]; j=0; for (i=0;in;i++) { if(a[i]=k) { k=a[i]; j=i; } } return j; } void LRU(int pc[],int bc[],int pageCount,int blockCount) { printf(1:LRU置换算法\n); if(pageCount=blockCount) { printf(缺页次数为0\n); printf(缺页率为0\n); } else { int noPage=0; int i,j,m,p,k; int bc1[100]; for(i=0;iblockCount;i++) { bc1[i]=0; } for(i=0;ipageCount;i++) { // printf(引用页:%d\n,pc[i]); if(!Travel(bc,blockCount,pc[i])) { if(iblockCount) { bc[i]=pc[i]; for(p=0;p=i;p++) { bc1[p]++; } } else { for(j=0;jblockCount;j++) { bc1[j]++; } k=FoundMaxNum(bc1,blockCount); bc[k]=pc[i]; bc1[k]=1; } noPage++; //printf(物理快情况:\n); //Print(bc,blockCount); } else if(Travel(bc,blockCount,pc[i])) { if(iblockCount) { for(j=0;j=i;j++) {

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档