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

下載本文檔

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

文檔簡(jiǎn)介

1、 實(shí) 驗(yàn) 報(bào) 告 課程名稱(chēng) 操作系統(tǒng)實(shí)驗(yàn) 學(xué)生學(xué)院 計(jì)算機(jī)學(xué)院 專(zhuān)業(yè)班級(jí)計(jì)算機(jī)科學(xué)與技術(shù)學(xué) 號(hào) 學(xué)生姓名 指導(dǎo)教師 孫為軍 2015 年 12 月30日實(shí)驗(yàn)一 進(jìn)程調(diào)度一、實(shí)驗(yàn)?zāi)康?編寫(xiě)并調(diào)試一個(gè)模擬的進(jìn)程調(diào)度程序,以加深對(duì)進(jìn)程的概念及進(jìn)程調(diào)度算法的理解二、實(shí)驗(yàn)內(nèi)容1. 采用“短進(jìn)程優(yōu)先”調(diào)度算法對(duì)五個(gè)進(jìn)程進(jìn)行調(diào)度。每個(gè)進(jìn)程有一個(gè)進(jìn)程控制塊( PCB)表示。進(jìn)程控制塊可以包含如下信息:進(jìn)程名、到達(dá)時(shí)間、需要運(yùn)行時(shí)間、已用CPU時(shí)間、進(jìn)程狀態(tài)等等。 2. 每個(gè)進(jìn)程的狀態(tài)可以是就緒 W(Wait)、運(yùn)行R(Run)、或完成F(Finish)三種狀態(tài)之一。 每進(jìn)行一次調(diào)度程序都打印一次運(yùn)行進(jìn)程、就緒

2、隊(duì)列、以及各個(gè)進(jìn)程的 PCB,以便進(jìn)行檢查。重復(fù)以上過(guò)程,直到所要進(jìn)程都完成為止。3、 實(shí)現(xiàn)思路先考慮實(shí)現(xiàn)進(jìn)程調(diào)度所需要的數(shù)據(jù)結(jié)構(gòu),然后根據(jù)所需要的算法進(jìn)行設(shè)計(jì)。四、主要的數(shù)據(jù)結(jié)構(gòu)進(jìn)程控制塊PCB:struct pcb char name10; char state; int ntime; int rtime; struct pcb* link; *ready=NULL,*p; 5、 算法流程圖6、 運(yùn)行與測(cè)試輸入進(jìn)程信息:輸入完畢,顯示當(dāng)前運(yùn)行以及就緒的進(jìn)程:優(yōu)先運(yùn)行短進(jìn)程七、改進(jìn)的方向界面比較難看,可以中文化信息。實(shí)驗(yàn)二 作業(yè)調(diào)度一、 實(shí)驗(yàn)?zāi)康?用高級(jí)語(yǔ)言編寫(xiě)和調(diào)試一個(gè)或多個(gè)作業(yè)調(diào)度的模擬

3、程序,以加深對(duì)作業(yè)調(diào)度算法的理解。二、 實(shí)驗(yàn)內(nèi)容1 寫(xiě)并調(diào)試一個(gè)單道處理系統(tǒng)的作業(yè)等待模擬程序。2 作業(yè)等待算法:分別采用先來(lái)先服務(wù)(FCFS)、響應(yīng)比高者優(yōu)先(HRN)的調(diào)度算法。 3 由于在單道批處理系統(tǒng)中,作業(yè)一投入運(yùn)行,它就占有計(jì)算機(jī)的一切資源直到作業(yè)完成為止,因此調(diào)度作業(yè)時(shí)不必考慮它所需要的資源是否得到滿(mǎn)足,它所占用的 CPU時(shí)限等因素。4 每個(gè)作業(yè)由一個(gè)作業(yè)控制塊JCB表示,JCB可以包含如下信息:作業(yè)名、提交時(shí)間、所需的運(yùn)行時(shí)間、所需的資源、作業(yè)狀態(tài)、鏈指針等等。作業(yè)的狀態(tài)可以是等待W(Wait)、運(yùn)行R(Run)和完成F(Finish)三種狀態(tài)之一。每個(gè)作業(yè)的最初狀態(tài)總是等待W

4、。5 對(duì)每種調(diào)度算法都要求打印每個(gè)作業(yè)開(kāi)始運(yùn)行時(shí)刻、完成時(shí)刻、周轉(zhuǎn)時(shí)間、帶權(quán)周轉(zhuǎn)時(shí)間,以及這組作業(yè)的平均周轉(zhuǎn)時(shí)間及帶權(quán)平均周轉(zhuǎn)時(shí)間。3、 實(shí)現(xiàn)思路首先根據(jù)題目的要求,先設(shè)想出作業(yè)調(diào)度所需的數(shù)據(jù)結(jié)構(gòu),包括題目中的作業(yè)名、提交時(shí)間、所需的運(yùn)行時(shí)間、所需的資源、作業(yè)狀態(tài)、鏈指針以及在作業(yè)運(yùn)行完成后需要現(xiàn)實(shí)的信息包括開(kāi)始運(yùn)行時(shí)刻、完成時(shí)刻、周轉(zhuǎn)時(shí)間、帶權(quán)周轉(zhuǎn)時(shí)間。在完成數(shù)據(jù)結(jié)構(gòu)的構(gòu)造后,在對(duì)每一個(gè)模塊進(jìn)行編寫(xiě)。在作業(yè)調(diào)度中,與實(shí)驗(yàn)一的進(jìn)程調(diào)度有所不同的是需要增加一個(gè)總體的變量,運(yùn)行的時(shí)間。在本實(shí)驗(yàn)中需要實(shí)現(xiàn)兩種不同的算法,所以這也需要特別去考慮。4、 主要的數(shù)據(jù)結(jié)構(gòu)作業(yè)控制塊jcbstruct jcb

5、 char name10; int tjtime; int kstime; int ntime; int nresource; float super; int ftime; float zztime; float dqtime; char state; struct jcb *link;*ready=NULL,*p,*q;五、算法流程圖6、 運(yùn)行與測(cè)試運(yùn)行程序后首先選擇一個(gè)算法:首先先選擇先來(lái)先服務(wù)算法,輸入作業(yè)數(shù)據(jù)后,顯示各個(gè)作業(yè),并顯示開(kāi)始運(yùn)行時(shí)刻、完成時(shí)刻、周轉(zhuǎn)時(shí)間、帶權(quán)周轉(zhuǎn)時(shí)間:運(yùn)行了三次后,可以看出目前的算法是先來(lái)先服務(wù)算法:所有作業(yè)運(yùn)行結(jié)束后,顯示平均周轉(zhuǎn)時(shí)間以及平均帶權(quán)周轉(zhuǎn)時(shí)間

6、:現(xiàn)在選擇響應(yīng)比高者優(yōu)先算法,并輸入一組新數(shù)據(jù)后顯示:運(yùn)行一次后,由于C的相應(yīng)比高于B,所以先運(yùn)行:完成運(yùn)行后顯示相應(yīng)的數(shù)據(jù):七、改進(jìn)的方向界面可以改進(jìn)成圖形界面,可以實(shí)現(xiàn)將運(yùn)行完的作業(yè)保留下來(lái)并且在其運(yùn)行狀態(tài)改為F的功能,還可以實(shí)現(xiàn)在所有作業(yè)運(yùn)行完畢后將所有作業(yè)的相關(guān)數(shù)據(jù)集合成一張簡(jiǎn)單的表的功能。實(shí)驗(yàn)三 動(dòng)態(tài)分區(qū)分配方式的模擬1、實(shí)驗(yàn)?zāi)康?了解動(dòng)態(tài)分區(qū)分配方式中的數(shù)據(jù)結(jié)構(gòu)和分配算法,并進(jìn)一步加深對(duì)動(dòng)態(tài)分區(qū)存儲(chǔ)管理方式及其實(shí)現(xiàn)過(guò)程的理解2、實(shí)驗(yàn)內(nèi)容1. 用C語(yǔ)言分別實(shí)現(xiàn)采用首次適應(yīng)算法和最佳適應(yīng)算法的動(dòng)態(tài)分區(qū)分配過(guò)程和回收過(guò)程。其中,空閑分區(qū)通過(guò)空閑分區(qū)鏈(表)來(lái)管理;在進(jìn)行內(nèi)存分配時(shí),系統(tǒng)優(yōu)

7、先使用空閑區(qū)低端的空間。2. 假設(shè)初始狀態(tài)下,可用的內(nèi)存空間為640KB,并有下列的請(qǐng)求序列:作業(yè)1申請(qǐng)130KB作業(yè)2申請(qǐng)60KB作業(yè)3申請(qǐng)100KB作業(yè)2釋放60KB作業(yè)4申請(qǐng)200KB作業(yè)3釋放100KB作業(yè)1釋放130KB作業(yè)5申請(qǐng)140KB作業(yè)6申請(qǐng)60KB作業(yè)7申請(qǐng)50KB作業(yè)8申請(qǐng)60KB 請(qǐng)分別采用首次適應(yīng)算法和最佳適應(yīng)算法進(jìn)行內(nèi)存的分配和回收,要求每次分配和回收后顯示出空閑內(nèi)存分區(qū)鏈的情況。三、實(shí)現(xiàn)思路使用雙向鏈表來(lái)表示存儲(chǔ)空間,整題的總體思路在于操作該鏈表,只是在分配空間需要考慮不同的算法實(shí)現(xiàn)。4、 主要的數(shù)據(jù)結(jié)構(gòu)空閑區(qū)說(shuō)明表結(jié)構(gòu)typedef struct FreeAin

8、t NUM;long size;long address;int state;ElemType;雙向鏈表存儲(chǔ)結(jié)構(gòu)typedef struct NLNodeElemType data;struct NLNode *prior;struct NLNode *next;NLNode,*NLinkList;五、算法流程圖6、 運(yùn)行與測(cè)試運(yùn)行程序,顯示選擇兩種不同算法的界面:選擇首次適應(yīng)算法,直接顯示當(dāng)前的分配情況以及有兩個(gè)分配回收內(nèi)存的功能:根據(jù)題目要求輸入相應(yīng)的請(qǐng)求序列:選擇最佳適應(yīng)算法,再次輸入題目要求的作業(yè)請(qǐng)求序列:七、改進(jìn)的方向界面可以改進(jìn)成圖形界面,增加對(duì)主存剩余地址的輸出,增加更多種的內(nèi)存動(dòng)態(tài)分配的算法以及對(duì)內(nèi)存操作的功能。實(shí)驗(yàn)四 多級(jí)反饋調(diào)度隊(duì)列調(diào)度算法一、實(shí)驗(yàn)內(nèi)容用高級(jí)語(yǔ)言實(shí)現(xiàn)多級(jí)調(diào)度,調(diào)度算法自由選擇。本實(shí)驗(yàn)選擇兩道處理系統(tǒng),相對(duì)應(yīng)的算法包括:作業(yè)調(diào)度使用先來(lái)先服務(wù)算法,進(jìn)程調(diào)度使用短進(jìn)程優(yōu)先算法。二、實(shí)現(xiàn)思路根據(jù)前面的實(shí)驗(yàn)一以及實(shí)驗(yàn)二,結(jié)合經(jīng)驗(yàn)設(shè)計(jì)。3、 主要的數(shù)據(jù)結(jié)構(gòu)進(jìn)程控制塊pcbstruct pcb char state;作業(yè)控制塊jcbstruct jcb char name10; int tjtime; int ntime; char state; struct pcb *l; struct jcb *link;*ready=NULL,*p,*

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論