




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、實驗三進程管理模擬實驗閱讀后面的C語言實例,修改程序,使其優(yōu)先數(shù)在運行期間可以變化(動態(tài)優(yōu)先數(shù))。例如 當某進程被時間片中斷次數(shù)增加到一定數(shù)目時,提高其優(yōu)先權(quán)。設計思路:首先在進程控制塊中增加一個記錄進程被中斷的次數(shù)的整形變量sum;然后在初始化函數(shù)中 對它初始化賦值為0;然后在block()函數(shù)中在每個進程被中斷后sum進行加1操作,再顯 示該被中斷進程被中斷的次數(shù);然后再find()函數(shù)中設計當某個進程被中斷的次數(shù)達到3時 修改該進程的優(yōu)先權(quán),并把該優(yōu)先權(quán)設計為最高!然后再由find()函數(shù)返回被選中的進程的 進程號!然后通過原來的相關(guān)代碼來執(zhí)行它相應的操作(其他部分代碼不用變動)!進程控
2、制塊實現(xiàn)的關(guān)鍵代碼:進程控制塊struct F,-低就緝態(tài)等借奮 完成態(tài) 。下一個等饕進程的進拄號.int id; F,-低就緝態(tài)等借奮 完成態(tài) 。下一個等饕進程的進拄號.char status; 進程狀態(tài),.int nextwr; 等畚鏈指曾 int priority: 進建,禿數(shù) int sum;/記錄進程中斷次數(shù) pcb3;/共3個進程生成進程控制塊for (j=B;j3;j+)pcbj.id=j; 進程號pcbj.status=J:r,;進程初始狀態(tài)為高就緒狀態(tài)pcbj.nextwr=NIL;pcbj.suiir0; 中斷次數(shù)初值為9printf(n進程 初 的優(yōu)先藪?scanFCd,
3、);pcbj.pririty=i;進程優(yōu)先級uaid ack(int se)int w;int i;i=(se=fi)?1:2;.printFf進程常。甲清sMi時被阻塞nl,exe+1 ,i);.pcbexe.status=W ;當刖進程瑟用塞pcbeXe.sum+;/前進程中斷次數(shù)加1printF(,矽,em+1 ,pcbExe -sum);pcbexe.nextwr=NTL; J空瀏為隊列的首個進程號.塞隊列第一個進程if J空瀏為隊列的首個進程號.塞隊列第一個進程semse-firstwr=exe;/當前進窿美閥墓隊列票-elsewhile(pcbw .nextwr*=NIL)/尋找隊
4、列的最后一個進程u w=pcbw.nextwr;pcbw.nextwr=exe;/將阻塞進程掛到隊列尾部在3個進程中按就緒狀態(tài)及其優(yōu)先數(shù)選出進程。返回選出的進程號。int find()int j,pd=NIL,w=MAXPRI;for (j=0j3;j+) /選擇高就緒狀態(tài)優(yōu)先級最高的進程if(pcbj.sum=3)pcbj.priority=0;pcbj.sum=0;printf(進程d中斷次數(shù)達到3次,該進程優(yōu)先權(quán)最高nj+1);w=pcbj.priority;pd=j;elseif (pcbj.status=r) & (pcbj.priorityw)w=pcbj.priority;pd=
5、j;if (pd=NIL) /沒有高就緒狀態(tài)的進程,尋找低就緒狀態(tài)的進程。for (j=0;j3;j+)if(pcbj.sum=3)pcbj.priority=0;pcbj.sum=0;printf(進程d中斷次數(shù)達到3次,該進程優(yōu)先權(quán)最高nj+1);w=pcbj.priority;pd=j;elseif (pcbj.status=,t,) & (pcbj.priorityw)w=pcbj.priority;pd=j;return (pd);程序運行結(jié)果:火火火火火ZR與富占每毋典熱火火火火火一與富占厚毋一M四焙右竣髀營梟軍IHWJW出 H 馳軍。t兇政坦ffiar火火火火火一與富占典熱M四焙
6、右竣髀度梟軍 上辛思出晶也 T兇畛坦ffiBTl麗gj觀驅(qū) 最很:u.劇Z兇畛空肉HTZSim火史植煨旅2兇V羅乩的囊州 密躇曲斜普火躥5 娜克出艱田了內(nèi)噓出 EZfTTTX/COCOUZSM匝z很兇z很兇艷 煨 旅 兇翌瞄弗盡史耳悲耳史 圈*混籍備好月好 度底蛤煽烈藏烈 雁田了艄出噂出蜉出T Z Z X/心 Z z4tHT4zM觀觀就腳觀烈W拒觀觀映觀映V ltlbl-h-tl T itliblibl v Wtlbl-h-t tl-h-tlsix!S3 MC:vc6.0+4-Debugxinde.exe2 為 數(shù) 次1時進行S2執(zhí)請在-呈窄頂申正 正布nTI 2 2 1 2 12 2 22l
7、l.llt./l 2 1 1 t./ 2 2 t./ 1 1 2 1 2 t./ 1 1 t./ 1 =5.程程程2程程程程=5.程程程程進程程 1=6.程程程w=6程程=7程程一程 2莊片一 進81進進進進S1進進進進V進進時進Is2進進進時進進時進Is 1進K進Is2進進時進進時進f醒sl執(zhí) 喚請在哄A在普正蕾正一醒s.、Ts:-_&: : 普在請是到拙在 循申正申史正得耕正 2 2 1 1 :I次蕾O 算時進行時進次行用,行 才J2Y : 數(shù)進次該1S E的, 斷次態(tài)緒1就S2區(qū)入到在M在M 得正遇亍正進亍 , ,$5r- ?!斷印-一贏 鬻中窘中洗2=1Q陟蚩1蕾喝醒.賽到資尊點 匱程
8、a得至!崩-正在臨果區(qū)1 帖蔑補進程2薛浪就緒態(tài) 睡唇得到邑正在臨界區(qū)a 阿間丘g哺,一進程逾么就緒態(tài) 樁程1止在孑丸行 m2 =11 倒虛2正在執(zhí)行 1=10 聞釋2循環(huán)計慕次數(shù)=5 圈程2己經(jīng)完所 履岳正在執(zhí)行 s2=12 |g3g計算次數(shù)壬s2=13 gg3g計算次數(shù)岌 -何片.樁程3止在執(zhí)行;12=14 |g3g計算次數(shù)=至;i2=lb M尊3循環(huán)計募次數(shù)=S 唇性己經(jīng)完成 最后結(jié)果:sl=10,s2=15Press any key to cont in Lie零2-正在臨界區(qū)2 折,進程誠汰就緒態(tài)零2-正在臨界區(qū)2 折,進程誠汰就緒態(tài)零2-正在臨界區(qū)2 折,進程誠汰就緒態(tài)總結(jié)及進一步改善建議:該實驗綜合用了進程調(diào)度,進程控制,進程同步,進程調(diào)度算法等相應知識。進程調(diào)度程序 負責為各個進程分配處理機;時間片中斷處理程序模擬
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇州大學《巖土工程原位測試》2023-2024學年第二學期期末試卷
- 江西信息應用職業(yè)技術(shù)學院《現(xiàn)代漢語(上)》2023-2024學年第二學期期末試卷
- 云服務平臺數(shù)據(jù)存儲安全策略
- 徐州醫(yī)科大學《中學思想政治教學案例分析與評價》2023-2024學年第二學期期末試卷
- 2025年度北方聯(lián)合電力有限責任公司校招233人筆試參考題庫附帶答案詳解
- 七臺河市桃山區(qū)2025年小升初必考題數(shù)學檢測卷含解析
- 周口文理職業(yè)學院《公路勘測設計》2023-2024學年第二學期期末試卷
- 武漢商貿(mào)職業(yè)學院《建筑工程計量》2023-2024學年第二學期期末試卷
- 重慶工商職業(yè)學院《javaScript與jQuery開發(fā)技術(shù)》2023-2024學年第二學期期末試卷
- 2025年02月貴州省疾病預防控制中心公開招聘4人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 材料化學合成與制備技術(shù)
- 金屬工藝學(鑄造)課件
- DB23∕T 343-2003 國有林區(qū)更新造林技術(shù)規(guī)程
- 醫(yī)療廢物管理組織機構(gòu)架構(gòu)圖
- cjj/t135-2009《透水水泥混凝土路面技術(shù)規(guī)程》
- 短時耐受電流
- 社保人事專員績效考核表
- 河北省自然科學基金資助項目申請書模板
- 上海世博會對上海城市競爭力影響的評估模型
- 河南書法家協(xié)會入會申請表
- 鄉(xiāng)村獸醫(yī)登記申請表(共1頁)
評論
0/150
提交評論