操作系统A FCFS算法

操作系统A FCFS算法

ID:39558208

大小:100.50 KB

页数:8页

时间:2019-07-06

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

《操作系统A FCFS算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

2、用结构来描述,包括以下字段:²进程标识数ID。²进程优先数PRIORITY,并规定优先数越大的进程,其优先权越高。²进程已占用CPU时间CPUTIME。²进程还需占用的CPU时间ALLTIME。当进程运行完毕时,ALLTIME变为0。²进程的阻塞时间STARTBLOCK,表示当进程再运行STARTBLOCK个时间片后,进程将进入阻塞状态。²进程被阻塞的时间BLOCKTIME,表示已阻塞的进程再等待BLOCKTIME个时间片后,将转换成就绪状态。²进程状态STATE。²队列指针NEXT,用来将PCB排成队列。(3)优先数改变的原则:²进程在

3、就绪队列中呆一个时间片,优先数增加1。²进程每运行一个时间片,优先数减3。(4)为了清楚地观察每个进程的调度过程,程序应将每个时间片内的进程的情况显示出来,包括正在运行的进程,处于就绪队列中的进程和处于阻塞队列中的进程。第7页华北科技学院计算机系综合性实验报告(5)分析程序运行的结果,谈一下自己的认识。四、实验结果及分析1.实验设计说明本程序根据先来先服务算法的思想调度程序,该算法用于作业调度,也可用于进程调度。在进程中采用FCFS算法时,将选择最先进入就绪队列的进程投入执行。2.实验代码#include#include

4、typedefstructprocess_FCFS{charname;floatarrivetime;floatservetime;floatfinishtime;floatroundtime;floatdaiquantime;structprocess_FCFS*link;}FCFS;FCFS*p,*q,*head=NULL;structprocess_FCFSa[100];FCFSinital(structprocess_FCFSa[],intn);voidprint(structprocess_FCFSa[],i

5、ntn);voidFcfs(structprocess_FCFSa[],intn);structprocess_FCFS*sortarrivetime(structprocess_FCFSa[],intn);structprocess_FCFS*sortarrivetime(structprocess_FCFSa[],intn){inti,j;structprocess_FCFSt;intflag;for(i=1;i

6、arrivetime>a[j+1].arrivetime){t=a[j];a[j]=a[j+1];a[j+1]=t;flag=1;}}if(flag==0)break;}returna;}voidFcfs(structprocess_FCFSa[],intn){inti;a[0].finishtime=a[0].arrivetime+a[0].servetime;a[0].roundtime=a[0].finishtime+a[0].arrivetime;a[0].daiquantime=a[0].roundtime/a[0].serve

7、time;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].roundtime/a[i].servetime;第7页华北科技学院计算机系综合性实验报告}else{a[i].finishtime=a[i].arrivetime+a[i].servet

8、ime;a[i].roundtime=a[i].finishtime+a[i].arrivetime;a[i].daiquantime=a[i].roundtime/a[i].servetim

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

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

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