操作系统AFCFS算法

操作系统AFCFS算法

ID:44483307

大小:102.00 KB

页数:7页

时间:2019-10-22

操作系统AFCFS算法_第1页
操作系统AFCFS算法_第2页
操作系统AFCFS算法_第3页
操作系统AFCFS算法_第4页
操作系统AFCFS算法_第5页
资源描述:

《操作系统AFCFS算法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《操作系统A》课程综合性实验报告开课实验室:软件一2011年12月16日实验题目进程调度算法稈序设计一、实验目的通过对进程调度算法的模拟,进一步理解进程的基本概念,加深对进程运行状态和进程调度过程、调度算法二、设备与环境1.硬件设备:PC机一台2.软件环境:安装Windows操作系统或者Linux操作系统,并安装相关的程序开发坏境,如CC++Java等三、实验内容(1)用C语言实现对N个进程釆用某种进程调度算法(如动态优先权调度)的调度。(2)每个用来标识进程的进程控制块PCB可用结构来描述,包括以下字段:◊进稈标识数ID。◊进程优先数PRIORITY,并规

2、定优先数越大的进程,其优先权越高。◊进程己占用CPU时间CPUTIMEo◊进程还需占用的CPU时间ALLTIMEo当进程运行完毕时,ALLT1ME变为0。◊进程的阻塞吋间STARTBLOCK,表示当进程再运行STARTBLOCK个时间片后,进程将进入阻塞状态。◊进程被阻塞的时间BLOCKTIME,表示已阻塞的进程再等待BLOCKTIME个时间片后,将转换成就绪林◊进程状态STATEo◊队列指针NEXT,用来将PCB排成队列。(3)优先数改变的原则:◊进程在就绪队列中呆一个吋间片,优先数增加1。◊进程每运行一个时间片,优先数减3。(4)为了清楚地观察每个进程的调度

3、过程,程序应将每个时间片内的进程的情况显示出来,包括止在运行的滋于阻塞队列中的进程。(5)分析程序运行的结果,谈一下自己的认识。四、实验结果及分析1.实验设计说明本程序根据先来先服务算法的思想调度程序,该算法用于作业调度,也可用于进程调度。在进程屮采用FCFS列的进程投入执行。2•实验代码#include#includetypedefstructprocess_FCFS{charname;floatarrivetime;floatservetime;floatfinishtime;floatroundtime;floatda

4、iquantime;structprocess_FCFS*link;}FCFS;FCFS*p,*q,*head=NULL;structprocess_FCFSa[100];FCFSinital(structprocess_FCFSa[],intn);voidprint(structprocess_FCFSa[],intn);voidFcfs(structprocess_FCFSa[],intn);structprocess_FCFS*sortarrivetime(structprocess_FCFSa[J,intn);structprocess_FCFS*sor

5、tamvetime(structprocess_FCFSa[],intn)intij;structprocess_FCFSt;intflag;fbr(i=l;ia[j+l].arnvetime)t=a[j];a[j]=a

6、j+l];a[j+l]=t;flag二1;}}if(flag==O)break;Ireturna;}voidFcfs(structprocess_FCFSa[J,intn){inti;a[0].finishtime=a[01.arrivet

7、ime+afO].servetime;a[0].roundtime=af01.finishtime+af01.amvetime;a[0].daiquantime=a[0].roundtime/a[0].servetime;for(i=0;ia[i-1].finishtime){a[i].finishtime=a[i-1].finishtime+a[i].servetime;a[i].roundtime=a[i].finishtime-a[i].arrivetime;a[i].daiquantime=a[i].

8、roundtime/a[i].servetime;}else{a[ij.finishtime=a[i].arrivetime+a[i].servetime;a[i].roundtime=a[i].finishtime+a[i].arrivetime;a[i].daiquantime=a[i].roundtime/a[i].servetime;print"先来先服务j;print(a,n);}voidprint(structprocess_FCFSaf],inln){inti;printfC倒达时间:

9、服务时间:

10、完成时间:

11、周转时间:

12、带权周转时间“);

13、for(i=0;i

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

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

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