版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)科學(xué)技術(shù)學(xué)院操作系統(tǒng)原理課程設(shè)計(jì)報(bào)告題 目:進(jìn)程管理系統(tǒng)專 業(yè):班 級(jí):姓 名:學(xué) 號(hào):指導(dǎo)老師:年 月 日《操作系統(tǒng)原理》課程設(shè)計(jì)任務(wù)書一、課程設(shè)計(jì)題目(任選一個(gè)題目)模擬進(jìn)程管理模擬處理機(jī)調(diào)度模擬存儲(chǔ)器管理模擬文件系統(tǒng)模擬磁盤調(diào)度二、設(shè)計(jì)目的和要求設(shè)計(jì)目的《操作系統(tǒng)原理》課程設(shè)計(jì)是網(wǎng)絡(luò)工程專業(yè)實(shí)踐性環(huán)節(jié)之一,是學(xué)習(xí)完《操作系統(tǒng)原理》課程后進(jìn)行的一次較全面的綜合練習(xí)。其目的在于加深對(duì)操作系統(tǒng)的理論、方法和基礎(chǔ)知識(shí)的理解,掌握操作系統(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)向和趨勢(shì)?;疽螅哼x擇課程設(shè)計(jì)題目中的一個(gè)課題,獨(dú)立完成。良好的溝通和合作能力充分運(yùn)用前序課所學(xué)的軟件工程、程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)等相關(guān)知識(shí)充分運(yùn)用調(diào)試和排錯(cuò)技術(shù)簡(jiǎn)單測(cè)試驅(qū)動(dòng)模塊和樁模塊的編寫查閱相關(guān)資料,自學(xué)具體課題中涉及到的新知識(shí)。課題完成后必須按要求提交課程設(shè)計(jì)報(bào)告,格式規(guī)范,內(nèi)容詳實(shí)。三、設(shè)計(jì)內(nèi)容及步驟根據(jù)設(shè)計(jì)題目的要求,充分地分析和理解問題,明確問題要求做什么。根據(jù)實(shí)現(xiàn)的功能,劃分出合理的模塊,明確模塊間的關(guān)系。編程實(shí)現(xiàn)所設(shè)計(jì)的模塊。程序調(diào)試與測(cè)試。采用自底向上,分模塊進(jìn)行,即先調(diào)試低層函數(shù)。能夠熟練掌握調(diào)試工具的各種功能,設(shè)計(jì)測(cè)試數(shù)據(jù)確定疑點(diǎn),通過修改程序來證實(shí)它或繞過它。調(diào)試正確后,認(rèn)真整理源程序及其注釋,形成格式和風(fēng)格良好的源程序清單和結(jié)果;結(jié)果分析。程序運(yùn)行結(jié)果包括正確的輸入及其輸出結(jié)果和含有錯(cuò)誤的輸入及其輸出結(jié)果。編寫課程設(shè)計(jì)報(bào)告;設(shè)計(jì)報(bào)告要求:A4紙,詳細(xì)設(shè)計(jì)部分主要敘述本人的工作內(nèi)容設(shè)計(jì)報(bào)告的格式:封面(題目、指導(dǎo)教師、專業(yè)、班級(jí)、姓名、學(xué)號(hào))設(shè)計(jì)任務(wù)書目錄需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)(含主要代碼)調(diào)試分析、測(cè)試結(jié)果用戶使用說明附錄或參考資料四、進(jìn)度安排設(shè)計(jì)在學(xué)期的第15、16周進(jìn)行,時(shí)間安排如下:序號(hào)內(nèi)容時(shí)間(天)1系統(tǒng)分析12設(shè)計(jì)33編碼、測(cè)試54驗(yàn)收1合計(jì)10五、成績(jī)?cè)u(píng)定辦法成績(jī)分為優(yōu)(A)、良(B)、中(C)、及格(D)、不及格(E)五個(gè)等級(jí)。其中設(shè)計(jì)表現(xiàn)占30%,驗(yàn)收40%,設(shè)計(jì)報(bào)告占30%。設(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)行綜合考核。驗(yàn)收:要求學(xué)生演示設(shè)計(jì)的程序,講解設(shè)計(jì)思路、方法、解決的主要問題,教師根據(jù)具體情況向每個(gè)學(xué)生提問2至3個(gè)問題。設(shè)計(jì)報(bào)告:學(xué)生設(shè)計(jì)后應(yīng)按時(shí)完成設(shè)計(jì)報(bào)告。要求:內(nèi)容充實(shí)、寫作規(guī)范、項(xiàng)目填寫正確完整、書面整潔等。目錄一、 需求分析?????????????????? 6進(jìn)一步理解進(jìn)程的基本概念??????????6加強(qiáng)進(jìn)程管理的設(shè)計(jì)及算法??????????6觀察和管理進(jìn)程???????????????6二、概要設(shè)計(jì)??????????????????61.實(shí)驗(yàn)原理??????????????????62.?dāng)?shù)據(jù)結(jié)構(gòu)??????????????????63.算法描述??????????????????64.算法流程圖?????????????????7三、詳細(xì)設(shè)計(jì)??????????????????81.源程序代碼?????????????????8四、調(diào)試分析及測(cè)試結(jié)果????????????15五、用戶及用說明???????????????17六、附錄或參考資料??????????????17一、需求分析進(jìn)一步理解進(jìn)程的基本概念。加強(qiáng)進(jìn)程管理中主要數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)及進(jìn)程調(diào)度算法。觀察和管理進(jìn)程——系統(tǒng)在運(yùn)行過程中可顯示或打印各進(jìn)程的狀態(tài)及有關(guān)參數(shù)的變化情況。二、概要設(shè)計(jì)1.實(shí)驗(yàn)原理定義PCB的數(shù)據(jù)結(jié)構(gòu),用鏈表的形式管理進(jìn)程,采用多級(jí)反饋隊(duì)列調(diào)度的算法模擬進(jìn)程的控制,最終完成有創(chuàng)建、撤銷、調(diào)度、阻塞、喚醒進(jìn)程等功能。2.?dāng)?shù)據(jù)結(jié)構(gòu)類:classqueuenodeclassqueue函數(shù):voidenqueue(char&item);chardequeue();voiddel(charitem);voiddisplay();intfind(charitem);intisempty()算法描述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é)束程序。算法流程圖開輸入進(jìn)程12345執(zhí)將阻封結(jié)退行塞隊(duì)鎖束出進(jìn)列的進(jìn)進(jìn)操輸入要進(jìn)行進(jìn)行所選進(jìn)程Y N選擇5選1且進(jìn)程正在 N執(zhí)行Y操作不能Y選擇#N結(jié)三、詳細(xì)設(shè)計(jì)1.源程序代碼#include<iostream.h>classqueuenode{friendclassqueue;private:chardata;queuenode*link;queuenode(chard=0,queuenode*l=NULL):data(d),link(l){}};classqueue{public:queue():rear(NULL),front(NULL){};~queue();voidenqueue(char&item);chardequeue();voiddel(charitem);voiddisplay();intfind(charitem);intisempty(){returnfront==NULL;}private:queuenode*front,*rear;};queue::~queue(){queuenode*p;while(front!=NULL){p=front;front=front->link;deletep;}}voidqueue::enqueue(char&item){if(front==NULL)front=rear=newqueuenode(item,NULL);elserear=rear->link=newqueuenode(item,NULL);}charqueue::dequeue(){queuenode*p=front;charf=p->data;front=front->link;deletep;returnf;}voidqueue::display(){queuenode*p;p=front;while(p!=NULL){cout<<p->data<<"->";p=p->link;}cout<<"NULL";}queue::find(charitem){queuenode*w;w=front;M:while(w!=NULL){if(item==w->data){return1;break;}else{w=w->link;gotoM;}}if(w==NULL)return0;}voidqueue::del(charitem){queuenode*q,*b;q=front;while(q->data!=item){b=q;q=q->link;}if(q==front){front=front->link;deleteq;}elseif(q==rear){rear=b;rear->link=NULL;deleteq;}else{b->link=q->link;deleteq;}}voidmain(){intn;chara;cout<<"\n[----------- 操作系統(tǒng)之進(jìn)程管理模擬系統(tǒng)(先來先服務(wù)算法)------------]\n"<<endl;queueexecute,ready,clog; // 執(zhí)行,就緒,阻塞cout<<"\n[------- 請(qǐng)用戶輸入進(jìn)程名及其到達(dá) cpu的順序(結(jié)束進(jìn)程數(shù)請(qǐng)輸入 x)------]\n"<<endl;charr;r='x';for(inti=0;;i++){chare[100];cout<<"輸入進(jìn)程名:"<<"";cin>>e[i];if(e[i]!=r)ready.enqueue(e[i]);elsebreak;}A:cout<<"\n[------------ 請(qǐng)(學(xué)號(hào))用戶(姓名)選擇操作 ------------]\n";cout<<"\n[1 、執(zhí)行進(jìn)程??2、將阻塞隊(duì)列中進(jìn)程調(diào)入就緒隊(duì)列??? ]\n";cout<<"\n[3 、封鎖進(jìn)程??????? 4、結(jié)束進(jìn)程 ???????]\n";cout<<"\n[5 、退出程序??????????????????? ]\n 選項(xiàng):cin>>n;if(n==1){
";if(!execute.isempty()){cout<<" 已經(jīng)有進(jìn)程在執(zhí)行!,此操作不能執(zhí)行\(zhòng)n";charw;cout<<endl;cout<<" 如果要繼續(xù)請(qǐng)輸入#;如果要退出按其它任意鍵 "<<endl;cout<<" 要選擇的操作:";cin>>w;if(w=='#')gotoL;elsegotoE;}else{if(!ready.isempty()){a=ready.dequeue();if(a!=r)execute.enqueue(a);gotoL;}elsegotoL;}}elseif(n==2){if(!clog.isempty()){a=clog.dequeue();if(a!=r)ready.enqueue(a);gotoL;}elsegotoL;}elseif(n==3){if(!execute.isempty()){a=execute.dequeue();if(a!=r)clog.enqueue(a);gotoL;}elsegotoL;}elseif(n==4){cout<<"\n 請(qǐng)輸入要結(jié)束的進(jìn)程名: ";cin>>a;if(execute.find(a)||ready.find(a)||clog.find(a)){if(execute.find(a)){execute.del(a);}elseif(ready.find(a)){ready.del(a);}if(clog.find(a)){clog.del(a);}cout<<"\n 結(jié)束進(jìn)程成功!\n"<<endl;gotoL;}elsecout<<" 沒有此進(jìn)程"<<endl;gotoL;L:if(n==1||n==2||n==3||n==4){cout<<" 執(zhí)行隊(duì)列"<<endl;execute.display();cout<<endl;cout<<" 就緒隊(duì)列"<<endl;ready.display();cout<<endl;cout<<" 阻塞隊(duì)列"<<endl;clog.display();cout<<endl;gotoA;}elseif(n==5);else{cout<<"\n 你的輸入錯(cuò)誤!\n";gotoA;}}E:;}四、調(diào)試分析及測(cè)試結(jié)果五、用戶使用說明用戶通過VC++即可運(yùn)行改程序。需說明的是主函數(shù)是實(shí)現(xiàn)進(jìn)程管理的入口,在入口處需輸入進(jìn)程名稱,然后輸入進(jìn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)一年級(jí)加減法口算100道A4直接打印
- 小學(xué)五年級(jí)數(shù)學(xué)上期小數(shù)點(diǎn)乘除法計(jì)算習(xí)題
- 中國中學(xué)生心理健康量表共60項(xiàng)-分為10個(gè)因子-各因子所包
- 企業(yè)財(cái)務(wù)報(bào)表附注
- 《華為管理之道教材》課件
- 電火焊工必知必會(huì)知識(shí)點(diǎn)
- 食品行業(yè)食品安全檢測(cè)總結(jié)
- 健身行業(yè)的個(gè)人發(fā)展規(guī)劃計(jì)劃
- 印刷行業(yè)印刷排版培訓(xùn)總結(jié)
- 紡織業(yè)人事工作總結(jié)
- 《廣東省普通高中學(xué)生檔案》模板
- GB/T 41120-2021無損檢測(cè)非鐵磁性金屬材料脈沖渦流檢測(cè)
- GB/T 2-2016緊固件外螺紋零件末端
- GB/T 12467.5-2009金屬材料熔焊質(zhì)量要求第5部分:滿足質(zhì)量要求應(yīng)依據(jù)的標(biāo)準(zhǔn)文件
- GB 17740-1999地震震級(jí)的規(guī)定
- 安全生產(chǎn)事故舉報(bào)獎(jiǎng)勵(lì)制度
- 冠心病健康教育完整版課件
- 國家開放大學(xué)《理工英語1》單元自測(cè)8試題答案
- 重癥患者的容量管理課件
- 期貨基礎(chǔ)知識(shí)TXT
- 《尖利的物體會(huì)傷人》安全教育課件
評(píng)論
0/150
提交評(píng)論