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

操作系统实验六(2)

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

b) 采用最短作业优先(SJF)

思路:根据最短作业优先的原则,将就绪的进程根据作业的长短排成一个就绪队列,根据队列进行进程的调度。 源码:

#include #include #include struct jcb {

char name[10]; int readytime; int runtime; char state; struct jcb *next; };

typedef struct jcb JCB;

void insertJCB(JCB *head,JCB *jcb) {

JCB* p,*p1; if(head->next) { p=head->next->next; p1=head->next;

} else { p=head->next; p1=head;

}

while(p!=NULL&&(jcb->runtime>=p->runtime)) { p1=p; p=p->next;

}

jcb->next=p;

第6页 共11页

p1->next=jcb; }

void input(JCB *head) {

int num=0,i; JCB *jcb1;

cout<<\请输入作业的个数:\ cin>>num;

for(i=0;i

void showRunning(JCB *p) {

cout<<\正在运行的作业是:\

cout<<\名称 就绪时间 运行时间 状态\

cout<name<readytime<runtime<state<

void showReady(JCB *p) {

JCB* p1=p;

cout<<\就绪作业是:\ while(p1) {

jcb1=new JCB(); jcb1->readytime=i;

cout<<\输入作业名称:\cin>>jcb1->name;

cout<<\输入作业运行时间\cin>>jcb1->runtime; jcb1->state='w'; jcb1->next=NULL; insertJCB(head,jcb1);

cout<<\名称 就绪时间 运行时间 状态\

第7页 共11页

cout<name<readytime<runtime<state<

void main() {

JCB* head=new JCB(),*pready,*p; char c; int num=0; double

circulateTime=0,averCTime=0,fTime=0,wTime,TotalCTime=0,TotalWCTime=0; head->next=NULL; input(head); pready=head->next; c=getchar(); while(pready) {

p1=p1->next;

c=getchar(); num++; p=pready; pready=p->next; p->next=NULL; p->state='r'; showRunning(p);

fTime=fTime+p->runtime;

circulateTime=fTime-p->readytime; wTime=circulateTime/p->runtime; TotalCTime+=circulateTime; TotalWCTime+=wTime; c=getchar(); showReady(pready); c=getchar();

cout<<\当前运行作业已完成,时间情况如下:\

第8页 共11页

cout<<\就绪时间 完成时间 周转时间 带权周转时间\

cout<readytime<

}

cout<<\所有作业已经完成:\ if(num!=0) { cout<<\总周转时间平均值:\ cout<

cout<<\总带权周转时间平均值:\ cout<

} else { cout<<\总周转时间平均值:\ cout<<0<

cout<<\总带权周转时间平均值:\ cout<<0<

}

测试结果如下:

第9页 共11页

第10页 共11页

c) 采用响应比高者优先(HNR)

思路:根据就绪的时间进行排序,当运行一个进程后,对其后的进程计算响应比,并进行比较,重新对其按照响应比的大小由大到小进行排序。然后继续运行。 源码:

测试结果如下:

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

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

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

第11页 共11页

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

操作系统实验六(2).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: