实验二模拟作业调度
更新时间:2023-09-13 05:15:01 阅读量: 综合文库 文档下载
实验报告二 模拟作业调度
班级 学号 姓名
一、 实验目的
模拟作业调度——先来服务调度算法、短作业优先调度算法、优先级调度算法。目的是加深作业概念的理解,深入了解多道程序设计系统中如何组织作业、管理作业和调度作业,加深作业调度算法的理解。
二、 实验环境
普通的计算机一台,编译环境Turobc2.0
三、 算法思想 1. 数据结构
每个作业由作业控制块linklist表示,包含有如下信息:进程名、运行
状态、到达时间、服务时间、完成时间、周转时间、优先级、带权周转时间。
typedef struct Node
{ char name; /*定义进程名*/
int status; /*定义进程的运行状态*/ int arrive; /*到达时间*/ int server; /*服务时间*/ int end; /*完成时间*/ int zz; /*周转时间*/ int yxj; /*优先级*/ float dqzz; /*带权周转时间*/ struct Node * next; /*结构体指针*/ }Node,*linklist;
作业的状态有两种0:等待,1:完成。本次实验采用了单链表的形式存放后备队列中的作业,采用尾插法将输入的信息资源插入到单链表中。
第一个调度进程的完成时间(end)=到达时间+服务时间
以后进程的完成时间(end)=自己进程的到达时间+前者进程的服务时间
周转时间=完成时间-到达时间 平均周转时间=周转时间/服务时间
2. 调度算法
作业调度算法的关键是在已有的作业后备队列上按照一定的规则选择一
个作业,选择不同的调度算法来调度作业。
① 先来先服务算法
先来先服务算法(FCFS)是从后备作业队列中选择一个最先进入队列的作
业(即比较其到达时间),为之分配处理机,使之运行。
② 短作业优先算法
短作业优先(SJP)的调度算法是从后备队列中选择一个服务时间最短的进程,将处理机分配给它,使之运行。
③ 优先权算法
为了照顾紧迫型的作业,使之在进入系统够便获得优先处理,即使用最高优先权优先(FPF),在本次实验中,假定所有的进程都是在同一时刻到达,然后为各个进程制定优先级,根据不同的优先级为其分配处理机,使之运行。
四、 源程序
#include
typedef struct Node /*定义结构体类型*/
{ char name; int status; int arrive; int server; int end; int zz; int yxj; float dqzz;
struct Node * next; }Node,*linklist;
linklist initlist(void) /*单链表的初始化*/
{ linklist head;
head=(Node*)malloc(sizeof(Node)); head->next=NULL; return(head); }
void createformtail(linklist l) /*利用尾插法建立单链表*/ { linklist s,r; char nam; int arr,ser; int f=1; r=l; while(f)
{ printf(\enter the process name:\
scanf(\ /*输入进程名,当输入‘*‘时结束输入*/ if(nam!='*')
{ s=(Node*)malloc(sizeof(Node)); s->name=nam;
printf(\enter the arrive time:\
scanf(\ s->arrive=arr;
printf(\enter the server time:\
scanf(\ getchar(); s->server=ser; s->status=0; r->next=s; r=s; } else { f=0;
r->next=NULL; } } }
void fcfs(linklist l) /*先来先服务算法*/ { linklist p,q; int f=0; p=l->next;
while(p!=NULL) { if(f==0)
{ p->end=p->arrive+p->server; f=1; q=p; } else
p->end=q->end+p->server; p->zz=p->end-p->arrive;
p->dqzz=(float)(p->zz)/(float)(p->server);
q=p;
p=p->next; }
p=l->next;
printf(\name arrivetime servertime endtime zztime dqzztime \\n\ while(p!=NULL) {printf(\10f\\n\end,p->zz,p->dqzz); p=p->next; } }
void sjp(linklist l) /*短作业优先算法*/ { linklist p,q; linklist w,n,m; int x;
int f=0,t=0; p=l->next;
while(p!=NULL) { if(f==0)
{ p->end=p->arrive+p->server; p->zz=p->end-p->arrive; p->dqzz=(float)(p->zz)/(float)(p->server);
p->status=1; f=1; p->status=1; q=p; } else { w=l->next; x=10;
while(w!=NULL) { if(w->server
x=n->server; }
w=w->next }
if(t==0)
{ n->end=q->end+n->server; t=1; } else
n->end=m->end+n->server; n->zz=n->end-n->arrive;
n->dqzz=(float)(n->zz)/(float)(n->server);
n->status=1;
m=n; }
p=p->next; }
p=l->next;
printf(\name arrivetime servertime endtime zztime dqzztime \\n\ while(p!=NULL)
{printf(\10f\\n\end,p->zz,p->dqzz); p=p->next; } }
void fpf(linklist l) { linklist p,q; linklist w,m,n; int x,y; int t=0; p=l->next;
printf(\you xian ji:\
while(p!=NULL)
{ printf(\ scanf(\ p->yxj=x; p=p->next; }
printf(\name servertime endtime yxj \\n\
p=l->next;
while(p!=NULL) { w=l->next; y=10;
while(w!=NULL)
{if(w->yxj
if(t==0)
{ n->end=n->server; t=1; }
else
n->end=m->end+n->server; n->status=1; m=n;
printf(\d d =\\n\me,m->server,m->end,m->yxj); p=p->next; } }
void main() /*主函数*/ {
int c,i,t1,t2,t3; int x,y,z,f=1; linklist l; l=initlist();
createformtail(l); while(f)
{ printf(\enu~~~~~~~~~~~~~~~~~~\ printf(\ printf(\ printf(\ printf(\
printf(\please enter your select:\
scanf(\ switch(c) { case 1: fcfs(l); break; case 2: sjp(l); break; case 3: fpf(l); break; case 0: f=0; break; } } }??
五、 运行结果
编译好程序后运行程序:首先输入五个进程名及他们的到达时间和服务时间:
输入1后,调用fcfs函数,即先来先服务的算法,出现如下运行图:
按回车后,会再次出现主菜单:输入2,调用sjp函数,即短作业优先服务的算法,出现如下运行图:
正在阅读:
实验二模拟作业调度09-13
201112王道俊、郭文安主编的《教育学》复习大纲05-26
2022届江西省临川第一中学暨临川一中实验学校高三第一次月考数学04-17
思瑞康(富马酸喹硫平片)02-27
2018-2022年中国高空作业车行业全景调研及市场需求预测报告目录03-14
(建筑手册) 常用结构计算103-21
哺乳动物03-14
机械系统设计-绿化带修剪机06-13
无锡酒店群-A2地块桩基工程监理细则07-04
《谢明:公共政策导论》笔记09-11
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 调度
- 作业
- 模拟
- 实验
- 山东省郓城县南赵楼乡压煤村庄搬迁具体实施方案 doc
- 学业水平模拟考试九年级政治试卷分析
- 酵母双杂实验操作手册和注意事项
- 家乡的风俗
- 方波发生器课程设计
- 高中语文人教版必修4第一单元《1窦娥冤》优质课公开课教案教师资格证面试试讲教案
- 1992考研数三真题及解析
- 口腔诊疗器械消毒技术操作规范试题
- 苏教版下学期一年级语文期末考试试题
- 新东方系统精讲民诉讲义
- 2014甘肃省二级电子商务师包过题库
- asp注册登陆系统源代码
- 人教版小学五年级数学下册第四单元精选习题
- C语言程序设计实验电子稿
- MIKE11练习2
- 儿歌在小学语文教学中的运用
- 电子电路设计实验报告
- 2018三年级数学下册暑假作业48
- 探讨外伤性血气胸患者的临床诊治体会
- 西方伦理思想漫谈期中复习