操作系统实验5虚拟存储器管理内容摘要:

eInfor *)malloc(sizeof(struct pageInfor)*Psize)。 for(i=0。 iPsize。 i++) { page[i].content = QString[i]。 page[i].timer = 0。 } } int findSpace() { int i=0。 for(i=0。 iBsize。 i++) if(block[i].content == 1) return i。 /*找到空闲内存,返回 BLOCK 中位置 */ return 1。 } int findExist(int curpage) { int i=0。 for(i=0。 iBsize。 i++) if(block[i].content == page[curpage].content) return i。 /*找到内存中有该页面,返回 BLOCK 中位置 */ return 1。 } int findReplace() { int pos = 0,i。 for(i=0。 iBsize。 i++) if(block[i].timer = block[pos].timer) pos = i。 /*找到应予置换页面,返回 BLOCK 中位置 */ return pos。 } void display() { int i=0。 for(i=0。 iBsize。 i++) if(block[i].content != 1) printf(%d\t,block[i].content)。 printf(\n)。 } void Optimal() { int exist,space,position,i,k,j。 for(i=0。 iPsize。 i++) { exist = findExist(i)。 if(exist != 1) { printf(不缺页 \n)。 } else { space = findSpace()。 if(space != 1) { block[space] = page[i]。 display()。 } else { for(k=0。 kBsize。 k++)。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。