模拟操作系统的请求分页存储管理java代码

上传人:小** 文档编号:90946873 上传时间:2019-06-20 格式:DOC 页数:12 大小:250.23KB
返回 下载 相关 举报
模拟操作系统的请求分页存储管理java代码_第1页
第1页 / 共12页
模拟操作系统的请求分页存储管理java代码_第2页
第2页 / 共12页
模拟操作系统的请求分页存储管理java代码_第3页
第3页 / 共12页
模拟操作系统的请求分页存储管理java代码_第4页
第4页 / 共12页
模拟操作系统的请求分页存储管理java代码_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《模拟操作系统的请求分页存储管理java代码》由会员分享,可在线阅读,更多相关《模拟操作系统的请求分页存储管理java代码(12页珍藏版)》请在金锄头文库上搜索。

1、请求分页存储管理的实现写出方案实现代码(1)page类package homework;public class Page private int pagenumb;/页号private int physicsnumb;/物理块号private boolean state;/状态位private int visitcount;/访问字段private boolean change;/修改位private int CRTaddress;/外存地址public Page() this.pagenumb=-1;this.physicsnumb=-1;this.state=false;this.vis

2、itcount=0;this.change=false;this.CRTaddress=-1;public Page(int pagenumb,int physicsnumb,boolean state,int visitcount,boolean change,int CRTaddress) this.pagenumb=pagenumb;this.physicsnumb=physicsnumb;this.state=state;this.visitcount=visitcount;this.change=change;this.CRTaddress=CRTaddress;public voi

3、d setPagenumb(int pagenumb)this.pagenumb=pagenumb;public void setPhysicsnumb(int physicsnumb)this.physicsnumb=physicsnumb;public void setState(boolean state)this.state=state;public void setVisitcount(int visitcount)this.visitcount=visitcount;public void setChange(boolean change)this.change=change;pu

4、blic void setCRTaddress(int CRTaddress)this.CRTaddress=CRTaddress;public int getPagenumb()return this.pagenumb;public int getPhysicsnumb()return this.physicsnumb;public boolean getState()return this.state;public int getVisitcount()return this.visitcount;public boolean getChange()return this.change;p

5、ublic int getCRTaddress()return this.CRTaddress; (2)Shell类:页表package homework;import java.util.Scanner;public class Shell Page shell;private int current;private int length;public Shell() ;public Shell(int length)this.length=length;this.current=0;shell=new Pagelength;for(int i=0;ilength;i+)this.shell

6、i=new Page();public void setCurrent(int current)this.current=current;public int getCurrent()return this.current;public int searchpage(int pagenumb)int i=0;if(this.current=0)return -2;elsewhile(i=this.length)return 1;else return 0;public int MinVisitcount()int i,t=0;for(i=1;ithis.current;i+)if(this.s

7、helli.getVisitcount()this.shellt.getVisitcount()t=i;return t;public int Ischange(int number)if(this.shellnumber.getChange()=true)return 1;else return 0;public void printPageShell()System.out.println(页表:);System.out.println(索引t+页号t+物理块号t+状态t+访问次数t+修改t+外存地址t);for(int i=0;ithis.length;i+)System.out.pri

8、ntln(i+t+this.shelli.getPagenumb()+t+this.shelli.getPhysicsnumb()+t+this.shelli.getState()+t+this.shelli.getVisitcount()+t+this.shelli.getChange()+t+this.shelli.getCRTaddress();public void programFunction()System.out.println(*请求分页存储系统*);System.out.println(功能:);System.out.println(t 1.查看页表);System.out

9、.println(t 2.查看快表);System.out.println(t 3.查看外存);System.out.println(t 4.在内存修改数据); System.out.println(t 5.继续访问页面); System.out.println(t 6.退出程序);public void Dealfunction(int i,KShell TLB,Source s,int b)if(i=1)this.printPageShell();else if(i=2)TLB.printKShell();else if(i=3)System.out.println(外存:);System

10、.out.println(外存地址t+页号t+数据n);for(int k=0;k20;k+)sk.printSource(k);else if(i=4)String ch=yes;int pageNumb;Scanner a=new Scanner(System.in);System.out.print(请输入一个页号:);pageNumb=a.nextInt();int numb=this.searchpage(pageNumb);if(numb0)System.out.println(内存中没有此页号);elsethis.Inchange(b, ch,numb);else if(i=6)

11、System.out.println(结束程序);System.exit(0);public static void main(String args)Scanner a=new Scanner(System.in);int i,number=-10,k1,k2,result;int k3=0;/当前存储的内存地址int t;/页表中访问次数最小的索引int b=new int10;/内存中存储的数据String ch;int slength,plength,Tlength,data;System.out.print(请输入外存大小:);slength=a.nextInt();System.out.print(请输入页表大小:);plength=a.nextInt();System.out.print(请输入快表大小:);Tlength=a.nextInt();/定义页表,快表,外存Shell pageshell=new Shell(plength);/页表Source s=new Sourceslength

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号