电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

操作系统实验报告作业调度

操作系统实验报告作业调度_第1页
1/16
操作系统实验报告作业调度_第2页
2/16
操作系统实验报告作业调度_第3页
3/16
1 实验报告 -----作业调度 计算机科学与技术04级一班 022号 剪晓光 2006.12.6 2 实验(二):作业调度 本组成员:剪晓光 王鹏 张文艺 余忠福 一、 实验目的: (1)理解什么是作业:每个用户请求计算机的一个计算任务叫做一个作业。 (2)作业的执行有几个步骤:一个作业从开始执行到得出结果要经历若干步。 (3)什么是作业控制方式:用户向系统提出作业加工的方式称作业控制方式。 (4)作业控制方式有那几种:终端控制方式(又称直接控制方式或联机控制方式)和批处理控制方式(又称自动控制方式或脱机控制方式)。 (5)作业调度的作用:通过模拟作业调度的实现,了解作业调度在操作系统中的作用。 二、 实验内容: (1):设计一个小系统(能够通过小系统中作业的调度了解多道操 3 作系统中作业执行)。 (2):通过小系统的模拟,分析多道系统的作业执行。 (3):提出系统中作业的调度的改进措施,以提高作业的执行效率,提高多道操作系统的处理能力。 三. 流程图如下: 4 三、 源程序如下: 5 #include "stdio.h" #include "stdlib.h" #include "time.h" #define Max 100 //最大作业数 #define MEMLENGTH 180 #define RECORDERNUM 16 typedef struct JCB //作业控制块 { int UserID; //用户名 int JobID; //作业名 char status; //状态 float RunTime; //运行时间 int ApplyMem; //申请主存大小 int ApplyRecorder;//申请磁带数 struct JCB * next; }JCB; void JTinit(JCB * p)//构造一个空的 { p->next=(JCB *)malloc(sizeof(JCB)); p->next->next=NULL; p->UserID=p->JobID=NULL; } void JTinsert(JCB * jt,JCB * j) //插入 { JCB * p; for(p=jt;p->next!=NULL;p=p->next); p->next=j; j->next=NULL; } int JTdel(JCB * jt,JCB * j) //删除 { JCB * p; if(j==NULL)return 0; p=jt->next; if(p==NULL)return 0; for(;p->next!=NULL&&p->next!=j;p=p->next); if(p->next==NULL)return 0; p->next=j->next; return 1; } JCB * JTfind(JCB * jcb,char status) //查找 { JCB * p; if(jcb==NULL) return NULL;//若作业控制块为空,返回NULL 6 for(p=jcb->next;p!=NULL&&p->status!=status;p=p->next); return p; } void JTrelease(JCB * jt) //释放 { JCB * p; JCB * q; p=j...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

操作系统实验报告作业调度

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部