版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 計算機(jī)科學(xué)技術(shù)學(xué)院操作系統(tǒng)原理課程設(shè)計報告題 目:進(jìn)程管理系統(tǒng)專 業(yè): 班 級: 姓 名: 學(xué) 號: 指導(dǎo)老師: 年 月 日操作系統(tǒng)原理課程設(shè)計任務(wù)書一、課程設(shè)計題目(任選一個題目)1.模擬進(jìn)程管理2.模擬處理機(jī)調(diào)度3.模擬存儲器管理4.模擬文件系統(tǒng)5.模擬磁盤調(diào)度二、設(shè)計目的和要求1.設(shè)計目的操作系統(tǒng)原理課程設(shè)計是網(wǎng)絡(luò)工程專業(yè)實踐性環(huán)節(jié)之一,是學(xué)習(xí)完操作系統(tǒng)原理課程后進(jìn)行的一次較全面的綜合練習(xí)。其目的在于加深對操作系統(tǒng)的理論、方法和基礎(chǔ)知識的理解,掌握操作系統(tǒng)結(jié)構(gòu)、實現(xiàn)機(jī)理和各種典型算法,系統(tǒng)地了解操作系統(tǒng)的設(shè)計和實現(xiàn)思路,培養(yǎng)學(xué)生的系統(tǒng)設(shè)計能力,并了解操作系統(tǒng)的發(fā)展動向和趨勢。2.基本要
2、求:(1)選擇課程設(shè)計題目中的一個課題,獨立完成。(2)良好的溝通和合作能力(3)充分運用前序課所學(xué)的軟件工程、程序設(shè)計、數(shù)據(jù)結(jié)構(gòu)等相關(guān)知識(4)充分運用調(diào)試和排錯技術(shù)(5)簡單測試驅(qū)動模塊和樁模塊的編寫 (6)查閱相關(guān)資料,自學(xué)具體課題中涉與到的新知識。(7)課題完成后必須按要求提交課程設(shè)計報告,格式規(guī),容詳實。三、設(shè)計容與步驟1.根據(jù)設(shè)計題目的要求,充分地分析和理解問題,明確問題要求做什么。2.根據(jù)實現(xiàn)的功能,劃分出合理的模塊,明確模塊間的關(guān)系。3.編程實現(xiàn)所設(shè)計的模塊。4.程序調(diào)試與測試。采用自底向上,分模塊進(jìn)行,即先調(diào)試低層函數(shù)。能夠熟練掌握調(diào)試工具的各種功能,設(shè)計測試數(shù)據(jù)確定疑點,通
3、過修改程序來證實它或繞過它。調(diào)試正確后,認(rèn)真整理源程序與其注釋,形成格式和風(fēng)格良好的源程序清單和結(jié)果;5.結(jié)果分析。程序運行結(jié)果包括正確的輸入與其輸出結(jié)果和含有錯誤的輸入與其輸出結(jié)果。6.編寫課程設(shè)計報告;設(shè)計報告要求:A4紙,詳細(xì)設(shè)計部分主要敘述本人的工作容設(shè)計報告的格式:(1)封面(題目、指導(dǎo)教師、專業(yè)、班級、學(xué)號)(2)設(shè)計任務(wù)書(3)目錄(4)需求分析(5)概要設(shè)計(6)詳細(xì)設(shè)計(含主要代碼)(7)調(diào)試分析、測試結(jié)果(8)用戶使用說明(9)附錄或參考資料四、進(jìn)度安排設(shè)計在學(xué)期的第15、16周進(jìn)行,時間安排如下:序號 容時間(天)1系統(tǒng)分析12設(shè)計33編碼、測試54驗收1合計10五、成績
4、評定辦法成績分為優(yōu)(A)、良(B)、中(C)、與格(D)、不與格(E)五個等級。其中設(shè)計表現(xiàn)占30%,驗收40%,設(shè)計報告占30%。1.設(shè)計表現(xiàn):教師可依據(jù)學(xué)生使用實驗環(huán)境的能力、觀察和分析實驗現(xiàn)象的能力、實驗結(jié)果和數(shù)據(jù)的正確性以與學(xué)生的課堂紀(jì)律、實驗態(tài)度、保持實驗室衛(wèi)生等方面的表現(xiàn)進(jìn)行綜合考核。2.驗收:要求學(xué)生演示設(shè)計的程序,講解設(shè)計思路、方法、解決的主要問題,教師根據(jù)具體情況向每個學(xué)生提問2至3個問題。3.設(shè)計報告:學(xué)生設(shè)計后應(yīng)按時完成設(shè)計報告。要求:容充實、寫作規(guī)、項目填寫正確完整、書面整潔等。目錄一、 需求分析61.進(jìn)一步理解進(jìn)程的基本概念 62.加強(qiáng)進(jìn)程管理的設(shè)計與算法 6 3.觀
5、察和管理進(jìn)程 6二、 概要設(shè)計61實驗原理62數(shù)據(jù)結(jié)構(gòu)63. 算法描述64.算法流程圖7三、 詳細(xì)設(shè)計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ìn)程調(diào)度算法。 3.觀察和管理進(jìn)程系統(tǒng)在運行過程中可顯示或打印各進(jìn)程的狀態(tài)與有關(guān)參數(shù)的變化情況。二、概要設(shè)計1實驗原理定義PCB的數(shù)據(jù)結(jié)構(gòu),用鏈表的形式管理進(jìn)程,采用多級反饋隊列調(diào)度的算法模擬進(jìn)程的控制,最終完成有創(chuàng)建、撤銷、調(diào)度、阻塞、喚醒進(jìn)程等功能。2數(shù)據(jù)結(jié)構(gòu)類:class queuenodeclass queue函
6、數(shù):void enqueue( char &item);char dequeue();void del(char item);void display();int find(char item);int isempty()3.算法描述1-1、創(chuàng)建進(jìn)程,根據(jù)進(jìn)程的順序依次放入就緒隊列。2-1、執(zhí)行進(jìn)程管理系統(tǒng)將就緒隊列中的第一個進(jìn)程調(diào)入運行隊列;2-2、將阻塞隊列中進(jìn)程調(diào)入就緒隊列;2-3、封鎖進(jìn)程管理系統(tǒng)將就緒隊列中的第一個進(jìn)程調(diào)入阻塞隊列;2-4、結(jié)束進(jìn)程管理系統(tǒng)撤銷所選進(jìn)程;2-5、結(jié)束程序。4.算法流程圖輸入進(jìn)程信息執(zhí)行進(jìn)程將阻塞隊列的進(jìn)程調(diào)入就緒隊列封鎖進(jìn)程結(jié)束進(jìn)程退出操作輸入
7、要進(jìn)行操作的功能選項12345進(jìn)行所選進(jìn)程操作選1且進(jìn)程正在執(zhí)行Y操作不能執(zhí)行選擇#NNN選擇5YY開始結(jié)束三、詳細(xì)設(shè)計1源程序代碼#include<iostream.h>class queuenodefriend class queue;private:char data;queuenode * link;queuenode (char d=0,queuenode * l=NULL): data(d),link(l);class queuepublic:queue():rear(NULL),front(NULL);queue();void enqueue( char &i
8、tem);char dequeue();void del(char item);void display();int find(char item);int isempty()return front=NULL;private:queuenode *front,*rear;queue:queue()queuenode * p;while(front!=NULL)p=front;front=front->link;delete p;void queue:enqueue(char &item)if(front=NULL)front=rear=new queuenode(item,NU
9、LL);else rear=rear->link=new queuenode(item,NULL);char queue:dequeue()queuenode *p=front; char f=p->data;front=front->link;delete p;return f;void queue:display()queuenode *p;p=front;while(p!=NULL)cout<<p->data<<"->" p=p->link;cout<<"NULL"queue:
10、find(char item) queuenode *w; w=front;M:while(w!=NULL) if(item=w->data) return 1;break; elsew=w->link;goto M;if(w=NULL) return 0;void queue:del( char item) queuenode *q,*b; q=front; while(q->data!=item) b=q;q=q->link; if(q=front) front=front->link; delete q; else if(q=rear) rear=b;rea
11、r->link=NULL;delete q; else b->link=q->link; delete q;void main()int n;char a;cout<<"n-操作系統(tǒng)之進(jìn)程管理模擬系統(tǒng)(先來先服務(wù)算法)-n"<<endl;queue execute,ready,clog; /執(zhí)行,就緒,阻塞cout<<"n-請用戶輸入進(jìn)程名與其到達(dá)cpu的順序(結(jié)束進(jìn)程數(shù)請輸入x)-n"<<endl; char r;r='x'for(int i=0;i+) char e10
12、0;cout<<"輸入進(jìn)程名:"<<" "cin>>ei;if(ei!=r)ready.enqueue(ei);elsebreak;A: cout<<"n -請(學(xué)號)用戶()選擇操作-n" cout<<"n 1、執(zhí)行進(jìn)程2、將阻塞隊列中進(jìn)程調(diào)入就緒隊列n" cout<<"n 3、封鎖進(jìn)程4、結(jié)束進(jìn)程 n" cout<<"n 5、退出程序 n選項: " cin>>n; if(n=1
13、) if(!execute.isempty () cout<<"已經(jīng)有進(jìn)程在執(zhí)行!,此操作不能執(zhí)行n" char w; cout<<endl; cout<<"如果要繼續(xù)請輸入#;如果要退出按其它任意鍵"<<endl; cout<<"要選擇的操作:" cin>>w; if(w='#')goto L; else goto E; else if(!ready.isempty() a=ready.dequeue(); if(a!=r) execute.en
14、queue(a); goto L; else goto L; else if(n=2) if(!clog.isempty() a=clog.dequeue (); if(a!=r) ready.enqueue(a); goto L; else goto L; else if(n=3) if(!execute.isempty() a=execute.dequeue (); if(a!=r) clog.enqueue(a); goto L; else goto L; else if(n=4) cout<<"n請輸入要結(jié)束的進(jìn)程名: " cin>>a; i
15、f(execute.find (a)|ready.find (a)|clog.find (a) if(execute.find(a) execute.del(a); else if(ready.find(a) ready.del(a); if(clog.find(a) clog.del(a); cout<<"n結(jié)束進(jìn)程成功!n"<<endl; goto L; else cout<<"沒有此進(jìn)程"<<endl; goto L; L: if(n=1|n=2|n=3|n=4) cout<<"
16、執(zhí)行隊列"<<endl; execute.display(); cout<<endl; cout<<"就緒隊列"<<endl; ready.display();cout<<endl; cout<<"阻塞隊列"<<endl; clog.display();cout<<endl; goto A; else if(n=5); else cout<<"n你的輸入錯誤!n" goto A; E:; 四、調(diào)試分析與測試結(jié)果五、用戶使用說明用戶通過VC+ 即可運行改程序。需說明的是主函數(shù)是實現(xiàn)進(jì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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度美容院與醫(yī)療美容機(jī)構(gòu)合作合同4篇
- 二零二五年度美容儀器代理售后服務(wù)合同3篇
- 二零二四年度住宅小區(qū)綠化植物租賃與智慧社區(qū)建設(shè)合同3篇
- 二零二五年度物流項目出資轉(zhuǎn)讓投資管理合同4篇
- 二零二五年度農(nóng)業(yè)大棚搭棚工程承包合同4篇
- 二零二四年度信息技術(shù)與服務(wù)合同內(nèi)容2篇
- 二零二五版承臺施工質(zhì)量檢測合同
- 二零二五年度智能溫室大棚租賃服務(wù)合同范本4篇
- 2025年度學(xué)術(shù)論文成果保密與知識產(chǎn)權(quán)保護(hù)協(xié)議4篇
- 二零二五年度環(huán)保設(shè)備供應(yīng)商價格保密與節(jié)能減排合同3篇
- 《集裝箱結(jié)構(gòu)》課件
- 項目績效和獎勵計劃
- 光伏自發(fā)自用項目年用電清單和消納計算表
- 量子計算在醫(yī)學(xué)圖像處理中的潛力
- 阿里商旅整體差旅解決方案
- 浙江天臺歷史文化名城保護(hù)規(guī)劃說明書
- 邏輯思維訓(xùn)練500題
- 實體瘤療效評價標(biāo)準(zhǔn)RECIST-1.1版中文
- 企業(yè)新春茶話會PPT模板
- GB/T 19185-2008交流線路帶電作業(yè)安全距離計算方法
- DIC診治新進(jìn)展課件
評論
0/150
提交評論