- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验二作业调度实验
一. 实验目的要求?
用高级语言编写和调试一个或多个作业调度的模拟程序,以加深对作业调度算法的理解。 ?
二. 实验要求 ?
1、编写并调试一个单道处理系统的作业等待模拟程序。
作业等待算法:分别采用先来先服务(FCFS),最短作业优先(SJF)、响应比高者优先(HRN)的调度算法。
对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间,以比较各种算法的优缺点。?
2、编写并调度一个多道程序系统的作业调度模拟程序。
作业调度算法:采用基于先来先服务的调度算法。可以参考课本中的方法进行设计。
对于多道程序系统,要假定系统中具有的各种资源及数量、调度作业时必须考虑到每个作业的资源要求。
3、编写并调试一个多道程序系统的作业调度模拟程序。
作业调度算法:采用基于优先级的作业调度。
三、实验过程
1.单道处理系统的作业等待模拟程序(分别采用先来先服务(FCFS),最短作业优先(SJF)、响应比高者优先(HRN)的调度算法。 )
实习代码:
#include stdio.h#include stdlib.h#define getjcb(type)(type*)malloc(sizeof(type))#define NULL 0struct 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(\n请输入作业个数:);scanf(%d,num);for(i=1;i=num;i++){printf(\n作业 %d,i);p=(JCB*)malloc(sizeof(JCB));printf(\n作业名:);scanf(%s,p-name);printf(\n作业运行时间:);scanf(%d,p-ntime);p-htime=t; p-state=w; p-link=NULL;sort();t++;}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(\n***正在运行的作业是 :%s ,p-name);printf(\nname\thtime\tntime\tstate\n);printf(%s\t,p-name);printf(%d\t,p-htime);printf(%d\t,p-ntime);printf(%c\t,p-state);printf(\n\n***就绪队列);for(pr=ready;pr!=NULL;pr=pr-link){printf(\nname\thtime\tntime\tstate\n);printf(%s\t,pr-name);printf(%d\t,pr-htime);printf(%d\t,pr-ntime);printf(%c\t,pr-state);}}void running(){printf(\n作业 [%s]已经完成\n,p-name);free(p);}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();//printf(\npress any key to continue...);c=getchar();running();tc=tb+p-ntime;//完成时间ti=tc-p-htime;//周转时间tis+=ti;wi=ti/p-ntime;//平均带权周转wis+=wi;printf(\n作业 %d 开始: \n, t);printf(\n作业[%d] 完成:\n,t);printf(\n周转时间:%d\n,ti);printf(\n带权周转时间: %d\n,wi);t=t+p-ntime;//printf(\npress any k
您可能关注的文档
- 狮子和兔子PPT课件(北师大版二年级语文下册课件).ppt
- 施秉县精品水果园区病虫害绿色防控技术方案.doc
- 施工、监理企业信用手册变更申请表.doc
- 施工单位安全生产费用管理制度.doc
- 施工单位报审文件审查要点(前期报审表).ppt
- 施工单位进场管理交底.doc
- 施工单位与发包人配合.doc
- 施工单位主体验收自评报告.docx
- 施工道路及材料堆场处地下室顶板加固方案.doc
- 施工电梯接料平台.doc
- 高校教师资格证之《高等教育心理学》题库整理复习资料含答案详解ab卷.docx
- 2025年乡村民俗文化旅游跨境电商平台与乡村振兴战略融合报告.docx
- 社会资本与公园绿地共享合作模式.docx
- 高校教师资格证之《高等教育心理学》题库检测模拟题含答案详解(最新).docx
- 高校教师资格证之《高等教育心理学》题库整理复习资料及答案详解(易错题).docx
- 山东能源集团煤矿通风瓦斯安全规定知识测试试卷.docx
- 高校教师资格证之《高等教育心理学》题库整理复习资料及答案详解(夺冠系列).docx
- 高校教师资格证之《高等教育心理学》题库检测模拟题含答案详解(典型题).docx
- 高校教师资格证之《高等教育心理学》题库整理复习资料有完整答案详解.docx
- 高校教师资格证之《高等教育心理学》题库整理复习资料带答案详解(预热题).docx
文档评论(0)