資源描述:
《處理機調(diào)度算法的實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、實用標準文案實驗報告學院(系)名稱:計算機與通信工程學院姓名學號專業(yè)班級實驗項目實驗一:處理機調(diào)度算法的實現(xiàn)課程名稱操作系統(tǒng)課程代碼0668036實驗時間2011年10月25日2011年10月28日2011年11月01日實驗地點軟件實驗室7-215批改意見成績教師簽字:【實驗環(huán)境】Windows操作系統(tǒng)環(huán)境下的個人微機【實驗?zāi)康摹客ㄟ^編寫程序?qū)崿F(xiàn)進程高優(yōu)先權(quán)優(yōu)先調(diào)度算法,使學生進一步掌握進程調(diào)度的概念和算法,加深對處理機分配的理解?!緦嶒炓蟆?.詳細描述實驗設(shè)計思想、程序結(jié)構(gòu)及各模塊設(shè)計思路;2.詳細描述程序所用數(shù)據(jù)結(jié)構(gòu)及算法;3.明確給出測試用例和實驗
2、結(jié)果;4.為增加程序可讀性,在程序中進行適當注釋說明;5.認真進行實驗總結(jié),包括:設(shè)計中遇到的問題、解決方法與收獲等;6.實驗報告撰寫要求結(jié)構(gòu)清晰、描述準確邏輯性強;7.實驗過程中,同學之間可以進行討論互相提高,但絕對禁止抄襲?!緦嶒瀮?nèi)容】1.設(shè)定系統(tǒng)中有五個進程,每一個進程用一個進程控制塊表示。2.輸入每個進程的“優(yōu)先數(shù)”和“要求運行時間”。3.為了調(diào)度方便,將五個進程按給定的優(yōu)先數(shù)從大到小連成就緒隊列。用一單元指出隊列首進程,用指針指出隊列的連接情況。4.處理機調(diào)度總是選隊首進程運行。采用動態(tài)優(yōu)先數(shù)算法,進程每運行一次優(yōu)先數(shù)就減“1”,同時將運行時間減
3、“1”。5.若某進程運行時間為零,則將其狀態(tài)置為“結(jié)束”,且退出隊列。6.運行所設(shè)計程序,顯示或打印逐次被選中進程的進程名,以及進程控制塊的動態(tài)變化過程。精彩文檔實用標準文案【實驗步驟、過程】1、程序流程圖2、程序代碼//Deal_ProcessDlg.cpp:implementationfile//#include"stdafx.h"#include"Deal_Process.h"#include"Deal_ProcessDlg.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_
4、FILE[]=__FILE__;#endif///////////////////////////////////////////////////////////////////////////////CAboutDlgdialogusedforAppAbout精彩文檔實用標準文案#defineN5//定義進程控制塊typedefstructPCB{intnum;intprior;intrequest_time;charstate;}PCB;//定義全局變量PCB*pcb=newPCB[5];intcount=0,_count=0;classCAboutD
5、lg:publicCDialog{public:CAboutDlg();//DialogData//{{AFX_DATA(CAboutDlg)enum{IDD=IDD_ABOUTBOX};//}}AFX_DATA//ClassWizardgeneratedvirtualfunctionoverrides//{{AFX_VIRTUAL(CAboutDlg)protected:virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDVsupport//}}AFX_VIRTUAL//Implementationp
6、rotected://{{AFX_MSG(CAboutDlg)//}}AFX_MSGDECLARE_MESSAGE_MAP()};CAboutDlg::CAboutDlg():CDialog(CAboutDlg::IDD){//{{AFX_DATA_INIT(CAboutDlg)//}}AFX_DATA_INIT}voidCAboutDlg::DoDataExchange(CDataExchange*pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CAboutDlg)精彩文檔實用標準文案//}}AFX_
7、DATA_MAP}BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)//{{AFX_MSG_MAP(CAboutDlg)//Nomessagehandlers//}}AFX_MSG_MAPEND_MESSAGE_MAP()///////////////////////////////////////////////////////////////////////////////CDeal_ProcessDlgdialogCDeal_ProcessDlg::CDeal_ProcessDlg(CWnd*pParent/*=NULL*/):
8、CDialog(CDeal_ProcessDlg::IDD,pPa