77范文网 - 专业文章范例文档资料分享平台

操作系统实验六

来源:网络收集 时间:2019-02-15 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

实验六 作业调度试验

由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的 CPU时限等因素。

作业调度算法:采用先来先服务(FCFS)调度算法,即按作业提交的先后次序进行调度。总是首先调度在系统中等待时间最长的作业。

每个作业由一个作业控制块JCB表示,JCB可以包含如下信息:作业名、提交时间、所需的运行时间、所需的资源、作业状态、链指针等等。

作业的状态可以是等待W(Wait)、运行R(Run)和完成F(Finish)三种状态之一。每个作业的最初状态总是等待W。

各个等待的作业按照提交时刻的先后次序排队,总是首先调度等待队列中队首的作业。 每个作业完成后要打印该作业的开始运行时刻、完成时刻、周转时间和带权周转时间,这一组作业完成后要计算并打印这组作业的平均周转时间、带权平均周转时间。 调度算法的流程图如下 :

第1页 共11页

三 . 实习题:

1、 编写并调试一个单道处理系统的作业等待模拟程序。 a) 采用先来先服务(FCFS)

思路:根据先来先服务的原则,将就绪的进程排成一个就绪队列,根据就绪队列来进行进程的调度。 源码:

#include \#include \

#define getjcb(type)(type*)malloc(sizeof(type)) #define NULL 0 struct jcb{ char name[10]; int htime; int ntime; char state; struct jcb *link; } *ready=NULL,*p; typedef struct jcb JCB; int input() {

int num,i,t=0; void sort();

printf(\请输入作业个数:\ scanf(\ for(i=1;i<=num;i++) { printf(\作业 %d\ p=(JCB*)malloc(sizeof(JCB)); printf(\作业名:\ scanf(\ printf(\作业运行时间:\ scanf(\

p->htime=t; p->state='w'; p->link=NULL; sort();

t++;

第2页 共11页

}

return t; }

void sort() {

JCB *flag; if(ready==NULL) ready=p; else{

flag=ready;

while(flag->link!=NULL)

flag=flag->link; flag->link=p;

} }

void show() {

JCB *pr;

printf(\正在运行的作业是 :%s \ printf(\ printf(\ printf(\ printf(\ printf(\ printf(\就绪队列\ for(pr=ready;pr!=NULL;pr=pr->link) { printf(\ printf(\ printf(\ printf(\ printf(\

} }

void running()

第3页 共11页

{

printf(\作业 [%s]已经完成\\n\}

void main() { char c;

int t=0; int tb,tc,ti,wi; int tis=0,wis=0,i=0; t=input(); while(ready!=NULL) { c=getchar(); ++i; p=ready; ready=p->link; p->link=NULL; p->state='r'; tb=t; show(); c=getchar(); running();

tc=tb+p->ntime;//完成时间 ti=tc-p->htime;//周转时间 tis+=ti;

wi=ti/p->ntime;//平均带权周转 wis+=wi;

printf(\周转时间:%d\\n\ printf(\带权周转时间: %d\\n\ t=t+p->ntime; c=getchar();

}

printf(\所有作业都已经完成\ printf(\总周转时间:%d\\n\ printf(\总带权周转时间:%d\\n\ c=getchar();

第4页 共11页

}

测试结果如下:

第5页 共11页

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库操作系统实验六在线全文阅读。

操作系统实验六.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/472640.html(转载请注明文章来源)
上一篇:04 常用概率分布
下一篇:7A Unit1 知识点
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: