操作系统课程设计---三种存储管理方式的地址换算过程内容摘要:

应的段长和基址: )。 for(int i=0。 ilength。 i++){ for(int j=0。 j2。 j++){ a[i][j]=()。 } } (请输入段号: )。 int S=()。 (请输入位移量: )。 int W=()。 if(S=length){ (产生越界中断 )。 } else { if (W=a[S][0]){ (产生越界中断 )。 } else{ address=a[S][1]+W。 } } return address。 //(转换 后的物理地址为: +address)。 } void Dy(){ int L=1024。 int result=0。 Scanner s=new Scanner()。 (请输入段表长度: )。 int length=()。 (请输入段号: )。 int S=()。 (请输入页 号: )。 int P=()。 (请输入页内地址: )。 int d=()。 int[][]a={{3,600},{2,1200},{4,2300},{4,3200}}。 int[]b={3,4,9,7}。 if(S=length){ (段超长,越界中断 )。 } else{ if(P=a[P][0]){ (页超长,越界中断 )。 } else { result=b[P]*L+d。 (转换后的物理地址为: +result)。 } } } } public class hihihi { public static void main(String[] args){ Ya r= new Ya()。 ()。 (若选择分页方式地址换算方法请输入 1)。 (若选择分段方式地址换算方法请输入 2)。 (若选择段页式地址换算方法请输入 3)。 ()。 Scanner s=new Scanner()。 int i=()。 switch(i) { case 1:(转换后的物理地址为: +())。 break。 case 2:(转换后的物理地址为: +())。 break。 case 3:()。 } } } 运行结果: 八.程序改进: 发现程序中有以下问题: ,我们可以对程序进行改进,把段表和页表在程序中显示出来,这样程序的输入就变得简单,并容易理解。 段表和。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。