操作系統(tǒng)課程設(shè)計完整報告已給老師驗收成功_第1頁
操作系統(tǒng)課程設(shè)計完整報告已給老師驗收成功_第2頁
操作系統(tǒng)課程設(shè)計完整報告已給老師驗收成功_第3頁
操作系統(tǒng)課程設(shè)計完整報告已給老師驗收成功_第4頁
操作系統(tǒng)課程設(shè)計完整報告已給老師驗收成功_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機科學技術(shù)學院操作系統(tǒng)原理課程設(shè)計報告題 目:進程管理系統(tǒng)專 業(yè):班 級:姓 名:學 號:指導(dǎo)老師:年 月 日《操作系統(tǒng)原理》課程設(shè)計任務(wù)書一、課程設(shè)計題目(任選一個題目)模擬進程管理模擬處理機調(diào)度模擬存儲器管理模擬文件系統(tǒng)模擬磁盤調(diào)度二、設(shè)計目的和要求設(shè)計目的《操作系統(tǒng)原理》課程設(shè)計是網(wǎng)絡(luò)工程專業(yè)實踐性環(huán)節(jié)之一,是學習完《操作系統(tǒng)原理》課程后進行的一次較全面的綜合練習。其目的在于加深對操作系統(tǒng)的理論、方法和基礎(chǔ)知識的理解,掌握操作系統(tǒng)結(jié)構(gòu)、實現(xiàn)機理和各種典型算法,系統(tǒng)地了解操作系統(tǒng)的設(shè)計和實現(xiàn)思路,培養(yǎng)學生的系統(tǒng)設(shè)計能力,并了解操作系統(tǒng)的發(fā)展動向和趨勢。基本要求:選擇課程設(shè)計題目中的一個課題,獨立完成。良好的溝通和合作能力充分運用前序課所學的軟件工程、程序設(shè)計、數(shù)據(jù)結(jié)構(gòu)等相關(guān)知識充分運用調(diào)試和排錯技術(shù)簡單測試驅(qū)動模塊和樁模塊的編寫查閱相關(guān)資料,自學具體課題中涉及到的新知識。課題完成后必須按要求提交課程設(shè)計報告,格式規(guī)范,內(nèi)容詳實。三、設(shè)計內(nèi)容及步驟根據(jù)設(shè)計題目的要求,充分地分析和理解問題,明確問題要求做什么。根據(jù)實現(xiàn)的功能,劃分出合理的模塊,明確模塊間的關(guān)系。編程實現(xiàn)所設(shè)計的模塊。程序調(diào)試與測試。采用自底向上,分模塊進行,即先調(diào)試低層函數(shù)。能夠熟練掌握調(diào)試工具的各種功能,設(shè)計測試數(shù)據(jù)確定疑點,通過修改程序來證實它或繞過它。調(diào)試正確后,認真整理源程序及其注釋,形成格式和風格良好的源程序清單和結(jié)果;結(jié)果分析。程序運行結(jié)果包括正確的輸入及其輸出結(jié)果和含有錯誤的輸入及其輸出結(jié)果。編寫課程設(shè)計報告;設(shè)計報告要求:A4紙,詳細設(shè)計部分主要敘述本人的工作內(nèi)容設(shè)計報告的格式:封面(題目、指導(dǎo)教師、專業(yè)、班級、姓名、學號)設(shè)計任務(wù)書目錄需求分析概要設(shè)計詳細設(shè)計(含主要代碼)調(diào)試分析、測試結(jié)果用戶使用說明附錄或參考資料四、進度安排設(shè)計在學期的第15、16周進行,時間安排如下:序號內(nèi)容時間(天)1系統(tǒng)分析12設(shè)計33編碼、測試54驗收1合計10五、成績評定辦法成績分為優(yōu)(A)、良(B)、中(C)、及格(D)、不及格(E)五個等級。其中設(shè)計表現(xiàn)占30%,驗收40%,設(shè)計報告占30%。設(shè)計表現(xiàn):教師可依據(jù)學生使用實驗環(huán)境的能力、觀察和分析實驗現(xiàn)象的能力、實驗結(jié)果和數(shù)據(jù)的正確性以及學生的課堂紀律、實驗態(tài)度、保持實驗室衛(wèi)生等方面的表現(xiàn)進行綜合考核。驗收:要求學生演示設(shè)計的程序,講解設(shè)計思路、方法、解決的主要問題,教師根據(jù)具體情況向每個學生提問2至3個問題。設(shè)計報告:學生設(shè)計后應(yīng)按時完成設(shè)計報告。要求:內(nèi)容充實、寫作規(guī)范、項目填寫正確完整、書面整潔等。目錄一、 需求分析?????????????????? 6進一步理解進程的基本概念??????????6加強進程管理的設(shè)計及算法??????????6觀察和管理進程???????????????6二、概要設(shè)計??????????????????61.實驗原理??????????????????62.數(shù)據(jù)結(jié)構(gòu)??????????????????63.算法描述??????????????????64.算法流程圖?????????????????7三、詳細設(shè)計??????????????????81.源程序代碼?????????????????8四、調(diào)試分析及測試結(jié)果????????????15五、用戶及用說明???????????????17六、附錄或參考資料??????????????17一、需求分析進一步理解進程的基本概念。加強進程管理中主要數(shù)據(jù)結(jié)構(gòu)的設(shè)計及進程調(diào)度算法。觀察和管理進程——系統(tǒng)在運行過程中可顯示或打印各進程的狀態(tài)及有關(guān)參數(shù)的變化情況。二、概要設(shè)計1.實驗原理定義PCB的數(shù)據(jù)結(jié)構(gòu),用鏈表的形式管理進程,采用多級反饋隊列調(diào)度的算法模擬進程的控制,最終完成有創(chuàng)建、撤銷、調(diào)度、阻塞、喚醒進程等功能。2.數(shù)據(jù)結(jié)構(gòu)類:classqueuenodeclassqueue函數(shù):voidenqueue(char&item);chardequeue();voiddel(charitem);voiddisplay();intfind(charitem);intisempty()算法描述1-1、創(chuàng)建進程,根據(jù)進程的順序依次放入就緒隊列。2-1、執(zhí)行進程——管理系統(tǒng)將就緒隊列中的第一個進程調(diào)入運行隊列;2-2、將阻塞隊列中進程調(diào)入就緒隊列;2-3、封鎖進程——管理系統(tǒng)將就緒隊列中的第一個進程調(diào)入阻塞隊列;2-4、結(jié)束進程——管理系統(tǒng)撤銷所選進程;2-5、結(jié)束程序。算法流程圖開輸入進程12345執(zhí)將阻封結(jié)退行塞隊鎖束出進列的進進操輸入要進行進行所選進程Y N選擇5選1且進程正在 N執(zhí)行Y操作不能Y選擇#N結(jié)三、詳細設(shè)計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)之進程管理模擬系統(tǒng)(先來先服務(wù)算法)------------]\n"<<endl;queueexecute,ready,clog; // 執(zhí)行,就緒,阻塞cout<<"\n[------- 請用戶輸入進程名及其到達 cpu的順序(結(jié)束進程數(shù)請輸入 x)------]\n"<<endl;charr;r='x';for(inti=0;;i++){chare[100];cout<<"輸入進程名:"<<"";cin>>e[i];if(e[i]!=r)ready.enqueue(e[i]);elsebreak;}A:cout<<"\n[------------ 請(學號)用戶(姓名)選擇操作 ------------]\n";cout<<"\n[1 、執(zhí)行進程??2、將阻塞隊列中進程調(diào)入就緒隊列??? ]\n";cout<<"\n[3 、封鎖進程??????? 4、結(jié)束進程 ???????]\n";cout<<"\n[5 、退出程序??????????????????? ]\n 選項:cin>>n;if(n==1){

";if(!execute.isempty()){cout<<" 已經(jīng)有進程在執(zhí)行!,此操作不能執(zhí)行\(zhòng)n";charw;cout<<endl;cout<<" 如果要繼續(xù)請輸入#;如果要退出按其它任意鍵 "<<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 請輸入要結(jié)束的進程名: ";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é)束進程成功!\n"<<endl;gotoL;}elsecout<<" 沒有此進程"<<endl;gotoL;L:if(n==1||n==2||n==3||n==4){cout<<" 執(zhí)行隊列"<<endl;execute.display();cout<<endl;cout<<" 就緒隊列"<<endl;ready.display();cout<<endl;cout<<" 阻塞隊列"<<endl;clog.display();cout<<endl;gotoA;}elseif(n==5);else{cout<<"\n 你的輸入錯誤!\n";gotoA;}}E:;}四、調(diào)試分析及測試結(jié)果五、用戶使用說明用戶通過VC++即可運行改程序。需說明的是主函數(shù)是實現(xiàn)進程管理的入口,在入口處需輸入進程名稱,然后輸入進

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論