2022年先来先服务调度和最短作业优先调度算法实验分析报告.pdf
《2022年先来先服务调度和最短作业优先调度算法实验分析报告.pdf》由会员分享,可在线阅读,更多相关《2022年先来先服务调度和最短作业优先调度算法实验分析报告.pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、欢迎共阅实验概述:【实验目的及要求】理解并掌握处理机调度算法【实验原理】基于先来先服务调度和最短作业优先调度算法思【实验环境】(使用的软件)Visual C+6.0 实验内容:本实验模拟在单处理机情况下处理机调度,用C语言编程实现先【实验方案设计】FCFS流程图:SJF流程图:试验总设计流程图:进程等待时间进程开始运行时间进程提交时间进程周转时间进程结束时间进【实验过程】(实验步骤、记录、数据、测试用例 1:屏幕显示: Please input the total num输入: 4 屏幕显示: Please input job number, submit 输入:其他输入选择数以选择调SJF算
2、2 FCFS算1 按照提交时间先按提交时间计算各作业参数:报错继计算各作业参数:再按最短运行时输入作业个数、作业号、提交时间、运行时间精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 15 页 - - - - - - - - - - 欢迎共阅1 9.0 0.22 8.5 0.53 8.0 1.04 9.1 0.1屏幕显示: What kind of algorithm do you want? Please input 1 输入: 3 屏幕显示: You have input a wrong n
3、umber, pl输入: 1屏幕输出结果: submit run starting final 3 8.0 1.0 8.0 9.0 2 8.5 0.5 9.0 9.5 1 9.0 0.2 9.5 9.7 4 9.1 0.1 9.7 9.8 屏幕显示:The average turnaround time isWhat kind of algorithm do you want? Please input 1 to select FC测试数据二: submit run 1 6 0.5 2 5 0.9 3 6.3 0.1 FCFS 和 SJF算法结果一样:精品资料 - - - 欢迎下载 - - -
4、 - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 15 页 - - - - - - - - - - 欢迎共阅submit run starting final wa2 5 0.9 5 5.9 1 6 0.5 6 6.5 3 6.3 0.1 6.5 6.6 The average turnaround time is 测试数据三: submit run 1 5 0.2 2 4.2 0.3 3 5.1 0.3 4 5.2 0.1 FCFS :submit run starting final 2 4.2 0.3 4.2 4.5 1 5 0.
5、2 5 5.2 3 5.1 0.3 5.2 5.5 4 5.2 0.1 5.5 5.6 The average turnaround time is SJF: submit run starting final 2 4.2 0.3 4.2 4.5 1 5 0.2 5 5.2 4 5.2 0.1 5.2 5.3 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 15 页 - - - - - - - - - - 欢迎共阅3 5.1 0.3 5.3 5.6 The average turnaround
6、 time is 源程序:#include stdio.h #include stdlib.h #include string.h #define M 50 struct sjf int jobnumber; float submittime; float runtime; float starttime; float finishtime; float waittime; float turnaroundtime; temp; static struct sjf stM; void input( struct sjf *p,int N) int i; printf( Please input
7、 the job number,submit time and run time:nFor exmple:1 8.5 2.0n); for (i=0;i N;i+ ) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 15 页 - - - - - - - - - - 欢迎共阅scanf( %d%f%f,&pi.jobnumber, &pi.submittime, &pi .runtime); void print( struct sjf *p,int N) int k; float h,g; p
8、rintf( run order: ); printf( %d ,p0.jobnumber); for (k=1;k%d,pk .jobnumber); printf( nThe processs information:n); printf( njobnumtsubmittruntstarttfinaltwaittturnaroundn); for (k=0;k N;k+ ) h+= pk .turnaroundtime; printf( %dt%-.1ft%-.1ft%-.1ft%-.1ft%-.1ft%-.1ftn,pk.jobnumber,pk .submittime,pk .run
9、g=h/ N; printf( nThe average turnaround time is %-.2fn,g); /* 按提交时间从小到大排序*/ 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 15 页 - - - - - - - - - - 欢迎共阅void sort1(struct sjf *p,int N) int i,j; for (i=0;i N;i+ ) for (j=0;j= i;j+ ) if (pi.submittime pj .submittime) temp =pi
10、; pi=pj; pj =temp; /* 运行*/ void deal(struct sjf *p,int N) int k; for (k=0;k pk-1 .finishtime) pk .starttime =pk .submittime; pk .finishtime =pk .submittime +pk .runtime; else pk .starttime =pk - 1.finishtime; pk .finishtime =pk - 1.finishtime +pk .runtime; for (k=0;k N;k+ ) pk .turnaroundtime=pk .fi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 年先来先 服务 调度 作业 优先 算法 实验 分析 报告
限制150内