版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、作業(yè)調(diào)度一、實習(xí)內(nèi)容模擬批處理多道操作系統(tǒng)的作業(yè)調(diào)度。二、實習(xí)目的每個用戶請求計算機的一個計算任務(wù)叫做一個作業(yè)。一個作業(yè)從初始數(shù)據(jù)到得到計算結(jié)果, 要經(jīng)過若干個步驟的相繼執(zhí)行。例如,編輯、編譯、運行等,其中每一個步驟稱作一個作業(yè)步。 用戶向系統(tǒng)提出作業(yè)加工的方式稱作業(yè)控制方式,作業(yè)控制方式有兩種:終端控制方式(又稱 直接控制方式或聯(lián)機控制方式)和批處理控制方式(又稱自動控制方式或脫機控制方式)O在批處理控制方式下,用戶采用系統(tǒng)提供的作業(yè)控制語言(JCL)寫好作業(yè)說明書,說明作業(yè) 加工的步驟。操作員把一批作業(yè)組織成輸入流,通過“預(yù)輸入”手段使每個作業(yè)的信息(包 括作業(yè)說明書、源程序、初始數(shù)據(jù)等)
2、暫存在輔助存儲器的'輸入井”中。批處理多道操作系統(tǒng)的作業(yè)管理有兩個任務(wù):作業(yè)調(diào)度和作業(yè)控制。采用多道程序設(shè)計方法 的操作系統(tǒng),在系統(tǒng)中要經(jīng)常保留多個運行的作業(yè),以提高系統(tǒng)效率。作業(yè)調(diào)度從系統(tǒng)已接 納的暫存在輸入井中的一批作業(yè)中挑選出若干個可運行的作業(yè),并為這些被選中的作業(yè)分配 所需的系統(tǒng)資源。對被選中運行的作業(yè),必須按照它們各自的作業(yè)說明書規(guī)定的步驟進行控 制。本實習(xí)要求學(xué)生模擬作業(yè)調(diào)度的實現(xiàn),了解作業(yè)調(diào)度在操作系統(tǒng)中的作用。三、實習(xí)題目采用先來先服務(wù)算法和運行時間最短者優(yōu)先算法模擬設(shè)計作業(yè)調(diào)度程序?!咎崾尽浚?)作業(yè)調(diào)度程序負責(zé)從輸入井選擇若干個作業(yè)進入主存,為它們分配必要的資源,當(dāng)
3、它們 能夠被進程調(diào)度選中時,就可以占用處理器運行,作業(yè)調(diào)度選擇一個作業(yè)的必要條件是系統(tǒng) 中現(xiàn)有的尚未分配的資源可以滿足該作業(yè)的資源需求。但有進系統(tǒng)中現(xiàn)有的尚未分配的資源 既可滿足某個作業(yè)的要求也可以滿足其它一些作業(yè)的要求,那么,作業(yè)調(diào)度必須按照一定的 算法在這些作業(yè)中作出選擇。先來先服務(wù)算法是按照作業(yè)進入輸入井的先后次序來挑選作業(yè), 先進入輸入井的作業(yè)優(yōu)先被挑選,當(dāng)系統(tǒng)中現(xiàn)有的尚未分配的資源不能滿足先進入輸入井的 作業(yè)時,那么順序挑選后面的作業(yè)。運行時間最短者優(yōu)先算法總是按作業(yè)要求能滿足的作業(yè) 先進入主存執(zhí)行。(2)為了表示暫存在輸入井中的各個作業(yè)的情況(作業(yè)信息在輸入井中的位置、作業(yè)的資源
4、要求等待),常常采用二級目錄結(jié)構(gòu):作業(yè)表和預(yù)輸入表。例如:“預(yù)輸入”程序為每個作業(yè)在作業(yè)表中占一登記欄,且把作業(yè)信息存放到輸入井中并按文件 (源程序文件、數(shù)據(jù)文件等)登記地預(yù)輸入表中?!邦A(yù)輸入”程序工作時還把作業(yè)控制語句 集中,作為作業(yè)說明書文件存放在輸入井并登記在預(yù)輸入表的第一欄中,同時把用戶在作業(yè) 說明書中提出的資源要求登記在作業(yè)表中。本實習(xí)模擬作業(yè)調(diào)度,所以可以不考慮有關(guān)“預(yù)輸入”程序的工作。假定“預(yù)輸入”程序己 經(jīng)把一批作業(yè)的信息存放在輸入井了,并為它們建立了如下的作業(yè)表:用戶名作業(yè)名狀態(tài)運行時間資源要求主存磁帶AZYA收容0. 3小時15K2BZYB收容0.5小時6 0K1CZYC收
5、容0 . 1小時5 0K3DZYD收容0. 4小時10K2EZYE收容0. 1小時30 K3其中狀態(tài)分為三種:收容狀態(tài)一作業(yè)己在輸入井,當(dāng)尚未被選中執(zhí)行: 執(zhí)行狀態(tài)一作業(yè)被選中,正在執(zhí)行; 完成狀態(tài)一一作業(yè)執(zhí)行結(jié)束。(3) 假定主存中個容納多道作業(yè)同時執(zhí)行,那么作業(yè)調(diào)度按調(diào)度算法和資源分配情況查作業(yè) 表,從中選擇的作業(yè)創(chuàng)建一個作業(yè)控制進程輪流占有處理器(處理器調(diào)度參見實習(xí)二)。作 業(yè)控制進程按作業(yè)說明書控制作業(yè)執(zhí)行,當(dāng)一個作業(yè)執(zhí)行結(jié)束后,作業(yè)調(diào)度再從輸入井中選 擇一個作業(yè)進入主存,知道輸入井中的作業(yè)都執(zhí)行結(jié)束,同志操作系統(tǒng)再預(yù)輸入一個批作業(yè)。本實習(xí)主要模擬作業(yè)調(diào)度,所以對處理器調(diào)度、作業(yè)控制過
6、程簡化。用輸入隨即數(shù)模擬處理 器調(diào)度,用輸入“用戶名、作業(yè)名”模擬一個作業(yè)已經(jīng)執(zhí)行結(jié)束。于是,本實習(xí)的模擬流程 可參考2-10(4) 假定某系統(tǒng)可供用戶實驗的主存空間共1 0 0K,共有5臺磁帶機。主存分配采用可變 分區(qū)分配方式且主存中信息不允許移動,對磁帶機采用靜態(tài)分配策略,主存中可同時執(zhí)行的 作業(yè)限定為兩道,作業(yè)調(diào)度分別采用先來先服務(wù)算法和運行時間最短者優(yōu)先算法,參考圖2 1設(shè)計模擬作業(yè)調(diào)度的程序。假定作業(yè)表的初值如提示(2),分別再兩種算法選擇作業(yè)的 次序。在模擬作業(yè)執(zhí)行結(jié)束輸入被撤離作業(yè)的用戶名、作業(yè)名時,應(yīng)根據(jù)已在主存中的作業(yè)需運行 的時間來決定撤離的先后次序。三、流程圖初始化輸入在
7、0川間的一個隨機數(shù)N主存有作業(yè)?顯喬,等待作業(yè)執(zhí) 行結(jié)束歸還資源輸入用戶名.作業(yè) 名(用來模擬該作 業(yè)已經(jīng)執(zhí)行結(jié)束)為該作業(yè)分配資源(用修 改資源分配表代替)主存中還能裝作 業(yè)?見示;請操作 入作業(yè)作業(yè)表中有尚未祓選中的作業(yè)隨機數(shù)丸于CD王存中作業(yè)顯不2主存中 無作業(yè)控単作業(yè)執(zhí)行(用 顯示XX作業(yè)正在執(zhí)行代瞥)苴該作業(yè)在作業(yè) 表中的狀態(tài)為“完 成”歸還該作業(yè)占用 的熒源(用修改資 源分配表代替)按調(diào)度算法查作業(yè)表選 擇1個收容狀態(tài)的資源 能滿足的作業(yè)四.源程序tti n elude "s t di 0 htt i nc 1 ude "st d lib. h圖A1作業(yè)調(diào)度模擬
8、流程4置該作業(yè)在作業(yè)表中的 狀態(tài)為“執(zhí)行跨* 將改作業(yè)的作業(yè)說明書瀆入 主存(用顯示被選中的用戶 名.作業(yè)名來代替)已在主存的作業(yè)數(shù)加“嚴# 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 (主存中無作業(yè)!n);r e turn;/*先來先服務(wù)*/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輸入用戶名字,作業(yè)名字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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度工程項目承包保證人擔(dān)保承諾書范本6篇
- LED廣告車2024年租賃合同范本2篇
- 2025年度鄰里社區(qū)共筑住宅項目綠化養(yǎng)護協(xié)議3篇
- 2025年度生態(tài)農(nóng)業(yè)地產(chǎn)合作開發(fā)合同書
- 二零二五年度出租車座套定制與品牌推廣合同3篇
- 二零二五版電力設(shè)備質(zhì)檢員招聘與職責(zé)協(xié)議書3篇
- 個性化倉儲解決方案服務(wù)外包協(xié)議范本版A版
- 2025年度企業(yè)員工心理健康培訓(xùn)服務(wù)合同范本8篇
- 中美洲2024年原材料供應(yīng)協(xié)議
- 養(yǎng)殖場動物疫病防治服務(wù)合同(2025年度)3篇
- AQ-T 1009-2021礦山救護隊標準化考核規(guī)范
- 鹽酸??颂婺崤R床療效、不良反應(yīng)與藥代動力學(xué)的相關(guān)性分析的開題報告
- 消防設(shè)施安全檢查表
- 組合結(jié)構(gòu)設(shè)計原理 第2版 課件 第6、7章 鋼-混凝土組合梁、鋼-混凝土組合剪力墻
- 建筑公司資質(zhì)常識培訓(xùn)課件
- 旅居管家策劃方案
- GB/T 26316-2023市場、民意和社會調(diào)查(包括洞察與數(shù)據(jù)分析)術(shù)語和服務(wù)要求
- 春節(jié)值班安全教育培訓(xùn)
- 帶狀皰疹護理查房
- 平衡計分卡-化戰(zhàn)略為行動
- 幼兒園小班下學(xué)期期末家長會PPT模板
評論
0/150
提交評論