实验一进程调度

实验一进程调度

ID:30881234

大小:73.50 KB

页数:8页

时间:2019-01-04

实验一进程调度_第1页
实验一进程调度_第2页
实验一进程调度_第3页
实验一进程调度_第4页
实验一进程调度_第5页
资源描述:

《实验一进程调度》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验报告撰写要求实验报告要求具有以下内容:一、实验目的二、实验内容三、实验要求!1!算法流程图五、给出测试数据及运行结果六、实验体会或对改进实验的建议实验1进程调度一、实验目的通过实验加强对进程调度算法的理解和掌握。二、实验内容编写程序实现基于优先级的时间片轮转调度算法。三、实验要求1、假定系统有5个进程,每个进程用一个进程控制块PCB来代表,进程控制块的结构如下图1・1所示:其中:进程名:作为进程的标识,假设五个进程的进程名分别为pl,p2,p3,p4,p5o指针:进程按顺序排成循环链表,用指针指出下一个进程的进程控制块首地址,最后一个进程中的指针指出第一

2、个进程的进程控制块首地址。要求运行时间:假设进程需要运行的单位时间数。己运行时间:假设进程己经运行的单位时间数,初值为0。状态:可假设有两种状态,就绪状态和结束状态。进程的初始状态都为就绪状态。2、每次运行所设计的处理器调度程序调度进程之前,为每个进程随机确定它的要求运行时间。3、此程序是模拟处理器调度,因此,被选中的进程并不实际启动运行,而是执行已运行时间+1来模拟进程的一次运行,表示进程己经运行过一个单位时间。4、在所设计的程序中应有显示语句,能显示每次被选中的进程名以及运行一次后进程队列的变化。代码:packagecn.edu.cust・first;i

3、mportjava.util.Random;publicclassProcessControl{publicstaticvoidmain(Stringargs[]){booleanflag二true;PCBp[]=newPCB[5];Randomran二newRandom();inta二0;for(inti二0;i〈5;i++){p[i]二newPCB();//初始化五个进程对象p[i]・PCBNamc二〃proccss〃+i;p[i]・runtime=i+2;p[i]・priority二5-i;}PCBhead=newPCB();for(intj二0;j〈

4、5;j++){if(j<4)p[j]・pcb二p[(j+l)];elsep[j]・pcb=nul1;}head.pcb=p[0];PCBtemp二head.pcb;PCBrun二head.pcb;for(intx=0;x<21:x++){//while(flag){temp二head.pcb;while(temp!二null)System.out.printin(,zpcb名,z+temp.PCBName+,z,priority/z+temp・priority+/,,status:zz+temp.status+/zruntimc:z,+tcmp・runtim

5、c+^runcdtinmc^+tcmp・runcdtimc);temp二temp・pcb;}System・out・printin();run(run,head);calPreority(run,head);run二sortAndtetrit(head);}}publicstaticvoidrun(PCBpcb,PCBhead){pcb.runedtime+=l:if(pcb.runedtime=pcb・runtime)pcb.status二1;publicstaticvoidcalPreority(PCBpcb,PCBhead){if(pcb・status=

6、l){pcb・priority二-1;}elsepcb.priority=((double)pcb・runtime-pcb.runedtime)/pcb.runtime;}publicstaticPCBsortAndretrit(PCBhead){PCBtemp二head.pcb;whi1e(temp.pcb!二nul1&&head・pcb.priority

7、d・pcb=head・pcb・pcb;temp1.pcb=temp.pcb:temp.pcb二tempi;returnhead.pcb;}}}publicstaticbooleantest(PCBpcb,PCBhead){PCBtemp二head.pcb;booleanflag二false;while(temp!=null){if(temp・status=0)flag=true;temp二temp・pcb;}returnflag;classPCB{publicStringPCBName;publicdoublepriority;publicintpublic

8、intpublicintpublicPCBPCB()

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。