计算机操作系统实验源码模拟请求分页虚拟存储管理中的硬件地址变换过程内容摘要:

struct Page{ int pno。 //页号 int flag。 //标志位 int o。 //主存号 int modf。 //修改位 int addr。 //外存地址 }Page。 void changeaddr(struct Page p[],int logaddr){//地址变换 int j=logaddr/64。 //对应的块号 int k=logaddr%64。 //对应的偏移量 int flag=0。 int addr。 for(int i=0。 i8。 i++) { if(p[i].pno==j)//找到对应的页号 { if(p[i].flag==1)//页面标志为 1 { addr=p[i].o*64+k。 cout物理地址为 : addrendl。 cout详细信息 : \t 页面号: p[i].pno\t 主存号 :p[i].o\t偏移量: kendl。 flag=1。 break。 } } } if(flag==0) cout该页不在主存 ,产生缺页中断 endl。 } void main() { int menu。 int ins。 //指令逻辑地址 struct Page p。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。