華師操作系統(tǒng)實(shí)驗(yàn)一進(jìn)程調(diào)度的設(shè)計(jì)與實(shí)現(xiàn)實(shí)驗(yàn)報(bào)告樣本.doc
《華師操作系統(tǒng)實(shí)驗(yàn)一進(jìn)程調(diào)度的設(shè)計(jì)與實(shí)現(xiàn)實(shí)驗(yàn)報(bào)告樣本.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《華師操作系統(tǒng)實(shí)驗(yàn)一進(jìn)程調(diào)度的設(shè)計(jì)與實(shí)現(xiàn)實(shí)驗(yàn)報(bào)告樣本.doc(13頁(yè)珍藏版)》請(qǐng)?jiān)趨R文網(wǎng)上搜索。
1、院 系:計(jì) 算 機(jī) 學(xué) 院實(shí)驗(yàn)課程:操作系統(tǒng)實(shí)驗(yàn)實(shí)驗(yàn)項(xiàng)目:進(jìn)程調(diào)度設(shè)計(jì)與實(shí)現(xiàn)指引教師:馮剛開(kāi)學(xué)時(shí)間:第2學(xué)期專 業(yè):網(wǎng)絡(luò)工程班 級(jí):11本6班學(xué) 生:盧偉柱學(xué) 號(hào):2100175華南師范大學(xué)教務(wù)處一、 實(shí)驗(yàn)?zāi)?. 綜合應(yīng)用下列知識(shí)點(diǎn)設(shè)計(jì)并實(shí)現(xiàn)操作系統(tǒng)進(jìn)程調(diào)度:鄰接表,布爾數(shù)組,非阻塞輸入,圖形顧客界面GUI ,進(jìn)程控制塊,進(jìn)程狀態(tài)轉(zhuǎn)換,多級(jí)反饋隊(duì)列進(jìn)程調(diào)度算法。 2. 加深理解操作系統(tǒng)進(jìn)程調(diào)度過(guò)程。3. 加深理解多級(jí)反饋隊(duì)列進(jìn)程調(diào)度算法。二、 實(shí)驗(yàn)內(nèi)容與重要設(shè)計(jì)思想1. 采用一種熟悉語(yǔ)言,如C、PASCAL或C+等,編制程序,最佳核心代碼采用C/C+ ,界面設(shè)計(jì)可采用其他自己喜歡語(yǔ)言。2. 采
2、用多級(jí)反饋隊(duì)列調(diào)度算法進(jìn)行進(jìn)程調(diào)度。3. 每個(gè)進(jìn)程相應(yīng)一種PCB。在 PCB 中涉及進(jìn)程標(biāo)記符pid、進(jìn)程狀態(tài)標(biāo)記status、進(jìn)程優(yōu)先級(jí)priority、進(jìn)程隊(duì)列指針 next 和表達(dá)進(jìn)程生命周期數(shù)據(jù)項(xiàng)life (在實(shí)際系統(tǒng)中不涉及該項(xiàng))。4. 創(chuàng)立進(jìn)程時(shí)即創(chuàng)立一種PCB ,各個(gè)進(jìn)程pid 都是唯一,pid 是在1到100 范疇內(nèi)一種整數(shù)。可以創(chuàng)立一種下標(biāo)為1 到100 布爾數(shù)組,“真”表達(dá)下標(biāo)相應(yīng)進(jìn)程標(biāo)記號(hào)是空閑,“假”表達(dá)下標(biāo)相應(yīng)進(jìn)程標(biāo)記號(hào)已分派給某個(gè)進(jìn)程。 5. 進(jìn)程狀態(tài)status 取值為“就緒ready”或“運(yùn)營(yíng)run ”,剛創(chuàng)立時(shí),狀態(tài)為“ready”。被進(jìn)程調(diào)度程序選中后變?yōu)椤?/p>
3、run ”。6. 進(jìn)程優(yōu)先級(jí)priority 是0 到49范疇內(nèi)一種隨機(jī)整數(shù)。7. 進(jìn)程生命周期life 是1 到5 范疇內(nèi)一種隨機(jī)整數(shù)。8. 初始化時(shí),創(chuàng)立一種鄰接表,包括50個(gè)就緒隊(duì)列,各就緒隊(duì)列進(jìn)程優(yōu)先級(jí)priority 分別是0 到49。9. 為了模仿顧客動(dòng)態(tài)提交任務(wù)過(guò)程,規(guī)定動(dòng)態(tài)創(chuàng)立進(jìn)程。進(jìn)入進(jìn)程調(diào)度循環(huán)后,每次按ctrl+f即動(dòng)態(tài)創(chuàng)立一種進(jìn)程,然后將該 PCB 插入就緒隊(duì)列中。按ctrl+q退出進(jìn)程調(diào)度循環(huán)。10. 在進(jìn)程調(diào)度循環(huán)中,每次選取優(yōu)先級(jí)最大就緒進(jìn)程來(lái)執(zhí)行。將其狀態(tài)從就緒變?yōu)檫\(yùn)營(yíng),通過(guò)延時(shí)一段時(shí)間來(lái)模仿該進(jìn)程執(zhí)行一種時(shí)間片過(guò)程,然后優(yōu)先級(jí)減半,生命周期減一。設(shè)計(jì)圖形顧客界
4、面GUI ,在窗口中顯示該進(jìn)程和其她所有進(jìn)程PCB 內(nèi)容。如果將該運(yùn)營(yíng)進(jìn)程生命周期不為0 ,則重新把它變?yōu)榫途w狀態(tài),插入就緒隊(duì)列中;否則該進(jìn)程執(zhí)行完畢,撤除其PCB 。以上為一次進(jìn)程調(diào)度循環(huán)。三、 d程序重要流程圖四、 實(shí)驗(yàn)心得1. 通過(guò)計(jì)數(shù)器KillTimer()、ONTIMER()以及在計(jì)數(shù)器中對(duì)函數(shù)run()設(shè)計(jì)并在ONTIMER()中對(duì)run函數(shù)調(diào)用從而完畢多級(jí)反饋隊(duì)列運(yùn)營(yíng)模仿。2. 使用MFC設(shè)計(jì)界面,可以通過(guò)按鈕和快捷鍵進(jìn)成有關(guān)操作,還充分運(yùn)用了模板進(jìn)行簡(jiǎn)化設(shè)計(jì)鄰接表。3. 實(shí)驗(yàn)中最重要是在自己無(wú)法解決問(wèn)題時(shí)候,向同窗、教師等請(qǐng)教以及運(yùn)用好網(wǎng)絡(luò)資源。4. 在設(shè)計(jì)時(shí)候,要盡量考慮到顧
5、客一切也許操作,提高程序顧客和諧性。五、 重要源程序清單重要程序MyScheuleDlg.cpp代碼:/ MyScheduleDlg.cpp :implementation file/#include stdafx.h#include MySchedule.h#include MyScheduleDlg.h#include #include #include #include PCB.husing namespace std;#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#end
6、ifbool flag100;queue q50;/ CMyScheduleDlg dialogCMyScheduleDlg:CMyScheduleDlg(CWnd* pParent /*=NULL*/):CDialog(CMyScheduleDlg:IDD,pParent)/AFX_DATA_INIT(CMyScheduleDlg)/ NOTE:the ClassWizard will add member initialization here/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIc
- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
8 積分
下載 | 加入VIP,下載共享資源 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 操作系統(tǒng) 實(shí)驗(yàn) 進(jìn)程 調(diào)度 設(shè)計(jì) 實(shí)現(xiàn) 報(bào)告 樣本
鏈接地址:http://zhizhaikeji.com/p-25929952.html