![操作系統(tǒng)實驗2進程調(diào)度 實驗報告_第1頁](http://file4.renrendoc.com/view/b3986dce52b0107d42fc004c6b89a9b5/b3986dce52b0107d42fc004c6b89a9b51.gif)
![操作系統(tǒng)實驗2進程調(diào)度 實驗報告_第2頁](http://file4.renrendoc.com/view/b3986dce52b0107d42fc004c6b89a9b5/b3986dce52b0107d42fc004c6b89a9b52.gif)
![操作系統(tǒng)實驗2進程調(diào)度 實驗報告_第3頁](http://file4.renrendoc.com/view/b3986dce52b0107d42fc004c6b89a9b5/b3986dce52b0107d42fc004c6b89a9b53.gif)
![操作系統(tǒng)實驗2進程調(diào)度 實驗報告_第4頁](http://file4.renrendoc.com/view/b3986dce52b0107d42fc004c6b89a9b5/b3986dce52b0107d42fc004c6b89a9b54.gif)
![操作系統(tǒng)實驗2進程調(diào)度 實驗報告_第5頁](http://file4.renrendoc.com/view/b3986dce52b0107d42fc004c6b89a9b5/b3986dce52b0107d42fc004c6b89a9b55.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、人佛山科學(xué)技術(shù)學(xué)院實驗報告課程名稱操作系統(tǒng)原理實驗項目實驗二-進程調(diào)度實驗講義專業(yè)班級_姓名學(xué)號指導(dǎo)教師 成績 日期一、實驗?zāi)康耐ㄟ^對進程調(diào)度算法的模擬,進一步理解進程的基本概念,加深對進程運行狀態(tài)和進程調(diào)度過程、調(diào)度算 法的理解。(1)掌握時間片輪換的進程調(diào)度算法;(2)掌握帶優(yōu)先級的進程調(diào)度算法;(3)選用面向?qū)ο蟮木幊谭椒ā6?、實驗?nèi)容;(1)用C語言(或其它語言,如Java)實現(xiàn)對N個進程采用動態(tài)優(yōu)先調(diào)度算法的調(diào)度。(2)每個用來標(biāo)識進程的進程控制塊PCB可用結(jié)構(gòu)來描述,包括以下字段:進程標(biāo)識數(shù)ID。進程優(yōu)先數(shù)PRIORITY,并規(guī)定優(yōu)先數(shù)越大的進程,其優(yōu)先權(quán)越高。進程已占用CPU時間
2、CPUTIME。進程還需占用的CPU時間ALLTIMEo當(dāng)進程運行完畢時,ALLTIME變?yōu)?。進程的阻塞時間STARTBLOCK,表示當(dāng)進程再運行STARTBLOCK個時間片后,進程將進入阻塞狀態(tài)。進程被阻塞的時間BLOCKTIME,表示已阻塞的進程再等待BLOCKTIME個時間片后,將轉(zhuǎn)換成就緒狀態(tài)。進程狀態(tài)STATE o隊列指針NEXT,用來將PCB排成隊列。(3)優(yōu)先數(shù)改變的原則:可以采用以下方法的任一種:(a)進程在就緒隊列中呆一個時間片,優(yōu)先數(shù)增加1o進程每運行一個時間片,優(yōu)先數(shù)減3o(b)進程在就緒隊列中呆一個時間片,優(yōu)先數(shù)增加3o進程每運行一個時間片,優(yōu)先數(shù)除以2。(4)為了清
3、楚地觀察每個進程的調(diào)度過程,程序應(yīng)將每個時間片內(nèi)的進程的情況顯示出來,包括正在運行 的進程,處于就緒隊列中的進程和處于阻塞隊列中的進程。(5)用戶可以干預(yù)進程的運行狀態(tài),程序應(yīng)該設(shè)置可以讓用戶中斷的入口,并可以通過以下命令查看,修 改,終止進程。A)create隨機創(chuàng)建進程,進程的優(yōu)先級與所需要的時間片隨機決定;B)ps查看當(dāng)前進程狀態(tài)C)sleep命令將進程掛起D)kill命令殺死進程E)quit命令退出(5)分析程序運行的結(jié)果,談一下自己的認識。三、實驗原理;無論是在批處理系統(tǒng)還是分時系統(tǒng)中,用戶進程數(shù)一般都多于處理機數(shù)、這將導(dǎo)致它們互相爭奪處理機。 另外,系統(tǒng)進程也同樣需要使用處理機。這
4、就要求進程調(diào)度程序按一定的策略,動態(tài)地把處理機分配給處于就 緒隊列中的某一個進程,以使之執(zhí)行。根據(jù)進程的五個特征:(1)動態(tài)性;(2)并發(fā)性;(3)異步性;(4)獨立性;(5)結(jié)構(gòu)性及三種基本狀態(tài)的轉(zhuǎn)換, 了解各進程對資源的共享和競爭。進程并發(fā)執(zhí)行時,由于資源共享,帶來各進程之間的相互制約。為了反映這 些制約關(guān)系和資源共享關(guān)系,在創(chuàng)建一個進程時,應(yīng)首先創(chuàng)建其PCB,然后才能根據(jù)PCB中信息對進程實施 有效的管理和控制。當(dāng)一個進程完成其功能之后,系統(tǒng)則最后釋放PCB,進程也隨之消亡。最簡單最直觀的進程調(diào)度策略是基于優(yōu)先級的調(diào)度,多數(shù)實時系統(tǒng)采用基于優(yōu)先級的調(diào)度,每個進程根據(jù)它重 要程度的不同被賦
5、予不同的優(yōu)先級,調(diào)度器在每次調(diào)度時,總選擇優(yōu)先級最高的進程開始執(zhí)行四、實驗步驟;隨機生成幾個處在就緒隊列的進程;在就緒隊列中選擇優(yōu)先權(quán)最高的進程;每運行一個時間片后更新運行進程、就緒隊列和阻塞隊列的狀態(tài),判斷是否需要進行變換;可動態(tài)添加、刪除進程;完成所有進程操作。五、程序源代碼及注釋實驗2進程調(diào)度return:void Destrortjuue(Queii *Q)( rtile(Q-front) (Q-raaT=Q-frDnt-MEXT;Q-frojit=Q-*43* :return :Pct創(chuàng)廷尹晦機和螞化若運程int Enqueue (Queue *Q; PCB *pcb) (QNode
6、 *)q&119C(sx zeof (QXodG); p-pub=pcb;if ( !d) return 0;d-ext=null:Q-rsar-NEXT=D:Q-*92TF;Q-Q_nun-:return 1:隊列牛劑隱指定id夫素nt DeQueue (Queue 點Q, int d) (QNode *a. *s;if (食-fMmt=Q-mar printf 3。; return 。;a=Qfront;s=a-NEXr;for(;a-XEXT!=NULL:axa-NEXT)(i f (a-EXT-pb-IB=id) 5=3-NEST;i f .5=Sxear J(Q-rear=a:a-N
7、EXT=s-NEXr; free(s);include inc lude ?includQ ?includQ inoiuastypedef struct. PCB (int ID;避程標(biāo)識3ft ID.int PRIORITY:建程伐完轟PRXR1TY.尹姓定任先桑巷大時住涅.苴杭先姣巷尊.int. CPUTIME ;方注程已呂.號 CPU 的間CPUTI3E.int ALLTIME ; 甦理還需M用的CPU的同 ALLTZME.當(dāng)W程運氣充舉時,ALLTW交為6 int STAETELXK;/走程的恒言時間 STARIELCCK.表示當(dāng)W巷再運行STARTELXK個時間片后,W巷君走入 隈塞
8、狀態(tài).int ELCCKTIME;的打間 ELO-CKri3E.表示已匾氫的遂程再與待玖火KTIME個時間片后.罵哭 性或垃空狀戀int. STATESTATE. 0 代表致行.1 代表爰活.2代表區(qū)室 PCE:typedef struct. QMode(PCB *pcb;struct QMode *NEXT;QMode;typsdsf struct. Qususmt Q_nua;QNod蠟 *frQnt;QMode *rear:Queue;int Dro_nua=O;/i*的總個斂PCE t.enp_PCE;PCB bast:展款絕隊列中選務(wù)的轂伐逐程QNode如昌興機LREADY次七BLO
9、CK:匣戛供、列void In it Queue (Suene (Q-fxont=Q-r ear= 5KoSe*! nalloc .si zeof (Jode):if ( !q-frgt) et (-1);Q- fxont-NEXT=Sq_nu3=0;:if(Q_READF- q_nus=O!return L;iMf (就免眼列中尚無說程皿二;rstuxn;父匾室中選斧匾室國間為0的矣出鼠列void SQlect.FrxiJLCa0 (QMods *a? *t$SD;*::,tsn.D=a=Q_EL4XK- front:printf (ge依袂物虹綏史宣富袂鈕R翊k*徐攻*敦攵兌維義義鈕知tn
10、);。苴nH(從匾惠&L列中法務(wù)W程到致豎底列二/); f (QBL 0:E- q_nu3=0:printfCFSg隊劌中尚無七程皿);return;for(5=tenD-NEXT;a-NEXT !=MULL: a=a-NEXT)if(3-NEXT-DC-b-BLCCKr:3E=:i( tnp=a:s=tezp-?iEXT;if (C_5L*XK-*s&r=g)Q_BLCC K-rear=*te=p:tespP*CB= (PCS *j zall-oc. size of (PCE .: : ZZ 從匾戛成列奘珍京度漁隊列中te2p_PCE-ID=5-pcb-ID;t e 2p_PCE-PRI 0
11、EZTY=s -pcl)- PRIORITY;t i 2P.PCE-XFU I != s- R 6-C PUTZ1E;t x sp_PCE-ALL T iffi= s- pcb-ALLT:lE;t i r_PST AETELOC K=m () 94 L,食話設(shè)豆 STARTELOCKt e np_PCE-ELOCM DIEz 0:tQnp_PCE-STATE=l:/標(biāo)記為我建隊列EhQiiguq (QJ?EADT tER.FCB);ts=p-NEKT=s-?EXT:Q_BLOCK*Q_nus:free front:for(s=t eno-揮EXT: a-XEXT!=NULL: 3=a-以EXT
12、)if(a-NET-peb-PRIORITYte=D-iEXr-peb-P RIORITY) teap=a;5=tenp-NIEXT;xf(*Q_REr-rear=sjQ_RE AD Y-r e ar = te=p;best. ID=s-pcb-ID;b藥 t. PR ICRITY= -pcb-PR IORITY;best. CPUTD(E=5-pcb-X:PUTIME:best. ALLTD(E=5-pcb-ALLTIME:best. STARTELaCK=5rpcb-SrARTELXK;best. EL*XKTDE=s-DCtrEL0Cn3CE;bast. STATEzs-pclrSTAT
13、E :tMj-NEXT=3- ?EXT:Q_RIADY-q_nua:free(s):從鹽綣隊列中洗多景尊和次杭骸.設(shè)豆STARTrZiEvoid Sst_Es:5t_Sscand_Start () QXods *t=3p_f irst: *tap_5GQJid *a;Xnt fa: fb: n=0;a=Q_BEADY- front;if (Q.READY- Q_nun=0 .:fNintf (款活隊列T尚無法蜜jT):*sturn:)if(Q_RE ADE- q_nxi3=l)a-KEST-pcb-SrASrBLO:K=a-NErr-pcV-ALiri炷;/立果鹽緒冽中只宥二個注蚤 則設(shè)豆為乩
14、LT*forir5t=te=p_5ec-OT3=a-ST ;a-SXTI =NULL;a=a-HEXr)(if(a-?JEXT-pcb-PRIOEin=teaD_fir5t-DC-b-PRIORITY)t &sd.PC B-STAR-TBLC*CK=be51. STARTBLOCK;t enp_s e cond=t e3p_f r st;t enp_PCE-BLCKT ZMEzbest. BLOCKTDE:tenp_f irst=a- NEXT;tenp_PCE-SrATE=l;Enqueue(Q_RE.DY. Mr_PCB);fa=tp_fixst-pcb-PRICRirY;fb=tenp_
15、5econd-pcb APRIORITY;elsewhiletf a=fbfrojit-EXT:tea.p_frst-pc b-STA.RTBLOCK=n:for(:a! SULL: a=a-NEXT a-pcb-PRIORITY-;/靈若W程狀態(tài)函蘇void Change 0 對家給做到中每個炬程到既是芍給耒*a;a=_EEAC,x-frQt-:EXT ;.mt teap_id1;for(;a! =NULL; a=a-:EXTif(b5t.ID!-l)V7對運行送程老行場改best. CPUTDE;坡丸 CPU時間if (a-DCbALLTIME=O) (bGSt. ALLT3E-;逢程總時
16、間政少t 史 D_i dn-。ID ;:best. PRIORin=bast. PRICirY-3:Dequeue (Q.READY, 二d):best. STARTBLOCK:P*-o_nua:if (best. ALLTIME! =0) 如果的間片還沒月完if (best. STARTELXE=O 詢果對程需printfC當(dāng)首適行注建需法入晅塞隊劌對匿塞鼠列中信息靈改nr);a=?_BLCCK-front-NEXTt enp_PCE=(PCBaalloc (siz eof(PCB);for (;a!=NULL; a=a-NEXTtgp_PCE-XD=b3t.ZD;a-pcb-BLCT3ff
17、i;tenD_PCE-PRI0RITY=be5t. PRIORITY;Niirtf (更折走程信息完成切勺:t enp_PCE-X:PUTDE=be st. CPU TIME:t QD_PCE-ALLTDE=be st.ALLTIME;)t god.P CE-STAETELCa=O:劫出渥程借息函斂t GnD_PCE-ELCCKT3E=TandO *101:void Print()*5_PCE-STATE=2:QMo4e *&:Enqueue (Q_BLCK 足r_PCB):printf (二二=-D ):else 否則受入鼬給我恣。苴rtf (當(dāng)部冠總個釜:W。pxo.nuoj ;t enp
18、_PCE=(PCBaalloc (siz eof(PCB);prlutf (零給列):JREADY-unuaJ ;t enp_PCE-ID=-best. ID;a=? _RE A DY- front -NEXTtenD_PCE-PRI0RITY=be5t. PRIORITY;if(a!=NULL)t enp_PCE-X:PUTDfE=be st. CPU TIME:t enD_PCE-ALLTD!E=be st.ALLTDfE:Drintf CH) PIRORITT CFUTIME ALLTIMESTAJTEL*OCK ELCCKT3E STATErT): f-orC;a! =NTLL: a=
19、a-ME5T)(XintfC*短d2d42d%2d a-peb-ID. a-cb-JPRI-ORirY. a-peb-XPUTIUE? a-pc b-ALLTBffi:printff關(guān) 2dn,a-pc-b-STARTEbOCT; a-pcb-BLO:KT3fE; a-pcb-ST ATE);printprintf (EE室隊列儀d) n,Q_BL0*CK-q_nu2L: a=*S_5LCa-?front -NEXT;if (a!=NULL) (printfriD PIROfilTY CPUTIME ALLTUCE STAJTEL*XK ELCCKT3E STATErT):f-orC;a! =
20、NTLL: a=a-M5T)(XintfC*短d2d42d%2d a-peb-ID. a-cb-JPRI-ORirY. a-peb-XPUTIUE? a-pc b-ALLTBffi:printf C耘 d%2d:a-pcl)-STARTBLCCK. a-pcb-BLOCKTIKE. a-pcb-ST ATE); print :)printf C= ) WHWMVWMV. J ./正在運行的遂忌景作函袤void Pro.RLNO (if (b&st. ZD=1)“Mtf T當(dāng)查無可孰行的W程k/):return ;)pr intf (當(dāng)t?時間片大運嚀淀遑W ;printfCHS PZR-ORI
21、TY CPUTBIE ALLTZMI STARTBLOCK BLOCET:1E STATE n勺:printf *%2d 耘d -2d%2d: best. ID. -best. PRIORITY.best. CPUTIME;best. ALLTISE?;print fC%2iX2d S2d1*:bsst. STAKTELC-2S:-b5t. 5LXKTIJE: bsst. STATE?;%= =二二華眺分副綬void sain() (int a:charSelect xon 4. .S. = (create *ps *.*qut;char cho-os&l 10.;int chooseZ;be
22、st. ID1;Q_FEADY=(Quus *)zallQC (QguE);擰勘始 化就備,晅窘京列Q_ELOCK= (Queue *) aallo c(5izeof CQueue):InitQneue(QJ?EADY):InitQeue(5JL0CK:i ;pxo_n-ua=5:/rand nunbexprint f廠初始化W逕個數(shù):m: pro_nuai:f or (int i=3; iID=i:t enp_P*CE-PRIORITY=r-and 0 英9 慝機設(shè)迓t enp_PCB-XPUT 3(E=0;tenp-PCB-ALLT3E=randO %4-l;tWH_PB-STHnELXK
23、=。;/開始為 0;拿貌 絕隊列中炭含優(yōu)完校底次高位先杖比皎童空t enp.PCB-BLCCCT DCE=O:tenp_PCB-STATE=l;EnQueue (*S_READYf tenp項CB):rtile(Dro_niEi!=0j Sst.Est_S ec&nd_S tart 0 :/ J設(shè)五款樊氐列中 曼高伉形權(quán)魘次高伉完權(quán)菌5t a-t ti=fePrint ();Select.Fxon.READY0列中藝孝與:伉生彰尹生嚀相關(guān)崇作Pm.R貝():正在運W渲程壕作改戔哥自注程狀態(tài)Print E。的走入就緒叭列Print#*林* * 革w琮理w、*理琮普球*、a );FTlDtf /*
24、1-原機創(chuàng)近善冠(U萸讓*;2.查等當(dāng)前善程意忘-*):if .stTtnr .對m韭 Ew二MionZ:; =0;/束死遂程rrintf (rt 5.骷咎殺花是卷(kiW *4.命咨iB出(S t -1 ,家工);i f .?-S-ueuG :q_EAnY. C1idoeb2); rzzntfC 三鼠發(fā)蜷隊列中二一隆pziDtf (r*-5.不執(zhí)蚱擇作(r.z.nE -二*5 ;室婭Hgc妣妣卻*妣妣電CH律寶京妣市菖京童n rA DbooEEiS );BLES if(BeuE-ue(q_EL ciooEe2 gntfK相已從咀言甌列中刑除nrj c;tipg2;y:M泮粗牌豐杵杵村科*杵柱
25、杵杵杵*,*);izarf .峰 W。 ScbooE el tctioZISEb&SEB2 :t. ezip_PCB-PF. I0E.17=zsn d ()廟機bLeeif Cs txecu (chooEElL SeLectio口 3_. =0)J/由t ecip_F CE- XIPUT MfcO;t ecip_F CE- AJ_LTrMfcra=nd 0 實L;p上砒M惺出程序牝);teap_F CE- 蛹 TE WF;EEltf.-J ;t eap_FC-EL0CKrLME=3;traD_PCE-STATE=l;En饑迎歪MYt ea.PCBl ;/新釗速的f flush(5t sin):
26、善程跳入就繕俄列丁 2_nuni:f EtlEXhD&EEl, SEl-iEtifinZll =口;/夸歪W程Pr=_RUN0 ;PTLEtf (所有魏*柜羌或/iT);六、實驗結(jié)果分析1、運行結(jié)果如下當(dāng)前時間片內(nèi)運行進程IP PIBORITV CPUTIftE ILLUME: STARIBLOCK BLOCKTIKE STATE 35132 iflLLIJME3:擋忌個數(shù)次POKIH CPOTinE80STftKIBLMJH B1OCJHI1HE 8TBIE36 i土查看當(dāng)前進程忱割畔1也命號退出-1怛塞隊列0 IP FIEOEII CPIJimEfiLLIllMESIfiMBLaCJK BLOCH I MIE TAIfi662一一憑吼列3)IB PI TORI TV cron HE
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇科版數(shù)學(xué)八年級上冊聽評課記錄《3-3勾股定理的簡單應(yīng)用(1)》
- 湘教版數(shù)學(xué)九年級上冊《2.5一元二次方程的應(yīng)用(1)》聽評課記錄
- 咸寧租賃鋪路鋼板施工方案
- 星球版地理七年級下冊《第九章 全球化與不平衡發(fā)展》聽課評課記錄1
- 渠道砼襯砌施工方案
- 襄陽橋梁隔熱涂料施工方案
- 北師大版歷史七年級上冊第7課《鐵器牛耕引發(fā)的社會變革》聽課評課記錄
- 正規(guī)電動冷庫門施工方案
- 青島版數(shù)學(xué)八年級上冊3.2《分式的約分》聽評課記錄
- 生物醫(yī)療項目管理講座
- TSXDZ 052-2020 煤礦礦圖管理辦法
- GB/T 7631.18-2017潤滑劑、工業(yè)用油和有關(guān)產(chǎn)品(L類)的分類第18部分:Y組(其他應(yīng)用)
- 2022年第六屆【普譯獎】全國大學(xué)生英語翻譯大賽
- GB/T 14258-2003信息技術(shù)自動識別與數(shù)據(jù)采集技術(shù)條碼符號印制質(zhì)量的檢驗
- 政府資金項目(榮譽)申報獎勵辦法
- 最新如何進行隔代教育專業(yè)知識講座課件
- 當(dāng)前警察職務(wù)犯罪的特征、原因及防范,司法制度論文
- 奧特萊斯專題報告(經(jīng)典)-課件
- 《新制度經(jīng)濟學(xué)》配套教學(xué)課件
- 計算機文化基礎(chǔ)單元設(shè)計-windows
- DNA 親子鑒定手冊 模板
評論
0/150
提交評論