操作系統(tǒng)課程設(shè)計(jì)(進(jìn)程管理)_第1頁
操作系統(tǒng)課程設(shè)計(jì)(進(jìn)程管理)_第2頁
操作系統(tǒng)課程設(shè)計(jì)(進(jìn)程管理)_第3頁
操作系統(tǒng)課程設(shè)計(jì)(進(jìn)程管理)_第4頁
操作系統(tǒng)課程設(shè)計(jì)(進(jìn)程管理)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、操作系統(tǒng)課程設(shè)計(jì)報(bào)竹專 業(yè):班 級:姓 名:號:指導(dǎo)老師:精品操作系統(tǒng)課程設(shè)計(jì)任務(wù)書目(任選一個(gè)題目)1 模擬進(jìn)程管理2模擬處理機(jī)調(diào)度3模擬存儲器管理4模擬文件系統(tǒng)5模擬磁盤調(diào)度二、設(shè)計(jì)目的和要求1 設(shè)計(jì)目的操作系統(tǒng)原理課程設(shè)計(jì)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)實(shí)踐性環(huán)節(jié)二一,是學(xué) 習(xí)完操作系統(tǒng)原理課程后進(jìn)行的一次較全面的綜合練習(xí)。其目的在于加深對 操作系統(tǒng)的理論、方法和基礎(chǔ)知識的理解,拿握操作系統(tǒng)結(jié)構(gòu)、實(shí)現(xiàn)機(jī)理和各種 典型算法,系統(tǒng)地了解操作系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)思路,培養(yǎng)學(xué)生的系統(tǒng)設(shè)計(jì)能力, 并了解操作系統(tǒng)的發(fā)展動(dòng)向和趨勢。2基本要求:選擇課程設(shè)計(jì)題目中的一個(gè)課題,獨(dú)立完成。良好的溝通和合作能力充分運(yùn)用前序

2、課所學(xué)的軟件工程、程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)等相關(guān)知識(4)充分運(yùn)用調(diào)試和排錯(cuò)技術(shù)簡單測試驅(qū)動(dòng)模塊和樁模塊的編寫(6)査閱相關(guān)資料,自學(xué)具體課題中涉及到的新知識。課題完成后必須按要求提交課程設(shè)計(jì)報(bào)告,格式規(guī)范,內(nèi)容詳實(shí)。三、設(shè)計(jì)內(nèi)容及步驟1根據(jù)設(shè)計(jì)題目的要求,充分地分析和理解問題,明確問題要求做什么。2根據(jù)實(shí)現(xiàn)的功能,劃分岀合理的模塊,明確模塊間的關(guān)系。3編程實(shí)現(xiàn)所設(shè)計(jì)的模塊。4程序調(diào)試與測試。采用自底向上,分模塊進(jìn)行,即先調(diào)試低層函數(shù)。能夠 熟練掌握調(diào)試工具的各種功能,設(shè)計(jì)測試數(shù)據(jù)確定疑點(diǎn),通過修改程序來證實(shí)它 或繞過它。調(diào)試正確后,認(rèn)真整理源程序&其注釋,形成格式和風(fēng)格良好的源程 序清單和結(jié)果;5

3、結(jié)果分析。程序運(yùn)行結(jié)杲包括正確的輸入及其輸出結(jié)果和含有錯(cuò)誤的輸入 及其輸出結(jié)杲。6.編寫課程設(shè)計(jì)報(bào)告;設(shè)計(jì)報(bào)告和實(shí)驗(yàn)報(bào)告要求:A4紙和實(shí)驗(yàn)報(bào)告冊,詳細(xì)設(shè)計(jì)部分主要敘述本 人的工作內(nèi)容設(shè)計(jì)報(bào)告的格式:封面(題目、指導(dǎo)教帥、專業(yè)、班級、姓名、學(xué)號)(2)設(shè)計(jì)任務(wù)書目錄(4)需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)(含主要代碼)調(diào)試分析、測試結(jié)果用戶使用說明(9)附錄或參考資料四、進(jìn)度安排設(shè)計(jì)在第四學(xué)期的第1-18周(共18課時(shí))進(jìn)行,時(shí)間安排如下:片號內(nèi)容時(shí)間(課時(shí))1系統(tǒng)分析22設(shè)計(jì)斗3編碼、測試104驗(yàn)收2合計(jì)18五、成績評定辦法成績分為優(yōu)(A)、良(E)、中(C)、及格(D)、不及格(E)五個(gè)等級。 其中設(shè)

4、計(jì)表現(xiàn)占30%,驗(yàn)收40%,設(shè)計(jì)報(bào)告占30%。1設(shè)計(jì)表現(xiàn):教師可依據(jù)學(xué)生使用實(shí)驗(yàn)環(huán)境的能力、觀察和分析實(shí)驗(yàn)現(xiàn)象的 能力、實(shí)驗(yàn)結(jié)果和數(shù)據(jù)的正確性以及學(xué)生的課堂紀(jì)律、實(shí)驗(yàn)態(tài)度、保持實(shí)驗(yàn)室衛(wèi) 生等方面的表現(xiàn)進(jìn)行綜合考核。2驗(yàn)收:要求學(xué)生演示設(shè)計(jì)的程序,講解設(shè)計(jì)思路、方法、解決的主要問題, 教師根據(jù)具體情況向每個(gè)學(xué)生提問2至3個(gè)問題。3設(shè)計(jì)報(bào)告:學(xué)生設(shè)計(jì)后應(yīng)按時(shí)完成設(shè)計(jì)報(bào)告和實(shí)驗(yàn)報(bào)告。要求:內(nèi)容充實(shí)、寫作規(guī)范、項(xiàng)目填寫正確完整、書面整潔等。目錄一、需求分析61. 進(jìn)一步理解進(jìn)程的基本概念62. 加強(qiáng)進(jìn)程管理的設(shè)計(jì)及算法63. 觀察和管理進(jìn)程6二、概要設(shè)計(jì)61.實(shí)驗(yàn)原理62. 數(shù)據(jù)結(jié)構(gòu)63. 算法描述6

5、4. 算法流程圖7三、詳細(xì)設(shè)計(jì)81.源程序代碼8四、調(diào)試分析及測試結(jié)果 15五、用戶及用說明17六、附錄或參考資料17一、需求分析1 進(jìn)一步理解進(jìn)程的基本概念。2 .加強(qiáng)進(jìn)程管理中主要數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)及進(jìn)程調(diào)度算法。3觀察和管理進(jìn)程一一系統(tǒng)在運(yùn)行過程中可顯示或打印各迸程的狀態(tài)尺有 關(guān)參數(shù)的變化情況。二、概要設(shè)計(jì)1實(shí)驗(yàn)原理定義PCB的數(shù)據(jù)結(jié)構(gòu),用鏈表的形式管理迸程,采用多飯反饋隊(duì)列調(diào)度的算法模擬進(jìn)程的控制,最終完成有創(chuàng)建、撤銷、調(diào)度、阻塞、喚醒進(jìn)程等功能。2.數(shù)據(jù)結(jié)構(gòu)類:class qucucnodcclass queue函數(shù):void enqueue( char &item);char dequ

6、euef);void dcl(char item);void display0;inv find(char item);int isumptyO3算法描述1- 1、創(chuàng)建進(jìn)程,根據(jù)進(jìn)程的順序依次放入就緒隊(duì)列。2- 1、執(zhí)行進(jìn)程管理系統(tǒng)將就緒隊(duì)列中的第一個(gè)進(jìn)程調(diào)入運(yùn)行隊(duì)列;2-2、將阻塞隊(duì)列中進(jìn)程調(diào)入就緒隊(duì)列;2-3、封鎖進(jìn)程管理系統(tǒng)將就緒隊(duì)列中的第一個(gè)進(jìn)程調(diào)入阻塞隊(duì)列;2-4、結(jié)束進(jìn)程一 理系統(tǒng)撤銷所選進(jìn)程;2-5、結(jié)束程序。4.算法流程圖三、詳細(xì)設(shè)計(jì)1源程序代碼 #includcclass qucucnodcfriend class queue;private:char data;qucucn

7、odc * link;qucucnodc (char d=0,qucuciiodc * 1 二NULL): data(d),link(l) ;class queuepublic:qucuc():rcar(NU LL),fn)nt(NU LL);qucucQ;void cnqucuc( char &ilrm);char dcqucucO;void dcl(char item);void displayO;int find(char item);int iscmptrOrciurn Front二二NULL; private:qucucnodc *front,*rcar;; qucuc:r-qucu

8、c()qucucnodc * p;whilc(fr()nt!=NULL)p=fr()nt;fr()nt=fn)nv-link;dclctc p;void qucuc:cnqucuc(char &itcm)if(fr()nt=NULL)front=rcar=n qucucnodc(itcm,NULL); else rcar=rcar-link=nc- qucucnodctcmNULL);char qucuc:dcqucuc()qucucnodc *p=front;char f=pdata;&Qni:二Fr()nt-link;delete p;return f;void qucuc:display

9、Oqucucnodc *p;p= front;whilc(p!=NULL)coutdalaH;p=p-liiik;coul,NULL,;qucuc:find(char item) qucucnodcw= front;M:whilc(w!=NU LL)if(itcm=w-dala) return 1 ;brcak;else w=w-link;goto M;if(w=NULL) return 0;void qucuc:dcl( char item) qucucnodc *q,*b;q=front;whilc(qb=q;q=qif(q=front) fr()nt=fronv-link; delete

10、 q;else if(q=rcar) rcar=b;rcar-link=NULL;dclctc q; else b-liilk=q-liilk; delete q;void mainf)ini n;char a;couin-操作系統(tǒng)之迸程管理模擬系統(tǒng)(先來先服務(wù)算法)n,rcndl;queue execute,ready,clog;/執(zhí)行,就緒,阻塞couin-請用戶輸入進(jìn)程名及其到達(dá)epu的順序(結(jié)束迸程數(shù)請輸入x) nHn;if(n=l)if(!cxccutc.iscmpU- 0)coutf-已經(jīng)有進(jìn)程在執(zhí)行!,此操作不能執(zhí)行r;char w;coutw;if(w=,#r)gc)to L;

11、else goto E;elseif(!rcady.iscmptyO)a=rcady.dcqucucO;if(a!=r)qucuc(a);goto L;else goto L;else if(n=2)if(!clog.iscmptrO)a=ck)g.dcqucuc 0; if(a!=r)qucuc(a);goto L;else goto L;else if(n=3)if(!exccutc.iscmpt-O)a=cxccutc.dcqucuc 0; if(a!=r) ck)gxiiqucuc(a);goto L;else goto L;else if(n=4)couinn請輸入要結(jié)束的進(jìn)程名:“

12、; cina;if(cxccutc.find (a) | | ready.find (a) | | clog.find (a) if(cxccutc.find(a)execute.dcl(a);else if(rcady.find(a)ready.dcl(a);if(clog.find(a)clog.del(a);coutn結(jié)束進(jìn)程成功! nendl;goto L;elsecoulM沒有此進(jìn)程y Vendl;goto L;L:if(n=l | | n二二21 | n二=31 | n二二4) coutvv” 執(zhí)行隊(duì)列V Vendl;cxccutc.displayO;coutcndl;coutM

13、就緒隊(duì)列 ”V Vendl;rcady.displayO;coutcndl; coutM 阻塞隊(duì)列V Vendl;ck)g.displayO;c()utNULL就緒隊(duì)列b-c-d-e-f-NULL阻塞隊(duì)列NULL請(學(xué)號)用戶姓名)選擇操作丄、執(zhí)行進(jìn)程2.將阻塞隊(duì)列中進(jìn)程調(diào)入就緒隊(duì)列3、封鎖進(jìn)程4、纟吉東進(jìn)程5、退出程序選負(fù)2執(zhí)行隊(duì)列a-NULL就緒隊(duì)列b-c-d-e-f-NULL阻塞隊(duì)列NULL請(學(xué)號)用戶(姓名)選擇操作3丄、執(zhí)行進(jìn)程2、將阻塞隊(duì)列中進(jìn)程調(diào)入就緒隊(duì)列13、封鎖逬程4、結(jié)束進(jìn)程丄5、退岀程序3選項(xiàng);3執(zhí)行隊(duì)列NULL就緒隊(duì)列fe-c-d-e-f-NULL阻塞隊(duì)列a-NULL請(學(xué)號用戶姓名)選擇操作1丄、執(zhí)行進(jìn)程2、將阻塞隊(duì)列中進(jìn)程調(diào)入就緒隊(duì)列J3、封鎖進(jìn)程4、結(jié)東逬程15、退岀程序3選項(xiàng):4請輸入要結(jié)束的進(jìn)程名,d結(jié)東進(jìn)程成功!執(zhí)行隊(duì)列NULL就緒隊(duì)列b-c-e-f-NULL阻塞隊(duì)列a-NULL請學(xué)號)用戶(姓名)選擇操作31,執(zhí)行進(jìn)程久將阻塞隊(duì)列中進(jìn)程調(diào)入就緒隊(duì)列13、封鎖進(jìn)程4,結(jié)束進(jìn)程1,丄“退出程序1選頂:5Press any key to continue五、用戶使用說明用戶通過VC+即可運(yùn)行改程序。需說明的是主函數(shù)是實(shí)現(xiàn)進(jìn)程管理的入 口,在入口處需輸入進(jìn)程倍稱,然后輸入進(jìn)程的狀態(tài)選項(xiàng),如果完畢后,則通 過相應(yīng)的調(diào)度算法進(jìn)行進(jìn)程機(jī)的調(diào)度,同時(shí)也將結(jié)

溫馨提示

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

評論

0/150

提交評論