操做系統實驗一:處理器調度算法的實現

1、實驗目的

1)加深對處理機調度的做用和工做原理的理解。算法

2)進一步認識併發執行的實質。併發

 

2、實驗要求:

本實驗要求用高級語言,模擬在單處理器狀況下,採用多個調度算法,對N個進程進行進程調度。語言自選。spa

並完成實驗報告。設計

  

3、實驗內容:blog

在採用多道程序設計的系統中,每每有若干個進程同時處於就緒狀態。隊列

當就緒狀態進程個數大於處理器數時,就必須依照某種策略來決定哪些進程優先佔用處理器。進程

  1. 進程及進程隊列的表示。
  2. 處理器調度算法:FCFS,SJF,RR,HRRN,MLFQ等
  3. 跟蹤進程狀態的轉化
  4. 輸出:系統中進程的調度次序,計算CPU利用率,平均週轉時間和平均帶權週轉時間

4、實驗過程與結果內存

  1. 算法思想與設計
  2. 算法實現代碼
  3. 運行結果

 

(1)FCFS算法資源

 

1.1 算法思想:程序設計

       按照做業進入系統後備做業隊列的前後次序來挑選做業,先進入系統的做業將優先被挑選進入內存,建立用戶進程,分配所需資源,而後移入就緒隊列。

1.2 算法設計:(採用描述或程序流程圖)

 

 

1.3 算法實現代碼

 

1.4 運行結果

 

(2)SJF算法

 

2.1 算法思想:

       以進入系統做業所要求的CPU運行時間的長短爲標準,老是選取預計計算時間最短的做業投入運行。

2.2 算法設計:(採用描述或程序流程圖)

 

(3)最短剩餘時間優先算法

 

3.1 算法思想:

       假設當前某進程正在運行,若是有新進程移入就緒隊列,若是它所須要的CPU運行時間比當前運行進程所須要的剩餘CPU時間還短,搶佔式最短做業優先算法強行剝奪當前執行者的控制權,調度新進程執行。

3.2 算法設計:(採用描述或程序流程圖)

相關文章
相關標籤/搜索