進程調度模擬程序

進程調度模擬程序

ID:20405928

大?。?18.35 KB

頁數(shù):17頁

時間:2018-10-09

進程調度模擬程序_第1頁
進程調度模擬程序_第2頁
進程調度模擬程序_第3頁
進程調度模擬程序_第4頁
進程調度模擬程序_第5頁
資源描述:

《進程調度模擬程序》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫

1、衡陽師范學院《操作系統(tǒng)》課程設計題目:進程調度模擬程序系別:計算機科學系專業(yè):物聯(lián)網工程班級:1205班學生姓名:陳毅學號:12450135指導老師:王玉奇完成日期:2014年12月*日17目錄一.課程設計目的3二.課程設計要求3三.設計思想33.1基本概念33.2進程控制塊33.3算法思想5四.詳細設計54.1程序設計流程圖54.2程序各模塊功能介紹6五.運行結果及分析105.1程序調試105.2運行結果105.3結果分析12六.總結13參考文獻13附錄...............................................................

2、............................1317一.課程設計目的深入掌握進程調度的概念原理和實現(xiàn)方法,理解操作系統(tǒng)進程管理中進行進程調度的過程和編程方法,掌握先來先服務調度算法和最高優(yōu)先數(shù)優(yōu)先的調度算法,創(chuàng)建進程控制塊PCB。理解進程的狀態(tài)及變化,動態(tài)顯示每個進程的當前狀態(tài)及進程的調度情況。進程調度是處理機管理的核心內容。本次課程設計用C語言編寫模擬進程調度程序,以便加深理解有關進程控制快、進程隊列等概念,并體會最高優(yōu)先數(shù)優(yōu)先與按時間片輪轉調度結合算法的優(yōu)缺點。二.課程設計要求編寫一個進程調度程序,允許多個進程并行執(zhí)行。1、進程調度算法:采用最高優(yōu)先數(shù)優(yōu)先與按時間

3、片輪轉調度結合算法。2、每個進程有一個進程控制塊(PCB)表示。進程控制塊可以包含如下信息:進程名、優(yōu)先數(shù)、到達時間、需要運行時間、已用CPU時間、進程狀態(tài)等等。3、進程的優(yōu)先數(shù)及需要的運行時間可在運行時輸入,進程的到達時間為輸入進程的時間。4、進程的運行時間以時間片為單位進行計算。5、每個進程的狀態(tài)可以是就緒W(Wait)、運行R(Run)、或完成F(Finish)三種狀態(tài)之一。6、就緒進程獲得CPU后都只能運行一個時間片。7、如果運行一個時間片后,進程的已占用CPU時間已達到所需要的運行時間,則撤消該進程,如果運行一個時間片后進程的已占用CPU時間還未達所需要的運行時間,也就

4、是進程還需要繼續(xù)運行,此時應將進程的優(yōu)先數(shù)減1(即降低一級),然后把它插入就緒隊列等待CPU。8、每進行一次調度程序都打印一次運行進程、就緒隊列、以及各個進程的PCB,以便進行檢查。重復以上過程,直到所要進程都完成為止。三.設計思想3.1基本概念17優(yōu)先級調度算法:按照進程的優(yōu)先級大小來調度。使高優(yōu)先級進程或線程得到優(yōu)先的處理的調度策略稱為優(yōu)先級調度算法。進程的優(yōu)先級可以由系統(tǒng)自動地按一定原則賦給它,也可由系統(tǒng)外部來進行安排。本次課程設計是自己給定進程的優(yōu)先級。但在許多采用優(yōu)先級調度的系統(tǒng)中,通常采用動態(tài)優(yōu)先數(shù)策略。即一個進程的優(yōu)先級不是固定的,往往是隨許多因素的變化而變化。尤其

5、隨作業(yè)(進程)的等待時間,已使用的處理器時間或其他系統(tǒng)資源的使用情況而定,以防止低優(yōu)先級進程或線程長期饑餓現(xiàn)象發(fā)生時間片輪轉算法:時間片輪轉調度是一種最古老,最簡單,最公平且使用最廣的算法。每個進程被分配一個時間段,稱作它的時間片,即該進程允許運行的時間。如果在時間片結束時進程還在運行,則CPU將被剝奪并分配給另一個進程。如果進程在時間片結束前阻塞或結束,則CPU當即進行切換。調度程序所要做的就是維護一張就緒進程列表,當進程用完它的時間片后,它被移到隊列的末尾。時間片輪轉算法主要用于處理器調度。采用此算法的系統(tǒng),其進程就緒隊列往往按進程到達的時間來排序。進程調度程序總是選擇就緒隊

6、列中的第一個進程,也就是說按照先進先出原則調度,但一旦進程占有處理器僅使用一個時間片,在使用完一個時間片后,進程還沒有完成其運行,它也必須釋放出(被搶占)處理器給下一個就緒的進程。而被搶占的進程返回到就緒隊列的末尾重新排隊等候再次運行。進程調度程序選擇一個就緒狀態(tài)的進程,使之在處理器上運行,每個進程的狀態(tài)信息用數(shù)據(jù)結構(進程控制塊PCB)表示,進程的調度采用最高優(yōu)先數(shù)優(yōu)先和按時間片輪轉相結合的調度算法,并且采用動態(tài)優(yōu)先數(shù)策略,選擇進程占用處理器后該進程僅能使用一個時間片,運行完后優(yōu)先數(shù)減1。進程的狀態(tài):運行狀態(tài)R(Run):進程正在處理器上運行。就緒狀態(tài)W(Wait):一個進程獲

7、得了除處理器外的一切所需資源,一旦得到處理器即可運行。完成狀態(tài)F(Finish):一個進程一旦完成,就停止運行。3.2進程控制塊描述進程的狀態(tài)信息,用結構體定義typedefstructprocess{charname[10];//進程名17intpriority;//優(yōu)先數(shù)TimeReachTime;//到達時間TimeNeedTime;//需要運行時間TimeUsedTime;//已用時間charstate;//進程狀態(tài)}PCB;//進程控制塊3.3算法思想定義結構體PCB描

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現(xiàn)內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。