操作系統(tǒng)實(shí)驗(yàn)報告實(shí)驗(yàn)一進(jìn)程管理.doc
《操作系統(tǒng)實(shí)驗(yàn)報告實(shí)驗(yàn)一進(jìn)程管理.doc》由會員分享,可在線閱讀,更多相關(guān)《操作系統(tǒng)實(shí)驗(yàn)報告實(shí)驗(yàn)一進(jìn)程管理.doc(9頁珍藏版)》請在匯文網(wǎng)上搜索。
1、實(shí)驗(yàn)一 進(jìn)程管理一、目的進(jìn)程調(diào)度是處理機(jī)管理的核心內(nèi)容。本實(shí)驗(yàn)要求編寫和調(diào)試一個簡單的進(jìn)程調(diào)度程序。通過本實(shí)驗(yàn)加深理解有關(guān)進(jìn)程控制塊、進(jìn)程隊列的概念,并體會和了解進(jìn)程調(diào)度算法的具體實(shí)施辦法。二、實(shí)驗(yàn)內(nèi)容及要求1、設(shè)計進(jìn)程控制塊PCB的結(jié)構(gòu)(PCB結(jié)構(gòu)通常包括以下信息:進(jìn)程名(進(jìn)程ID)、進(jìn)程優(yōu)先數(shù)、輪轉(zhuǎn)時間片、進(jìn)程所占用的CPU時間、進(jìn)程的狀態(tài)、當(dāng)前隊列指針等??筛鶕?jù)實(shí)驗(yàn)的不同,PCB結(jié)構(gòu)的內(nèi)容可以作適當(dāng)?shù)脑鰟h)。為了便于處理,程序中的某進(jìn)程運(yùn)行時間以時間片為單位計算。各進(jìn)程的輪轉(zhuǎn)時間數(shù)以及進(jìn)程需運(yùn)行的時間片數(shù)的初始值均由用戶給定。2、系統(tǒng)資源(r1rw),共有w類,每類數(shù)目為r1rw。隨 機(jī)
2、產(chǎn)生n進(jìn)程Pi(id,s(j,k),t),0=i=n,0=j=m,0=k=dt為總運(yùn)行時間,在運(yùn)行過程中,會隨機(jī)申請新的資源。3、每個進(jìn)程可有三個狀態(tài)(即就緒狀態(tài)W、運(yùn)行狀態(tài)R、等待或阻塞狀態(tài)B),并假設(shè)初始狀態(tài)為就緒狀態(tài)。建立進(jìn)程就緒隊列。4、編制進(jìn)程調(diào)度算法:時間片輪轉(zhuǎn)調(diào)度算法本程序用該算法對n個進(jìn)程進(jìn)行調(diào)度,進(jìn)程每執(zhí)行一次,CPU時間片數(shù)加1,進(jìn)程還需要的時間片數(shù)減1。在調(diào)度算法中,采用固定時間片(即:每執(zhí)行一次進(jìn)程,該進(jìn)程的執(zhí)行時間片數(shù)為已執(zhí)行了1個單位),這時,CPU時間片數(shù)加1,進(jìn)程還需要的時間片數(shù)減1,并排列到就緒隊列的尾上。三、實(shí)驗(yàn)環(huán)境操作系統(tǒng)環(huán)境:Windows系統(tǒng)。編程語言
3、:C#。四、實(shí)驗(yàn)思路和設(shè)計1、程序流程圖對進(jìn)程進(jìn)行初始化,建立就緒隊列、阻塞隊列。Input()觸發(fā)時鐘,調(diào)用時間片輪轉(zhuǎn)調(diào)度算法。runFcfs()取就緒隊列的第一個進(jìn)程,判斷其運(yùn)行的時間片是否達(dá)到所需次數(shù)。如果達(dá)到,則釋放資源如果沒達(dá)到,則運(yùn)行一個時間片。running()輸出就緒隊列和阻塞隊列的信息。outputall()就緒隊列為空?檢查阻塞隊列,對于當(dāng)前資源數(shù)目滿足阻塞隊列的進(jìn)程,由阻塞轉(zhuǎn)入就緒隊列。testblock()檢查是否有新進(jìn)程產(chǎn)生,如果有,則判斷系統(tǒng)資源是否夠用,如果夠用,則分配給該進(jìn)程,插入就緒隊列。如果不夠用,則插入阻塞隊列。testnew()顯示三類資源情況。resc
4、ore()結(jié)束開始是否2、主要程序代碼/PCB結(jié)構(gòu)體struct pcb public int id; /進(jìn)程ID public int ra; /所需資源A的數(shù)量 public int rb; /所需資源B的數(shù)量 public int rc; /所需資源C的數(shù)量 public int ntime; /所需的時間片個數(shù) public int rtime; /已經(jīng)運(yùn)行的時間片個數(shù) public char state; /進(jìn)程狀態(tài),W(等待)、R(運(yùn)行)、B(阻塞) /public int next; ArrayList hready = new ArrayList(); ArrayList hb
5、lock = new ArrayList(); Random random = new Random(); /ArrayList p = new ArrayList(); int m, n, r, a,a1, b,b1, c,c1, h = 0, i = 1, time1Inteval;/m為要模擬的進(jìn)程個數(shù),n為初始化進(jìn)程個數(shù) /r為可隨機(jī)產(chǎn)生的進(jìn)程數(shù)(r=m-n) /a,b,c分別為A,B,C三類資源的總量 /i為進(jìn)城計數(shù),i=1n /h為運(yùn)行的時間片次數(shù),time1Inteval為時間片大?。ê撩耄?對進(jìn)程進(jìn)行初始化,建立就緒數(shù)組、阻塞數(shù)組。public void input()/對進(jìn)程
- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
20 積分
下載 | 加入VIP,下載共享資源 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 操作系統(tǒng)實(shí)驗(yàn)報告 實(shí)驗(yàn)一 進(jìn)程管理 操作系統(tǒng) 實(shí)驗(yàn) 報告 進(jìn)程 管理
鏈接地址:http://zhizhaikeji.com/p-23670514.html