操作系统之试验-作业调度_第1页
操作系统之试验-作业调度_第2页
操作系统之试验-作业调度_第3页
操作系统之试验-作业调度_第4页
操作系统之试验-作业调度_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、作业调度一、实习内容模拟批处理多道操作系统的作业调度。二、实习目的每个用户请求计算机的一个计算任务叫做一个作业。一个作业从初始数据到得到计算结果, 要经过若干个步骤的相继执行。例如,编辑、编译、运行等,其中每一个步骤称作一个作业步。 用户向系统提出作业加工的方式称作业控制方式,作业控制方式有两种:终端控制方式(又称 直接控制方式或联机控制方式)和批处理控制方式(又称自动控制方式或脱机控制方式)O在批处理控制方式下,用户采用系统提供的作业控制语言(JCL)写好作业说明书,说明作业 加工的步骤。操作员把一批作业组织成输入流,通过“预输入”手段使每个作业的信息(包 括作业说明书、源程序、初始数据等)

2、暂存在辅助存储器的'输入井”中。批处理多道操作系统的作业管理有两个任务:作业调度和作业控制。采用多道程序设计方法 的操作系统,在系统中要经常保留多个运行的作业,以提高系统效率。作业调度从系统已接 纳的暂存在输入井中的一批作业中挑选出若干个可运行的作业,并为这些被选中的作业分配 所需的系统资源。对被选中运行的作业,必须按照它们各自的作业说明书规定的步骤进行控 制。本实习要求学生模拟作业调度的实现,了解作业调度在操作系统中的作用。三、实习题目采用先来先服务算法和运行时间最短者优先算法模拟设计作业调度程序。【提示】(1)作业调度程序负责从输入井选择若干个作业进入主存,为它们分配必要的资源,当

3、它们 能够被进程调度选中时,就可以占用处理器运行,作业调度选择一个作业的必要条件是系统 中现有的尚未分配的资源可以满足该作业的资源需求。但有进系统中现有的尚未分配的资源 既可满足某个作业的要求也可以满足其它一些作业的要求,那么,作业调度必须按照一定的 算法在这些作业中作出选择。先来先服务算法是按照作业进入输入井的先后次序来挑选作业, 先进入输入井的作业优先被挑选,当系统中现有的尚未分配的资源不能满足先进入输入井的 作业时,那么顺序挑选后面的作业。运行时间最短者优先算法总是按作业要求能满足的作业 先进入主存执行。(2)为了表示暂存在输入井中的各个作业的情况(作业信息在输入井中的位置、作业的资源

4、要求等待),常常采用二级目录结构:作业表和预输入表。例如:“预输入”程序为每个作业在作业表中占一登记栏,且把作业信息存放到输入井中并按文件 (源程序文件、数据文件等)登记地预输入表中。“预输入”程序工作时还把作业控制语句 集中,作为作业说明书文件存放在输入井并登记在预输入表的第一栏中,同时把用户在作业 说明书中提出的资源要求登记在作业表中。本实习模拟作业调度,所以可以不考虑有关“预输入”程序的工作。假定“预输入”程序己 经把一批作业的信息存放在输入井了,并为它们建立了如下的作业表:用户名作业名状态运行时间资源要求主存磁带AZYA收容0. 3小时15K2BZYB收容0.5小时6 0K1CZYC收

5、容0 . 1小时5 0K3DZYD收容0. 4小时10K2EZYE收容0. 1小时30 K3其中状态分为三种:收容状态一作业己在输入井,当尚未被选中执行: 执行状态一作业被选中,正在执行; 完成状态一一作业执行结束。(3) 假定主存中个容纳多道作业同时执行,那么作业调度按调度算法和资源分配情况查作业 表,从中选择的作业创建一个作业控制进程轮流占有处理器(处理器调度参见实习二)。作 业控制进程按作业说明书控制作业执行,当一个作业执行结束后,作业调度再从输入井中选 择一个作业进入主存,知道输入井中的作业都执行结束,同志操作系统再预输入一个批作业。本实习主要模拟作业调度,所以对处理器调度、作业控制过

6、程简化。用输入随即数模拟处理 器调度,用输入“用户名、作业名”模拟一个作业已经执行结束。于是,本实习的模拟流程 可参考2-10(4) 假定某系统可供用户实验的主存空间共1 0 0K,共有5台磁带机。主存分配采用可变 分区分配方式且主存中信息不允许移动,对磁带机采用静态分配策略,主存中可同时执行的 作业限定为两道,作业调度分别采用先来先服务算法和运行时间最短者优先算法,参考图2 1设计模拟作业调度的程序。假定作业表的初值如提示(2),分别再两种算法选择作业的 次序。在模拟作业执行结束输入被撤离作业的用户名、作业名时,应根据已在主存中的作业需运行 的时间来决定撤离的先后次序。三、流程图初始化输入在

7、0川间的一个随机数N主存有作业?显乔,等待作业执 行结束归还资源输入用户名.作业 名(用来模拟该作 业已经执行结束)为该作业分配资源(用修 改资源分配表代替)主存中还能装作 业?见示;请操作 入作业作业表中有尚未祓选中的作业随机数丸于CD王存中作业显不2主存中 无作业控単作业执行(用 显示XX作业正在执行代瞥)苴该作业在作业 表中的状态为“完 成”归还该作业占用 的熒源(用修改资 源分配表代替)按调度算法查作业表选 择1个收容状态的资源 能满足的作业四.源程序tti n elude "s t di 0 htt i nc 1 ude "st d lib. h图A1作业调度模拟

8、流程4置该作业在作业表中的 状态为“执行跨* 将改作业的作业说明书渎入 主存(用显示被选中的用戶 名.作业名来代替)已在主存的作业数加“严# define M E M LENGTH 100#define RECORDERNUM 5t y pedef str u ct J CBchar *UserID;c h ar * JoblD;ch a r sta t us;float R u nTime;int A p plyM e m ;int Memo ryNum:in t A p plyRecorde r ;stru c t JCB * n e xt;JCB;JCB * JTf i n d( J C

9、B* j cb, char s tatu s )JCB * p;if ( j cb=N ULL) re t ur n NULL;f or(p二jcb-> n ext;p! = N ULL &&p->s t atus! = s t a tu s ;p= p -next); r e t u rn p ;void JTinit ( J CB * p)p->next=(JC B *)mallo C (sizeof (JC B); p->nex t -> n e x t =NUL L ;p->Us erID=P->JobID=NULL;void

10、J Ti n s e r t (JC B * jt, JCB * j)JCB * p;for (p二jt;p->ne x t ! = NULL; p =p->next); p-> n e x t = j;j ->n ext 二 NULL;i nt J Td e 1 ( J CB * jt, JCB * j)JCB * p;i f ( j =NULL) r e turn 0 ;p = jt-> n ext;i f (p = =NUL L)r e turn 0;for (: p->nex t ! =NU LL&& p ->n e x t !

11、 -j ; p=p >next);i f (p->nex t 二二NULL) re turn 0;p >next-j-nex t ;ret urn 1;void J Tre 1 ease(JCB * j t)JCB * p;JCB * q;p 二 jt >next;辻(p 二二 NULL) re t urn;for ( q =p-n e x t ; q ! =NULL; p =q, q =q->n ext)f r e e (p);J CB jt;int memory=MEMLENGTH;in t recorde r =RE C OR D E R NUM;int c

12、ount= 0 ;i nt num二5;voi d large ()JCB* e p , *pd;int i;ep=JT f ind (& j t, ' s');i f (ep!=NU LL)whi 1 e (p d = J T f i nd( p d, ' s') ! =NULL)i f (ep->RunTime>pd-RunTime)ep = pd;if (c 0 unt<2)i f (mem 0 ry>e p ->A p p 1 yM e m)if (recorde r >二 e p -> App 1 y

13、Rec 0 rder )ep->status二'ef ;J Tdel (& j t , e p );J Tinser t (&jt, e p);memory=ep- >App 1 y Re c ord e r;cou n t +;printf ("The selecte d job's name is % S ep-> Job ID);printf ("The s e lecte d user i s %sn H , ep->U S erlD);else pri ntf ( " T he r eco rder

14、 i S not ade q uate n n );else print f ( 11 The main memory i s not adequate n);e 1 se print f (Th e s ys t e m ca n not e xc u t e an y more job s ! n);else printf(The sa v e d queue i s e mp t y! n");void smal 1 ()char * str 1 , str2;char i;J CB * e p ;ep = JT f in d (&jt, ' e');i

15、 f (e p二二NULL)print f (主存中无作业!n);r e turn;/*先來先服务*/else,ep->Jo bID);E!n); */e p -> U s erlD, eppri n tf (“ Be executiv i n g c u s t moer %sn/*pr i nt f C输入用户名字,作业名字A,B,C, D, p r in t f ( H The user and job are: %s, % s :->JobID);co u n t一一 ;num; memory+ =e p >App 1 yMem ; r e c o r de r

16、 + 二e p 一> A p ply R ecord e r;J Tde 1 (&j t , ep);retur n ;void i n i t ()JCB *p:JTinit (& j t);p二(JCB*) m a 1 1 oc (sizeof(JCB);p-> U serID= (char*) mallo c (10*sizeo f (cha r );p >UserID 二 A;p ->JoblD二(char*)ma 1 loc (10* S ize 0 f (ch ar);p ->J o b I D= ” ZYA;p >stat u

17、S S 'p 一R u nTime二 0 3;p>App 1 y M e m=l 5 ;p > ApplyRecor d er二2;JTinser t (&jt, p);p= (JCB*)malloc ( s izeof(J CB);p->U s e r ID= ( c har*) mal 1 o c (10*siz e o f (char);p->UserID=,zB,z;p > J obi D = (cha r*) mallo c ( 1 0* siz e of (c h ar); p->J obID = ZYB;p >status

18、二's'p-> Ru n T im e = 0.5;p > A p pl y M e m= 6 0;p-Ap p ly R e co r de r =1;JT i nse r t (& j t, p);p=(J CB*) ma 1 loc(s i zeo f (JCB):p->U s erl D = ( c h a r*)malloc (10 * si z eo f (cha r );p->UserID= ” C ” ;p > JobID= (c h ar*)mallo c (10*siz e o f ( c h ar);p->Jo

19、b ID= " ZYC;p > S tat u s =,s'p > Run T im e =0. 1;p->A p plyMem= 5 0;p->App 1 yRe c orde r 二3;JTins e r t (&jt, p);p=(JCB*)ma 1 loc(s izeof (JCB);p ->U S erlD = (char*) malloc(10*sizeof(c h ar);p->UserID=D;p >JobID= (char *) mallo c (10*s i zeof (cha r ); p->Jo bID=ZYD“ ; p-> status s';p 'RunTime二0. 4;p-A p plyMem= 10;p->ApplyRec 0 rder=2;JT i n sert (&jt, p);p=(J CB*)malloc ( s izeof (JC B );p-> U s e rID二(c har*) mallo c (10 *si z e of (char); p->UserID=E;p-> J obID=( char *)mal 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论