操作系统实验-先来先服务、短作业优先算法.docx

操作系统实验-先来先服务、短作业优先算法.docx

ID:55169729

大小:184.32 KB

页数:9页

时间:2020-04-30

操作系统实验-先来先服务、短作业优先算法.docx_第1页
操作系统实验-先来先服务、短作业优先算法.docx_第2页
操作系统实验-先来先服务、短作业优先算法.docx_第3页
操作系统实验-先来先服务、短作业优先算法.docx_第4页
操作系统实验-先来先服务、短作业优先算法.docx_第5页
资源描述:

《操作系统实验-先来先服务、短作业优先算法.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、9实验报告【实验名称】实验一进程调度【实验目的】巩固和加深处理机调度的概念。【实验内容】设计调度算法,模拟实现处理机的调度。1.设计先来先服务调度算法数据结构和符号说明:typedefstructPCB{charname[10];//进程名charstate;//进程状态intarrivetime;//到达时间intstarttime;//开始时间intfinishtime;//完成时间intservicetime;//服务时间floatturnaroundtime;//周转时间floatweightedturnaroundtime;//带权周转时间structPCB*next;

2、//指向下个进程的指针}pcb;inttime;//全局变量,计时器intn;//全局变量,进程个数pcb*head=NULL,*p,*q;//进程链表指针流程图:9程序源代码/*操作系统实验一先来先服务调度算法*/#include#includetypedefstructPCB//进程控制{charname[10];//进程名charstate;//进程状态intarrivetime;//到达时间intstarttime;//开始时间intfinishtime;//结束时间intservicetime;//服务时间floatturnarou

3、ndtime;//周转时间floatweightedturnaroundtime;//带权周转时间structPCB*next;//指向下个进程}pcb;inttime;//当前时间intn;//进程个数pcb*head=NULL,*p,*q;//处理未完成的进程voidrun_fcfs(pcb*p1){time=p1->arrivetime>time?p1->arrivetime:time;//如果进程到达时间大于当前时间,则当前时间=到达时间p1->starttime=time;//当前时间即为进程开始时间9printf("现在时间是%d,开始运行作业%s",time

4、,p1->name);time+=p1->servicetime;//进程开始处理,处理的时间为进程的服务时间p1->state='T';//更改状态,表示该进程已被处理过p1->finishtime=time;//存入完成时间p1->turnaroundtime=p1->finishtime-p1->arrivetime;//周转时间=完成时间-到达时间p1->weightedturnaroundtime=p1->turnaroundtime/p1->servicetime;//带权周转时间=周转时间/服务时间printf("到达时间服务时间开始时间完成时间周转时间带权周转时间

5、");printf("%8d%10d%10d%10d%10.1f%14.2f",p1->arrivetime,p1->servicetime,p1->starttime,p1->finishtime,p1->turnaroundtime,p1->weightedturnaroundtime);//打印输出}//找到当前未完成的进程voidfcfs(){inti,j;p=head;for(i=0;istate=='F'){q=p;//如果当前进程未执行,则开始执行run_fcfs(q);}p=p->next;指向下一个进程}}//输入进程个数与进

6、程信息voidgetInfo(){intnum;printf("作业个数:");scanf("%d",&n);for(num=0;numname,&p->arrivetime,&p->servicetime);if(head==NULL){head=p;q=p;time=p->arrivetime;}if(p->arrivetimearrive

7、time;q->next=p;p->starttime=0;p->finishtime=0;p->turnaroundtime=0;p->weightedturnaroundtime=0;p->next=NULL;p->state='F';q=p;}}intmain(){printf("先来先服务调度算法");getInfo();p=head;fcfs();return0;}运行结果图1运行结果2.设计按短进程优先调度算法9数据结构与符号说明:structsjf{charna

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

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

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