操作系統(tǒng)進(jìn)程管理實(shí)驗(yàn)報(bào)告_第1頁(yè)
操作系統(tǒng)進(jìn)程管理實(shí)驗(yàn)報(bào)告_第2頁(yè)
操作系統(tǒng)進(jìn)程管理實(shí)驗(yàn)報(bào)告_第3頁(yè)
操作系統(tǒng)進(jìn)程管理實(shí)驗(yàn)報(bào)告_第4頁(yè)
操作系統(tǒng)進(jìn)程管理實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、*實(shí)驗(yàn)報(bào)告紙計(jì)算機(jī)科學(xué)與工程學(xué)院(1學(xué)號(hào) 姓名*院、系) 網(wǎng)絡(luò)工程 專業(yè)083班 組 操作系統(tǒng)課實(shí)驗(yàn)日期教師評(píng)定實(shí)驗(yàn)一、進(jìn)程管理(3學(xué)時(shí)、必做)、實(shí)驗(yàn)?zāi)康耐ㄟ^實(shí)驗(yàn)使學(xué)生進(jìn)一步了解進(jìn)程、進(jìn)程狀態(tài)、進(jìn)程控制等基本概念?;灸苓_(dá)到下列 具體的目標(biāo):1、理解進(jìn)程PCB的概念,以及PCB如何實(shí)現(xiàn)、如何組織以及管理。2、復(fù)習(xí)數(shù)據(jù)結(jié)構(gòu)中如何對(duì)鏈的操作,包括建鏈、刪除、插入結(jié)點(diǎn)等,來實(shí)現(xiàn)進(jìn)程的管 理。二、實(shí)驗(yàn)內(nèi)容1、 建立一個(gè)結(jié)點(diǎn),即PCB塊包括用戶標(biāo)識(shí)域、狀態(tài)域(執(zhí)行、等待、就緒)、link域。2、 建立三個(gè)隊(duì)列(執(zhí)行隊(duì)列、就緒隊(duì)列、等待隊(duì)列)。3、 根據(jù)進(jìn)程狀態(tài)轉(zhuǎn)換實(shí)現(xiàn)對(duì)三個(gè)隊(duì)列的具體操作。具體的驅(qū)動(dòng)可以

2、采用時(shí)間片算法或 手動(dòng)調(diào)度的形式完成三個(gè)狀態(tài)之間的轉(zhuǎn)換4、用switch選擇語(yǔ)句選擇狀態(tài)。5、 按照自己的設(shè)定能完成所有的狀態(tài)轉(zhuǎn)換的運(yùn)行(包括創(chuàng)建和運(yùn)行結(jié)束)。三、實(shí)驗(yàn)步驟1、復(fù)習(xí)進(jìn)程管理三狀態(tài)模型部分內(nèi)容。2、預(yù)習(xí) C+ Builder或 VC+ Delphi、JBuilder線程編程。3、運(yùn)行示例程序,進(jìn)一步明確實(shí)驗(yàn)要求??梢圆捎每刂婆_(tái)模式或窗口模式。4、上機(jī)編程、調(diào)試程序。5、完成實(shí)驗(yàn)報(bào)告。四、實(shí)驗(yàn)過程1、進(jìn)程管理三狀態(tài)模型部分內(nèi)容進(jìn)程從因創(chuàng)建而產(chǎn)生直至撤銷而消亡的整個(gè)生命周期中,有時(shí)占用處理器執(zhí)行,有時(shí)雖然可以運(yùn)行但分不到處理器,有時(shí)雖然處理器空閑但因等待某個(gè)事件發(fā)生而無法執(zhí)行,這一切

3、都說明進(jìn)程和程序不同,進(jìn)程是活動(dòng)的且有狀態(tài)變化,狀態(tài)及狀態(tài)之間的轉(zhuǎn)換體現(xiàn)進(jìn)程的動(dòng)態(tài)性,為了便于系統(tǒng)管理,一般來說,按照進(jìn)程在執(zhí)行過程中的不同情況至少要 定義三種進(jìn)程狀態(tài)。(1) 運(yùn)行態(tài):進(jìn)程占用處理器運(yùn)行的狀態(tài)。(2) 就緒態(tài):進(jìn)程具備運(yùn)行條件,等待系統(tǒng)分配處理器以便起運(yùn)行的狀態(tài)。(3) 等待態(tài):進(jìn)程不具備運(yùn)行條件,正在等待某個(gè)時(shí)間完成的狀態(tài)。2、程序設(shè)計(jì)環(huán)境表1程序設(shè)計(jì)環(huán)境表設(shè)備名稱詳細(xì)要求處理器英特爾 Core i5 M 460 內(nèi)存容量2 GB操作系統(tǒng)Windows 7旗艦版32位3、程序界面設(shè)計(jì)本實(shí)驗(yàn)的目的不在界面的創(chuàng)新,所以界面的設(shè)計(jì)模仿示例程序二,程序界面設(shè)計(jì)如下:圖1.程序界面設(shè)

4、計(jì)界面中的元件包括:標(biāo)題、隊(duì)列管理、進(jìn)程狀態(tài)轉(zhuǎn)換操作、進(jìn)稈轉(zhuǎn)換示意圖、作者 版本信息。各元件的設(shè)計(jì)具體如下:1)a)b)2)3)1)標(biāo)題:藍(lán)底白字“進(jìn)程管理演示”,其部分代碼如下:話勵(lì)J6程的客宇:清錨入進(jìn)程名進(jìn)程軻換示噫圖蟲門CPUK撲|片列public static final String TITLE=進(jìn)程管理演示開始if o.getAgeo HH 0)宀 ezame()+ =IEAfonvAhfm-v-)-)e-se 宀Jmeouf ht_meout - ezame()+= 圧厚輻翡AronvAhfmv-二().sefss-(D(o)-s)e-se 宀etAgeo.getAge(TI)

5、-if O.getAgeo HH 0)宀 ezame()+ =IEAfonvAhfm-v-)-e-se if ()Hnu=)宀ezame()+ =4tAfonvAhfm-v-)-眺別管理進(jìn)程離緒m列:進(jìn)程抑行趴列:進(jìn)程陰褰U肪恥圖2. 進(jìn)程隊(duì)列管理實(shí)時(shí)更新進(jìn)程就緒隊(duì)列、進(jìn)程執(zhí)行隊(duì)列、進(jìn)程阻塞隊(duì)列,及進(jìn)程執(zhí)行隊(duì)列中進(jìn)程N(yùn)ode(模擬PCB塊)的更新。7:age表示進(jìn)程所需的剩余的時(shí)間片,Node,state表狀態(tài)域(執(zhí)行、等待、就緒)next用于在進(jìn)程隊(duì)列Linka) 隊(duì)列:存放于包中,具體接口信息如下圖:wvuw.ysq. com. uti I & Mode 眄匸:int name j Stn

6、nga next: Nodea state ifttc Node(String)0 addNcdefNode) : . o d dfrleteNod-(Mode. String) : cid0 gtAgQ ; irrt gethJameO : stwww.ys q. com.utild Link=: Node add(Node) : void add(String) : gid addErtdfNode : /oid delete(StringJ: cid deleteRootQ . ai de gtNodeByNdme(String) : Node 算 getRoctQ N 7 e prin

7、tO : String search (String ; bcolean9 etR口: .oid圖3. 接口信息b) 進(jìn)程:存放于包中,具體接口信息如下圖 其中name表示進(jìn)程名中,指向下一個(gè)進(jìn)程結(jié)點(diǎn)5、進(jìn)程狀態(tài)轉(zhuǎn)換操作在進(jìn)程名輸入域中輸入已存在的進(jìn)程名 ingJ getNextQ No irt printNodefl StringO removeDead(Node) void searchNode(String) : :aoo.5 e a rch Nod e By a me(5 tri ng i : Ju de0 setAge(int): -fcid軫 setNsmefStririgl :

8、voi d eetNCNodeJ : .a d setStatefirrt) vnic圖4. 接口信息(不存在時(shí)點(diǎn)擊任何按鈕不產(chǎn)生狀態(tài)轉(zhuǎn)換,并提示“ 不存在正在*的進(jìn)程* ”)a)如果該進(jìn)程在執(zhí)行隊(duì)列(處于運(yùn)行態(tài))中,則單擊“執(zhí)行 就緒(a)”按鈕可以把進(jìn)程切換到就緒態(tài),并提示“進(jìn)程*:執(zhí)行一 就緒”信息。具體的操作如下:Node node =();取岀該進(jìn)程(n ull);斷進(jìn)程鏈(0);改進(jìn)程狀態(tài)(no de);入就緒隊(duì)列(n ull);執(zhí)行隊(duì)列中移除其中,切斷進(jìn)程鏈的操作是相當(dāng)重要的,在以下的每次狀態(tài)轉(zhuǎn)換都需要執(zhí)行此操作。 如果沒有及時(shí)切斷進(jìn)程鏈,將會(huì)導(dǎo)致結(jié)點(diǎn)的next中仍然殘存著其他信

9、息,這樣會(huì)在不斷的進(jìn)程切換時(shí),鏈表變成循環(huán)鏈表,將導(dǎo)致程序發(fā)生致命錯(cuò)誤。b)單擊“執(zhí)行一阻塞(s)”按鈕可以把進(jìn)程切換到等待態(tài),并提“進(jìn)程* :執(zhí)行一阻塞” 信息。具體的操作如下:Node node =();(n ull);(3);(no de);(n ull) ;C)如果該進(jìn)程在執(zhí)行隊(duì)列中,則單擊“就緒一執(zhí)行(d)”按鈕可以把進(jìn)程切換到執(zhí)行態(tài), 并提“進(jìn)程* :就緒一執(zhí)行”信息。具體的操作如下:把正在執(zhí)行的進(jìn)程放入就緒隊(duì)列Node node =();(n ull);(0);(no de);(n ull);就緒隊(duì)列中的進(jìn)程放入執(zhí)行隊(duì)列node = (processName);(processName);(n ull);(1);(no de);d緒態(tài),并提“進(jìn)程* :阻塞一就緒”信息。具體的操作如下:Node node = (processName);(processName);(n ull);(0);(no de);四、實(shí)驗(yàn)心得本實(shí)驗(yàn)?zāi)M了進(jìn)程的管理,包括新建進(jìn)程、進(jìn)程狀態(tài)轉(zhuǎn)換等操作,并且還獨(dú)立設(shè)計(jì) 了專用的鏈表以

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論