




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验报告题目名称C谛言实现调度算法程序设计实验报告-先来先服务FCFS院系a班级完成时间指导老师本次实验成绩主要原理及所参考的资料算法原理:设计程序模拟进程的先来先服务FCFSS程。假设有n个进程分别在T1,,Tn时刻到达系统,它们需要的服务时间分别为S,,Sn。分别采用先来先服务FCFS调度算法进行调度,计算每个进程的完成时间,周转时间和带权周转时间,并且统计n个进程的平均周转时间和平均带权周转时间。程序要求如下:1)进程个数n;每个进程的到达时间Ti,Tn和服务时间Si,,Sno2)要求采用先来先服务FCFS调度进程运行,计算每个进程的周转时间,带权周转时间,并且计算所有进程的平均周转时间
2、,带权平均周转时间;3)输出:要求模拟整个调度过程,输出每个时刻的进程运行状态,如“时刻3:进程B开始运行”等等;4)输出:要求输出计算出来的每个进程的周转时间,带权周转时间,所有进程的平均周转时间,带权平均周转时间。主要参考书:计算机操作系统第三版西安电子科技大学出版社汤小丹主编主要算法具体实验实现提示:用C语言实现提示:1)程序中进程调度时间变量描述如下:staticintMaxNum=100;intArrivalTimeMaxNum;intServiceTimeMaxNum;intFinishTimeMaxNum;intWholeTimeMaxNum;doubleWeightWholeT
3、imeMaxNum;doubleAverageWT_FCFS;doubleAverageWWT_FCFS;2)进程调度的实现过程如下:变量初始化;接收用户输入n,T1,,Tn,S1,,Sn;按照选择算法进行进程调度,计算进程的完成时间、周转时问和带权周转时间;计算所有进程的平均周转时间和平均带权周转时间;按格式输出调度结果。实验要求1.程序流程图#include"stdio.h"#include"stdlib.h"typedefstructPCB定义进程控制块charname10;/进程名charstate;运行状态intArriveTime;到达时间i
4、ntStartTime;/进程开始时间intFinishTime;/进程结束时间intServiceTime;服务时间floatWholeTime;/周转时间floatWeightWholeTime;/带权周转时间doubleAverageWT_FCFS;/平均周转时间doubleAverageWWT_FCFS;/带权平均周转时间structPCB*next;指向下个进程pcb;doublex=0,y=0;inti;inttime;计时器intn;/进程个数pcb*head=NULL,*p,*q;/进程链表指针voidrun_FCFS(pcb*p1)/运行未完成的进程time=p1->A
5、rriveTime>time?p1->ArriveTime:time;p1->StartTime=time;printf("n时刻:%d,当前开始运行作业snn",time,p1->name);time+=p1->ServiceTime;p1->state='T'p1->FinishTime=time;p1->WholeTime=p1->FinishTime-p1->ArriveTime;p1->WeightWholeTime=p1->WholeTime/p1->ServiceTi
6、me;x+=p1->WholeTime;y+=p1->WeightWholeTime;p1->AverageWT_FCFS=p1->WholeTime/n;p1->AverageWWT_FCFS=p1->WeightWholeTime/n;printf("到达时间开始时间服务时间完成时间周转时间带权周转时间n");printf("%6d%10d%10d%8d%10.1f%10.2fn",p1->ArriveTime,p1->StartTime,p1->ServiceTime,p1->Finish
7、Time,p1->WholeTime,p1->WeightWholeTime);printf("n平均周转时间平均带权周转时间n");printf("%10.2f%10.2fn",p1->AverageWT_FCFS,p1->AverageWWT_FCFS);voidFCFS()(inti;p=head;for(i=0;i<n;i+)(if(p->state='F')(q=p;/标记当前未完成的进程run_FCFS(q);p=p->next;voidgetInfo()/获得进程信息并创建进程(in
8、tnum;printf("n进程个数:");scanf("%d",&n);for(num=0;num<n;num+)(p=(pcb*)malloc(sizeof(pcb);printf("依次输入:n进程名到达时间服务时间n");scanf("%st%dt%d",&p->name,&p->ArriveTime,&p->ServiceTime);if(head=NULL)head=p;q=p;time=p->ArriveTime;if(p->Arri
9、veTime<time)time=p->ArriveTime;q->next=p;p->StartTime=0;p->FinishTime=0;p->WholeTime=0;p->WeightWholeTime=0;p->next=NULL;p->state='F'q=p;voidmain()printf("先来先服务FCFS算法模拟n");getInfo();p=head;FCFS();卜曾,达时此匕漕三达的叵眼多时间5服务时间B27:建.多达时间用另时间C34平均周转时间三为寿板周转国间“、货H.J3mt5当前开蛤运行作小b到达时间开始时向展弱时间完成时间25712平均网依时间立均带校周转身间3.33日.处平均周转时间平均带根周转时间1.J3Pe品黑总“少ufy七通c*iiri”等.周转E寸目带权周转时间5JH1.BB周转时间书权周转时间10.01.43周转时间带权周转旷引13.M3.2t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度个人房产抵押担保租赁合同
- 二零二五年度传媒企业知识产权保护合同范本
- 二零二五年度智慧城市交通项目经理招聘合同
- 二零二五年度企业食堂承包运营管理协议
- 2025年度消防队员工安全生产责任书
- 二零二五年度土地流转与农村集体经济发展合同
- 二零二五年度办公室房屋租赁合同能源管理范本
- 二零二五年度企业临时保安零工劳务合同
- 二类医疗器械证书
- 消防设施监测与评估方法试题及答案
- 中国新闻社招聘考试试卷及答案2022
- 成都中考二诊数学试卷
- 水泵故障分析报告
- 印刷企业安全培训
- 社区独居老人项目计划书
- 《ISO 55013-2024 资产管理-数据资产管理指南》专业解读和应用指导材料(雷泽佳编制-2024C0)【第2部分:131-273】
- 《分解因式-十字相乘法》课件
- 小学语文阅读培训知识课件
- 商铺二次转租简单合同范本2024年
- 2025届浙江省杭州市五校联考高三第四次模拟考试语文试卷含解析
- 美团配送站长述职报告
评论
0/150
提交评论