欢迎来到天天文库
浏览记录
ID:50827043
大小:54.00 KB
页数:25页
时间:2020-03-15
《Java模拟操作系统进程优先级调度.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、//进程块/****①设计PCB及其数据结构:进程标识数:ID进程优先数:PRIORITY(优先数越大,优先级越高)*进程已占用时间片:CPUTIME,每得到一次调度,值加1;*进程还需占用时间片:ALLTIME,每得到一次调度,该值减1,一旦运行完毕,ALLTIME为0)进程队列指针:NEXT,用来将PCB排成队列*进程状态:STATE(一般为就绪,可以不用)②设计进程就绪队列及数据结构;③设计进程调度算法,并画出程序流程图;④设计输入数据和输出格式;*结构格式:当前正运行的进程:0当前就绪队列:2,1,3,4⑤编程上机,验证结果***/publicclassPC
2、B{privateintid;privateintpriority;privateintcpuTime;privateintallTime;privateintstate;//状态为1的时候表示准备就绪/***无参数的构造方法,通过geter,seter器来对PCB的信息进行获取的修改*/publicPCB(){}/***初始化PCB的基本信息的构造方法**@paramid*@parampriority*@paramcpuTime*@paramallTime*@paramstate*/publicPCB(intid,intpriority,intcpuTime,in
3、tallTime,intstate){super();this.id=id;this.priority=priority;this.cpuTime=cpuTime;this.allTime=allTime;this.state=state;}publicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}publicintgetPriority(){returnpriority;}publicvoidsetPriority(intpriority){this.priority=priority;}/***根
4、据要求来修改PCB的优先级*/publicvoidmodifyPriority(){if(05、dsetAllTime(intallTime){this.allTime=allTime;}/***根据要求修改PCB占用的时间片*/publicvoidmodifyAllTime(){if(06、voidshowStatus(){System.out.println("PCB[id="+id+",priority="+priority+",cpuTime="+cpuTime+",allTime="+allTime+",state="+state+"]");}/***修改PCB的全部信息*/publicvoidmodify(){if(07、uthor摆渡恋人**/publicclassLineListNode{privateLineListNodenode;privateTelement;/***创建空链表*/publicLineListNode(){this.node=null;this.element=null;}/***创建一个存储特定元素的线性表*/publicLineListNode(Telement){this.node=null;this.element=element;}/***返回当前结点点的下一个节点*/publicLineListNodegetNextNod
5、dsetAllTime(intallTime){this.allTime=allTime;}/***根据要求修改PCB占用的时间片*/publicvoidmodifyAllTime(){if(06、voidshowStatus(){System.out.println("PCB[id="+id+",priority="+priority+",cpuTime="+cpuTime+",allTime="+allTime+",state="+state+"]");}/***修改PCB的全部信息*/publicvoidmodify(){if(07、uthor摆渡恋人**/publicclassLineListNode{privateLineListNodenode;privateTelement;/***创建空链表*/publicLineListNode(){this.node=null;this.element=null;}/***创建一个存储特定元素的线性表*/publicLineListNode(Telement){this.node=null;this.element=element;}/***返回当前结点点的下一个节点*/publicLineListNodegetNextNod
6、voidshowStatus(){System.out.println("PCB[id="+id+",priority="+priority+",cpuTime="+cpuTime+",allTime="+allTime+",state="+state+"]");}/***修改PCB的全部信息*/publicvoidmodify(){if(07、uthor摆渡恋人**/publicclassLineListNode{privateLineListNodenode;privateTelement;/***创建空链表*/publicLineListNode(){this.node=null;this.element=null;}/***创建一个存储特定元素的线性表*/publicLineListNode(Telement){this.node=null;this.element=element;}/***返回当前结点点的下一个节点*/publicLineListNodegetNextNod
7、uthor摆渡恋人**/publicclassLineListNode{privateLineListNodenode;privateTelement;/***创建空链表*/publicLineListNode(){this.node=null;this.element=null;}/***创建一个存储特定元素的线性表*/publicLineListNode(Telement){this.node=null;this.element=element;}/***返回当前结点点的下一个节点*/publicLineListNodegetNextNod
此文档下载收益归作者所有