




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上 操作系統(tǒng)原理課 程 設(shè) 計(jì) 報(bào) 告 書題 目: 高優(yōu)先權(quán)調(diào)度算法 學(xué) 號(hào): 學(xué)生姓名: 專 業(yè): 指導(dǎo)教師: 5月30日目 錄專心-專注-專業(yè)1 功能描述 先權(quán)是指在創(chuàng)建進(jìn)程時(shí)所賦予的優(yōu)先權(quán),是可以隨進(jìn)程的推進(jìn)或隨其等待時(shí)間的增加而改變的,以便獲得更好的調(diào)度性能。高優(yōu)先權(quán)優(yōu)先調(diào)度算法可以使緊迫型作業(yè)進(jìn)入系統(tǒng)后能得到優(yōu)先處理。此算法常被用于批處理系統(tǒng),作為作業(yè)調(diào)度算法,也作為多種操作系統(tǒng)中的進(jìn)程調(diào)度算法,還可用于實(shí)時(shí)系統(tǒng)。該算法用于作業(yè)調(diào)度時(shí),系統(tǒng)將從后備隊(duì)列中選擇若干個(gè)優(yōu)先權(quán)最高的作業(yè)裝入內(nèi)存。當(dāng)用于進(jìn)程調(diào)度時(shí),該算法是把處理機(jī)分配給就緒隊(duì)列中優(yōu)先權(quán)最高的進(jìn)程。2
2、系統(tǒng)設(shè)計(jì)2.1總體設(shè)計(jì) 驗(yàn)內(nèi)容利用C語(yǔ)言來(lái)實(shí)現(xiàn)對(duì)N個(gè)進(jìn)程采用動(dòng)態(tài)優(yōu)先權(quán)優(yōu)先算法的進(jìn)程調(diào)度。優(yōu)先數(shù)改變的原則:進(jìn)程每運(yùn)行一個(gè)時(shí)間片,優(yōu)先數(shù)減1。2.2詳細(xì)設(shè)計(jì)1. 在運(yùn)行界面里輸入進(jìn)程名稱,進(jìn)程優(yōu)先級(jí)和進(jìn)程時(shí)間;2. 每運(yùn)行一個(gè)時(shí)間單位,作業(yè)的優(yōu)先權(quán)級(jí)數(shù)減一;3. 在運(yùn)行出的用戶界面中顯示初始作業(yè)名,作業(yè)狀態(tài),優(yōu)先權(quán)級(jí)數(shù),需要服務(wù)的時(shí)間,已經(jīng)運(yùn)行的時(shí)間;4. 每次調(diào)度前后顯示作業(yè)隊(duì)列;2.3程序運(yùn)行流程圖程序運(yùn)行流程圖見流程圖1是輸入進(jìn)程名、優(yōu)先數(shù)、運(yùn)行時(shí)間從就緒隊(duì)列中選擇優(yōu)先級(jí)高的進(jìn)程運(yùn)行優(yōu)先數(shù)減一、運(yùn)行時(shí)間加一需要時(shí)間是否等于運(yùn)行時(shí)間進(jìn)程運(yùn)行完成結(jié)束開始按1回車否否流程圖1是3 系統(tǒng)實(shí)現(xiàn)用c
3、+編寫的高優(yōu)先權(quán)調(diào)度算法算法。3.1程序代碼程序源代碼如下:#include <stdio.h>#include <stdlib.h>struct PCB char p_name20; int p_priority; int p_needTime; int p_runTime; char p_state; struct PCB* next;void HighPriority();void RoundRobin();void Information();char Choice();struct PCB* SortList(PCB* HL);int main() Infor
4、mation(); char choice = Choice(); switch(choice) case '1': system("cls"); HighPriority(); break; default: break; system("pause"); return 0;void Information() printf(" 按回車鍵進(jìn)入演示程序"); getchar(); system("cls");char Choice() printf("nn"); printf(&
5、quot; 1.演示最高優(yōu)先數(shù)優(yōu)先算法。"); printf(" 按1繼續(xù):"); char ch = getchar(); return ch; system("cls");void HighPriority() struct PCB *processes, *pt; /pt作為臨時(shí)節(jié)點(diǎn)來(lái)創(chuàng)建鏈表,使用for語(yǔ)句,限制進(jìn)程數(shù)為5個(gè) processes = pt = (struct PCB*)malloc(sizeof(struct PCB); for (int i = 0; i != 5; +i) struct PCB *p = (struc
6、t PCB*)malloc(sizeof(struct PCB); printf("進(jìn)程號(hào)No.%d:n", i); printf("輸入進(jìn)程名:"); scanf("%s", p->p_name); printf("輸入進(jìn)程優(yōu)先數(shù):"); scanf("%d", &p->p_priority); printf("輸入進(jìn)程運(yùn)行時(shí)間:"); scanf("%d", &p->p_needTime); p->p_runTi
7、me = 0; p->p_state = 'W' p->next = NULL; pt->next = p; pt = p; printf("nn"); getchar(); /接受回車 /processes作為頭結(jié)點(diǎn)來(lái)存儲(chǔ)鏈表 processes = processes->next; int cases = 0; struct PCB *psorted = processes; while (1) +cases; pt = processes; /對(duì)鏈表按照優(yōu)先數(shù)排序 /psorted用來(lái)存放排序后的鏈表 psorted = Sor
8、tList(psorted); printf("The execute number: %dnn", cases); printf("* 當(dāng)前正在運(yùn)行的進(jìn)程是:%sn", psorted->p_name); psorted->p_state = 'R' printf("qname state super ndtime runtimen"); printf("%st%ct%dt%dt%dtnn", psorted->p_name, psorted->p_state, psort
9、ed->p_priority, psorted->p_needTime, psorted->p_runTime); pt->p_state = 'W' psorted->p_runTime+; psorted->p_priority-; printf("* 當(dāng)前就緒狀態(tài)的隊(duì)列為:nn"); /pt指向已經(jīng)排序的隊(duì)列 pt = psorted->next; while (pt != NULL) printf("qname state super ndtime runtimen"); printf(&
10、quot;%st%ct%dt%dt%dtnn", pt->p_name, pt->p_state, pt->p_priority, pt->p_needTime, pt->p_runTime); pt = pt->next; /pt指向已經(jīng)排序的鏈表,判斷鏈表是否有已用時(shí)間啊等于需要時(shí)間的 pt = psorted; struct PCB *ap; ap = NULL; /ap指向pt的前一個(gè)節(jié)點(diǎn) while (pt != NULL) if (pt->p_needTime = pt->p_runTime) if (ap = NULL)
11、pt = psorted->next; psorted = pt; else ap->next = pt->next; ap = pt; pt = pt->next; if (psorted->next = NULL) break; getchar(); struct PCB* SortList(PCB* HL) struct PCB* SL; SL = (struct PCB*)malloc(sizeof(struct PCB); SL = NULL; struct PCB* r = HL; while (r != NULL) struct PCB* t = r
12、->next; struct PCB* cp = SL; struct PCB* ap = NULL; while (cp != NULL) if (r->p_priority > cp->p_priority) break; else ap = cp; cp = cp->next; if (ap = NULL) r->next = SL; SL = r; else r->next = cp; ap->next = r; r = t; return SL;4 系統(tǒng)測(cè)試與分析 經(jīng)過(guò)測(cè)試運(yùn)行正常,可以達(dá)到預(yù)期的輸出結(jié)果。4.1程序運(yùn)行開始界面見圖2和圖3圖2圖34.2高優(yōu)先權(quán)程序正常運(yùn)行 輸入進(jìn)程名輸入5個(gè)進(jìn)程名、優(yōu)先數(shù)、運(yùn)行時(shí)間,然后程序自動(dòng)從就緒隊(duì)列中選擇優(yōu)先級(jí)高的進(jìn)程運(yùn)行優(yōu)先執(zhí)行,一直到所有進(jìn)程全部運(yùn)行
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 微特電機(jī)在高精度伺服系統(tǒng)中的應(yīng)用考核試卷
- 有機(jī)合成原料在綠色建筑材料的創(chuàng)新開發(fā)趨勢(shì)預(yù)測(cè)分析預(yù)測(cè)考核試卷
- 冷凍飲品企業(yè)的品牌維權(quán)與法律事務(wù)考核試卷
- 木質(zhì)素在土壤改良劑中的作用考核試卷
- 外貿(mào)生鮮類合同范本
- 梁板安裝合同范本
- 檔案提成合同范本
- 外墻水性氟碳漆合同范本
- 金融門面轉(zhuǎn)讓合同范本
- 水管改造施工合同
- 初中中考語(yǔ)文記敘文閱讀訓(xùn)練訓(xùn)練及答案
- 圍手術(shù)期高血壓患者管理專家共識(shí)
- 中國(guó)城市人口排名表
- 人教版六年級(jí)下冊(cè)數(shù)學(xué)(全冊(cè))同步隨堂練習(xí)一課一練
- GB/T 2573-2008玻璃纖維增強(qiáng)塑料老化性能試驗(yàn)方法
- GB/T 1265-2003化學(xué)試劑溴化鈉
- 工程建設(shè)項(xiàng)目管理培訓(xùn)教材課件
- 11-化學(xué)動(dòng)力學(xué)基礎(chǔ)-2-考研試題資料系列
- 《簡(jiǎn)愛(ài)》課本劇劇本
- 社區(qū)獲得性肺炎臨床路徑
評(píng)論
0/150
提交評(píng)論