版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、師大學計算機信息工程學院學生實驗報告專業(yè) _計算機科學與技術(shù)正大班 林軼锽 學號 _1408091036 日期 _ 2016.06.15課程名稱操作系統(tǒng)實驗室名稱X-4313實驗名稱處理器管理 - 優(yōu)先數(shù)調(diào)度算法指導教師旭升成績1、 實驗目的進程調(diào)度 :在多道程序或者多任務(wù)系統(tǒng)中, 同時處于就緒態(tài)的進程有若干個。 在單處理器系統(tǒng)中, 處于運行態(tài)的進 程最多只有一個,也就是說能運行的進程數(shù)遠小于就緒態(tài)進程個數(shù),所以必須進行進程調(diào)度,按照一定的調(diào)度算法, 即依照某種原則或策略從就緒態(tài)隊列中選中進程占用處理器。 本實驗要求學生設(shè)計一個優(yōu)先數(shù)調(diào)度算法來模擬實現(xiàn)處 理器調(diào)度過程。2、 實驗原理和容 實驗
2、容:1、進程的優(yōu)先數(shù)由用戶自己指定, 并且優(yōu)先數(shù)值越小, 優(yōu)先級越高, 調(diào)度時,總是選擇優(yōu)先級高的進程占用 CPU; 估計運行時間可由設(shè)計者任意指定一個時間值;2、根據(jù)需要,設(shè)計一個隊首指針指向 5 個進程( 進程名為 A,B,C,D,E) 組成的就緒隊列中的第一個進程, 再設(shè)一個 當前指針指向當前正在運行的進程。3、進程調(diào)度時,采用靜態(tài)優(yōu)先調(diào)度。4、用非搶占式方式分配處理器。5、要求所設(shè)計的程序必須有輸出語句,用于輸出進程調(diào)度和運行一次后進程的變化。比如:每次被選中的進程 名,就緒隊列中進程的排隊情況,進程控制塊的動態(tài)變化。實驗步驟:1. 建立進程控制塊:輸入進程相應(yīng)信息(進程名,進程狀態(tài),
3、估計運行時間和進程的優(yōu)先數(shù)) 。2. 創(chuàng)建進程鏈表,并按照優(yōu)先數(shù)進行排序輸出。3. 按照優(yōu)先數(shù)高者優(yōu)先占用 CPU的原則,進行進程調(diào)度,輸出當前正在執(zhí)行的進程控制塊信息及在就緒隊列中 的進程信息。3、 程序及運行結(jié)果(或?qū)嶒灁?shù)據(jù)記錄及分析)4、具體實現(xiàn)代碼 : #include #include typedef struct node char p_name20; / int p_priority; / int p_needTime; / int p_runTime; / char p_state; / struct node* next; / PCB; typedef PCB* list;
4、void HighPriority(); void RoundRobin(); void Information(); / char Choice(); / list SortList(PCB* HL); int main() Information(); char choice = Choice(); switch(choice) case 1: default:進程名進程的優(yōu)先數(shù) 估計運行的時間 進程運行時間 進程的狀態(tài)指針進入演示程序 演示最高優(yōu)先數(shù)優(yōu)先算法system(cls); HighPriority(); break; break;system(pause); return 0;
5、 void Information() printf( 按回車鍵進入演示程序 ); getchar(); system(cls);char Choice() printf(nn);printf( 1. 演示最高優(yōu)先數(shù)優(yōu)先算法。 ); printf( 按 1 繼續(xù) :);char ch = getchar(); return ch;system(cls); void HighPriority()int i = 0;int cases = 0;list processes, pt,p,psorted;list ap = NULL; /ap 指向 pt 的前一個節(jié)點/pt 作為臨時節(jié)點來創(chuàng)建鏈表,使
6、用 for 語句,限制進程數(shù)為 5 個 processes = pt = (list)malloc(sizeof(PCB);for (; i != 5; +i) p = (list)malloc(sizeof(PCB); printf(進程號 No.%d: n, i);printf(輸入進程名: );scanf(%s, p-p_name);printf(輸入進程優(yōu)先數(shù): );scanf(%d, &p-p_priority);printf(輸入進程運行時間: );scanf(%d, &p-p needTime);p-p_runTime = 0; p-p_state = W; p-next = N
7、ULL; pt-next = p; pt = p;printf(nn);getchar(); / 接受回車/processes 作為頭結(jié)點來存儲鏈表processes = processes-next;psorted = processes;while (1)+cases;pt = processes;/ 對鏈表按照優(yōu)先數(shù)排序/psorted 用來存放排序后的鏈表 psorted = SortList(psorted);printf(The execute number: %dnn, cases); printf(* 當前正在運行的進程是: %sn, psorted-p_name); psor
8、ted-p_state = R;printf(qname state super ndtime runtimen); printf(%st%ct%dt%dt%dtnn, psorted-p_name, psorted-p_state, psorted-p_priority, psorted-p_needTime, psorted-p_runTime);pt-p_state = W; psorted-p_runTime+; psorted-p_priority-;printf(* 當前就緒狀態(tài)的隊列為: nn);/pt 指向已經(jīng)排序的隊列pt-p_priority,pt = psorted-ne
9、xt; while (pt != NULL) printf(qname state super ndtime runtimen); printf(%st%ct%dt%dt%dtnn, pt-p_name, pt-p_state, pt-p_needTime, pt-p_runTime);pt = pt-next; /pt 指向已經(jīng)排序的鏈表,判斷鏈表是否有已用時間啊等于需要時間的 pt = psorted; while (pt != NULL)if (pt-p_needTime = pt-p_runTime) if (ap = NULL) pt = psorted-next; psorted = pt; else ap-next = pt-next; ap = pt; pt = pt-next; if (psorted-next = NULL) break;getchar(); list SortList(list HL)list SL,r,t,cp,ap;SL = (list)malloc(sizeof(PCB);SL = NULL;r = HL;while (r != NULL)t = r-next;cp = SL;ap = NULL;while (c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年滬科版九年級化學下冊階段測試試卷
- 商業(yè)環(huán)境下的學生職業(yè)規(guī)劃與心理健康
- 醫(yī)療設(shè)備中安全硬件的研發(fā)與市場前景分析
- 2025中國鐵路北京局集團限公司招聘4982人(一)高頻重點提升(共500題)附帶答案詳解
- 2025中國郵政集團公司重慶分公司社會招聘536人高頻重點提升(共500題)附帶答案詳解
- 2025中國紙業(yè)投資限公司社會招聘6人高頻重點提升(共500題)附帶答案詳解
- 2025中國社會科學院美國研究所第一批專業(yè)技術(shù)人員公開招聘補充高頻重點提升(共500題)附帶答案詳解
- 2025中國電信湖北黃岡分公司招聘30人高頻重點提升(共500題)附帶答案詳解
- 2025中國新聞社應(yīng)屆高校畢業(yè)生公開招聘補充高頻重點提升(共500題)附帶答案詳解
- 2025中國國際工程咨詢限公司總部社會招聘20人高頻重點提升(共500題)附帶答案詳解
- 2023-2024學年廣西貴港市六年級數(shù)學第一學期期末學業(yè)質(zhì)量監(jiān)測模擬試題含答案
- 北師大版高中英語選擇性必修四全冊課文及翻譯(中英文Word)
- 體育系統(tǒng)運動隊(俱樂部)在隊證明
- 煙花爆竹門店安全的管理制度
- 學前兒童健康教育(學前教育專業(yè))PPT全套完整教學課件
- 北方民族大學床上用品投標文件
- 煤礦安全生產(chǎn)監(jiān)管檢查清單
- 面神經(jīng)炎課件完整版
- 顱腦外科手術(shù)環(huán)境及手術(shù)配合
- 常用吊具索具報廢標準2018
- 中國合唱歌曲精選100首
評論
0/150
提交評論