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

下載本文檔

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

文檔簡介

1、操作系統(tǒng)課程設計報告題 目:專 業(yè):班 級:姓 名:學 號:指導老師:年 月 日12 / 18操作系統(tǒng)課程設計任務書、課程設計題目(任選一個題目)1. 模擬進程管理2. 模擬處理機調(diào)度3. 模擬存儲器管理4. 模擬文件系統(tǒng)5. 模擬磁盤調(diào)度二、設計目的和要求1. 設計目的操作系統(tǒng)原理課程設計是計算機科學與技術專業(yè)實踐性環(huán)節(jié)之一,是學 習完操作系統(tǒng)原理課程后進行的一次較全面的綜合練習。 其目的在丁加深對 操作系統(tǒng)的理論、方法和基礎知識的理解,掌握操作系統(tǒng)結(jié)構、實現(xiàn)機理和各種 典型算法,系統(tǒng)地了解操作系統(tǒng)的設計和實現(xiàn)思路,培養(yǎng)學生的系統(tǒng)設計能力, 并了解操作系統(tǒng)的發(fā)展動向和趨勢。2. 基本要求:(

2、1)選擇課程設計題目中的一個課題,獨立完成。良好的溝通和合作能力(3) 充分運用前序課所學的軟件工程、程序設計、數(shù)據(jù)結(jié)構等相關知識(4) 充分運用調(diào)試和排錯技術(5) 簡單測試驅(qū)動模塊和樁模塊的編寫(6) 查閱相關資料,自學具體課題中涉及到的新知識。(7) 課題完成后必須按要求提交課程設計報告,格式規(guī)范,內(nèi)容詳實。三、設計內(nèi)容及步驟1. 根據(jù)設計題目的要求,充分地分析和理解問題,明確問題要求做什么。2. 根據(jù)實現(xiàn)的功能,劃分出合理的模塊,明確模塊間的關系。3. 編程實現(xiàn)所設計的模塊。4. 程序調(diào)試與測試。采用自底向上,分模塊進行,即先調(diào)試低層函數(shù)。能夠熟練掌握調(diào)試工具的各種功能,設計測試數(shù)據(jù)確

3、定疑點,通過修改程序來證實它 或繞過它。調(diào)試正確后,認真整理源程序及其注釋,形成格式和風格良好的源程 序活單和結(jié)果;5. 結(jié)果分析。程序運行結(jié)果包括正確的輸入及其輸出結(jié)果和含有錯誤的輸入 及其輸出結(jié)果。6. 編寫課程設計報告;設計報告和實驗報告要求:A4紙和實驗報告冊,詳細設計部分主要敘述本 人的工作內(nèi)容設計報告的格式:(1) 封面(題目、指導教師、專業(yè)、班級、姓名、學號)(2) 設計任務書(3) 目錄(4) 需求分析(5) 概要設計(6) 詳細設計(含主要代碼)(7) 調(diào)試分析、測試結(jié)果(8) 用戶使用說明(9) 附錄或參考資料四、進度安排設計在第四學期的第1-18周(共18課時)進行,時間

4、安排如下:序號內(nèi)容時間(課時)1系統(tǒng)分析22設計43編碼、測試104驗收2合計18五、成績評定辦法成績分為優(yōu)(A)、良(B)、中(C)、及格(D)、不及格(E)五個等級。其 中設計表現(xiàn)占30%驗收40%設計報告占30%1. 設計表現(xiàn):教師可依據(jù)學生使用實驗環(huán)境的能力、觀察和分析實驗現(xiàn)象的 能力、實驗結(jié)果和數(shù)據(jù)的正確性以及學生的課堂紀律、實驗態(tài)度、保持實驗室衛(wèi) 生等方面的表現(xiàn)進行綜合考核。2. 驗收:要求學生演示設計的程序,講解設計思路、方法、解決的主要問題, 教師根據(jù)具體情況向每個學生提問2至3個問題。3. 設計報告:學生設計后應按時完成設計報告和實驗報告。要求:內(nèi)容充實、 寫作規(guī)范、項目填寫

5、正確完整、書面整潔等。目錄一、需求分析 61. 進一步理解進程的基本概念 62. 加強進程管理的設計及算法 63. 觀察和管理進程 6二、概要設計 61. 實驗原理 62. 數(shù)據(jù)結(jié)構 63. 算法描述 64. 算法流程圖 7三、詳細設計 81.源程序代碼 8四、調(diào)試分析及測試結(jié)果 15五、用戶及用說明 17六、附錄或參考資料 17一、需求分析1. 進一步理解進程的基本概念。2. 加強進程管理中主要數(shù)據(jù)結(jié)構的設計及進程調(diào)度算法。3. 觀察和管理進程一一系統(tǒng)在運行過程中可顯示或打印各進程的狀態(tài)及有 關參數(shù)的變化情況。二、概要設計1. 實驗原理定義PCB的數(shù)據(jù)結(jié)構,用鏈表的形式管理進程,采用多級反饋

6、隊列調(diào)度的算 法模擬進程的控制,最終完成有創(chuàng)建、撤銷、調(diào)度、阻塞、喚醒進程等功能。2. 數(shù)據(jù)結(jié)構類:class queuenodeclass queue函數(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ù)進程的順序依次放入就緒隊列。2- 1、執(zhí)行進程一一管理系統(tǒng)將就緒隊列中的第一個進程調(diào)入運行隊列;2-2、將阻塞隊列中進程調(diào)入就緒隊列;2-3、封鎖進程一一管理系統(tǒng)將就緒隊列中的第

7、一個進程調(diào)入阻塞隊列;2-4、結(jié)束進程一一管理系統(tǒng)撤銷所選進程;2-5、結(jié)束程序4. 算法流程圖三、詳細設計1.源程序代碼#include<iostream.h>class queuenode(friend class queue;private:char data;queuenode * link;queuenode (char d=0,queuenode * l=NULL): data(d),link(l)(;class queue(public:queue():rear(NULL),front(NULL)(;queue();void enqueue( char &it

8、em);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

9、,NULL);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"qu

10、eue:find(char item)( queuenode *w;w=front;M:while(w!=NULL)(if(item=w->data)( return 1;break;else( w=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;

11、rear->link=NULL;delete q;else b->link=q->link; delete q; void main()int n;char a;cout<<"n 操作系統(tǒng)之進程管理模擬系統(tǒng)(先來先服務算法)n"<<endl;queue execute,ready,clog; / 執(zhí)行,就緒,阻塞cout<<"n 請用戶輸入進程名及其到達 cpu的順序(結(jié)束進程數(shù)請輸入 x) n"<<endl;char r;r='x'for(int i=0;i+)(char

12、 e100;cout<<"輸入進程名:"<<""cin>>ei;if(ei!=r)ready.enqueue(ei);elsebreak;A: cout<<"n 請(學號)用戶(姓名)選擇操作n"cout<<"n 1、執(zhí)行進程2、將阻塞隊歹0中進程調(diào)入就緒隊歹U n"cout<<"n 3、封鎖進程4、結(jié)束進程 n"cout<<"n 5 、退出程序 n選項:"cin>>n;if(n=

13、1)(if(!execute.isempty ()(cout<<"已經(jīng)有進程在執(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.enqueue(a)

14、;goto L;else goto L;else if(n=2)(if(!clog.isempty()(a=clog.dequeue ();if(a!=r)ready.enqueue(a);13 / 18goto 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é)束的進程名:"cin>>a;if(execute.find (a

15、)|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é)束進程成功! n"<<endl;goto L;elsecout<<" 沒有此進程"<<endl;goto L;L:if(n=l|n=2|n=3|n=4)(cout<<"執(zhí)行隊歹U "<<en

16、dl;execute.display();cout<<endl;cout<<"就緒隊歹U "<<endl;ready.display();cout<<endl;cout<<"阻塞隊歹U "<<endl;clog.display();cout<<endl;goto A;elseif(n=5);else(cout<<"n 你的輸入錯誤! n"goto A;E:;四、調(diào)試分析及測試結(jié)果操作系統(tǒng)之進程管理模擬系統(tǒng)(先來先服務算法)請用戶輸入進程名及

17、其到達CPU的順序(結(jié)束進程數(shù)請輸入X i名名名名名名名 T 汗J耳,JITPJpJpJp - Hrfifififififi進 * TA V Ta * Ta V TA ¥ TA V Ta ¥ Ta 入入入入入入入rH!H!nf18 / 18請(學號)用戶(姓名)選擇操作1E L執(zhí)行進程2、將阻塞隊列中進程調(diào)入就緒隊列1E乳司鎖進程4、結(jié)束進程孔退出程序 1選項:1執(zhí)行隊列a->HULL就緒隊列板->c->d->e->f->HULL忸塞隊列NULL1S (學虧用戶姓名J選擇操作E L執(zhí)行進程2,將阻塞隊列中進程調(diào)入就緒隊列3、封鎖進程4,結(jié)

18、束進程2列L列d-列 .隊UL隊->隊 項行>N緒”塞一尤L FTTI退出程序請(學號)用戶(姓名j選擇.換作E L執(zhí)行進程2、將阻塞隊列中進程調(diào)入就緒隊列r 3、封鎖進程4、結(jié)束進程禮列列2I項行LL緒”E請(學號)用戶(姓名)選擇操作E L執(zhí)行進程2.將阻塞隊列中進程調(diào)入就緒隊列E 3、封鎖進程4、結(jié)束進程t孔退出程序選項:4請輸入要結(jié)束的進程名,d結(jié)束進程成功!執(zhí)行隊列NULL就緒隊列b->c->e->£->NULL阻塞隊列a->NULLE清(學號)用戶(姓名)選擇操作JE L執(zhí)行進程2、將阻塞隊列中進程調(diào)入就緒隊列1i 3,封鎖進程4、結(jié)束進程I瓦退出程序 1選頊I sPress an9 key to continue_五、用戶使用說明用戶通過V

溫馨提示

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

評論

0/150

提交評論