操作系统课程设计---多级反馈队列进程调度算法

操作系统课程设计---多级反馈队列进程调度算法

ID:9938964

大小:159.00 KB

页数:9页

时间:2018-05-16

操作系统课程设计---多级反馈队列进程调度算法_第1页
操作系统课程设计---多级反馈队列进程调度算法_第2页
操作系统课程设计---多级反馈队列进程调度算法_第3页
操作系统课程设计---多级反馈队列进程调度算法_第4页
操作系统课程设计---多级反馈队列进程调度算法_第5页
资源描述:

《操作系统课程设计---多级反馈队列进程调度算法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、华北科技学院计算机系综合性实验报告实验报告课程名称计算机操作系统第8页华北科技学院计算机系综合性实验报告《操作系统B》课程综合性实验报告开课实验室:基础七2011年6月10日实验题目多级反馈队列进程调度算法一、实验目的通过对进程调度算法的模拟,进一步理解进程的基本概念,加深对进程运行状态和进程调度过程、调度算法的理解。二、设备与环境1.硬件设备:PC机一台2.软件环境:安装Windows操作系统或者Linux操作系统,并安装相关的程序开发环境,如CC++Java等编程语言环境。三、实验内容1.采用C语言编程实现对3个进程采用多级反馈队列进程调度算法进行进程调度执行的模拟2.多级反馈队

2、列进程调度算法的原理(1)设置多个就绪队列,并为各个队列赋予不同的优先级。(2).当一个新进程到达内存后,首先将它放在第一队列的末尾,按FCFS原则排对等待调度(3)如果某个进程在执行一个时间片后尚未完成,则调度程序便将该进程转入第二队列的末尾,在同样按FCFS的原则等待调度。(4)仅当第一队列空闲时,调度程序才调度第二队列中的进程执行。3.每个用来标识进程的进程控制块PCB可用结构来描述,包括以下字段:(1).进程标识数id。(2).进程名称name。(3).进程到达时间time。(4).进程需要执行的时间usetime(5).进程就绪队列Lingarr[32],Yiarr[32],E

3、rarr[32](6)进程就绪队列的参数表csb0[2]csb1[2]csb2[2];根据以上对控制块PCB的结构的数据描述,定义如下的数据结构structJc{intid;charname[15];inttime;intusetime;第8页华北科技学院计算机系综合性实验报告};structJcb{structJc*Lingarr[32];intcsb0[2];structJc*Yiarr[32];intcsb1[2];structJc*Erarr[32];intcsb2[2];};(3)程序主要代码及说明1.多级反馈队列进程调度算法中,进程采用动态方式输入进程序列voidinput(

4、structJc*ch){printf("请输入进程的id");scanf("%d",&ch->id);printf("请输入进程的名称");scanf("%s",ch->name);printf("请输入进程的到达时间");scanf("%d",&ch->time);printf("请输入进程的执行时间");scanf("%d",&ch->usetime);printf("");}2.多级反馈队列进程调度算法中,第一级队列采用到达内存时间的先后顺序进行排列。voidLingJi_add(structJcb*Jcb,structJc*K){inti,j,z;i=Jcb

5、->Csb0[0];j=Jcb->Csb0[1];for(z=i;z>j;z--){if(K->timeLingarr[z-1]->time)Jcb->Lingarr[z]=Jcb->Lingarr[z-1];elsegotoLingJi_DD0;}LingJi_DD0:Jcb->Lingarr[z]=K;i++;Jcb->Csb0[0]=i;}3多级反馈队列进程调度算法中,进程的执行调度及其位置的变化Jc_Diaodu(structJcb*Jcb){第8页华北科技学院计算机系综合性实验报告inti,j;Diaodu:i=Jcb->Csb0[0];j=Jcb->Csb0[1]

6、;if(j>=i)gotoPanduan;if(Jcb->Lingarr[j]->time==Timer){print(Jcb->Lingarr[j]);Timer++;if(Jcb->Lingarr[j]->usetime>0){YiJi_add(Jcb,Jcb->Lingarr[j]);}j++;Jcb->Csb0[1]=j;gotoDiaodu;}Panduan:i=Jcb->Csb1[0];j=Jcb->Csb1[1];if(jCsb2[0];j=Jcb->Csb2[1];if(j

7、nd;Diaodu1:if(j>=i)gotoDiaodu2;print(Jcb->Yiarr[j]);Timer++;if(Jcb->Yiarr[j]->usetime<=0){j++;Jcb->Csb1[1]=j;gotoDiaodu;}i=Jcb->Csb0[0];j=Jcb->Csb0[1];if(i>j){第8页华北科技学院计算机系综合性实验报告if(Jcb->Lingarr[j]->time==Timer){j=Jcb-

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

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

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