实验二作业调度实验

发布 2022-09-05 17:54:28 阅读 9409

一。 实验目的要求

用高级语言编写和调试一个或多个作业调度的模拟程序,以加深对作业调度算法的理解。

二。 实验要求

1、编写并调试一个单道处理系统的作业等待模拟程序。

作业等待算法:分别采用先来先服务(fcfs),最短作业优先(sjf)、响应比高者优先(hrn)的调度算法。

对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间,以比较各种算法的优缺点。

2、编写并调度一个多道程序系统的作业调度模拟程序。

作业调度算法:采用基于先来先服务的调度算法。可以参考课本中的方法进行设计。

对于多道程序系统,要假定系统中具有的各种资源及数量、调度作业时必须考虑到每个作业的资源要求。

三、实验过程。

1.单道处理系统的作业等待模拟程序(分别采用先来先服务(fcfs),最短作业优先(sjf)、响应比高者优先(hrn)的调度算法。 )

1)**实现。

void hrn(int m) /高响应比算法。

jcb *min;

int i,iden;

system("cls");

inital();

for(i=0;i while(p!=null);

if(iden)

i--;times++;

/printf("time=%d:\tno jcb submib...wait...time);

if(times>1000)

printf("runtime is too long...error...getch();

elserunning(min,m调用running()函数。

forfinal调用running()函数。

void sjf(intm) /最短作业优先算法。

jcb *min;

int i,iden;

system("cls");

inital();

for(i=0;iwhile(p!=null) ;

if(iden)

else} /for

final调用running()函数。

1).3先来先服务算法。

void fcfs(int m先来先服务算法。

int i,iden;

system("cls");

inital();

for(i=0;i

elsefinal调用running()函数。

2).实验结果及分析。

主程序菜单。

先来先服务算法》

第一轮作业调度,如图显示了每个作业提交时间、需求时间、响应比、即时状态、主存需求、磁带机数量等,每次调度完毕输出作业完成时间、周转时间、带权周转时间、释放的资源:

同样,第二轮调度,作业22222完成,如下显示:

同样,第三轮调度,作业33333完成,如下显示:

全部作业运行完毕,计算总的平均周转时间和带权周转时间:

短作业优先算法》

单道作业批处理系统初始化,输入三个作业,按照提示输入其时间,资源需求等:

第一轮作业调度,如图显示了每个作业提交时间、需求时间、响应比、即时状态、主存需求、磁带机数量等,每次调度完毕输出作业完成时间、周转时间、带权周转时间、释放的资源:

同样,第二轮调度,作业33333完成,输出作业完成时间、周转时间、带权周转时间、释放的资源:

同样,第三轮调度,作业22222完成,输出作业完成时间、周转时间、带权周转时间、释放的资源:

全部作业运行完毕,计算总的平均周转时间和带权周转时间:

响应比高者优先算法》

单道作业批处理系统初始化,输入三个作业,按照提示输入其时间,资源需求等:

第一轮作业调度,如图显示了每个作业提交时间、需求时间、响应比、即时状态、主存需求、磁带机数量等,11111调度完毕输出作业完成时间、周转时间、带权周转时间、释放的资源:

第二轮作业调度完毕,22222已经完成,输出作业完成时间、周转时间、带权周转时间、释放的资源:

全部作业运行完毕,计算总的平均周转时间和带权周转时间:

2. 多道程序系统的作业调度模拟程序(采用基于先来先服务的调度算法)

1)**实现。

main() 主函数。

int len;

char ch;

input();

t=pb->arrivetime;

check();

len=space();

while((len!=0)&&ready!=null))

printf("该作业组的平均周转时间:%4.2f",tisum /len);

printf("该作业组的带权平均周转时间:%4.2f",wisum/len);

ch=getchar();

2)实验结果。

实验二作业调度实验

西北农林科技大学信息工程学院实习报告。课程操作系统学院信息工程专业年级软件151 学号 2015012893 姓名张鑫 周次第八周交报告时间 2017.5.5成绩 一。目的要求 用高级语言编写和调试一个或多个作业调度的模拟程序,以加深对作业调度算法的理解。二 实验内容 1 编写并调试一个单道处理系统...

实验2作业调度

实验二作业调度模拟程序。1.实验目的。1 加深对作业调度算法的理解 2 进行程序设计的训练。2 实验要求。用高级语言编写一个或多个作业调度的模拟程序。单道批处理系统的作业调度程序。作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时...

操作系统作业调度实验

实验一进程。2011210549 崔晶。1.本实验实现的功能有 创建一个进程,撤销一个进程,挂起一个进程。2.本实验初始化的进程块状态如图所示 自定义 p表示正在运行,r表示就绪,w表示等待。3.程序如下 include include 进程块的数据结构。struct pcb struct 插入等待...