短期排程、中期排程和長期排程
程序排程根據排程演算法選擇一個程序分配給處理器,以及從處理器上移除一個程序。它是作業系統中多道程式設計的重要組成部分。
程序排程包括短期排程、中期排程和長期排程。以下是關於它們的詳細資訊:
- 長期排程
長期排程涉及從輔助儲存器中的儲存池中選擇程序,並將其載入到主儲存器中的就緒佇列中以執行。這由長期排程程式或作業排程程式處理。
長期排程程式控制多道程式設計的程度。它必須選擇I/O繫結和CPU繫結程序的謹慎組合,以產生最佳的系統吞吐量。如果它選擇太多CPU繫結程序,則I/O裝置將空閒;如果它選擇太多I/O繫結程序,則處理器將無事可做。
- 短期排程
短期排程涉及從就緒佇列中選擇一個程序並將其排程執行。這由短期排程程式完成。排程演算法用於決定短期排程程式接下來將排程哪個程序執行。
短期排程程式的執行頻率遠高於長期排程程式,因為一個程序可能只執行幾毫秒。
短期排程程式的選擇非常重要。如果它選擇一個具有較長突發時間的程序,則其後的所有程序都必須在就緒佇列中等待很長時間。這被稱為飢餓,如果短期排程程式做出了錯誤的決定,則可能發生這種情況。
演示使用長期和短期排程程式進行排程的圖表如下:
- 中期排程
中期排程涉及將程序從主儲存器中交換出去。稍後可以從該程序停止執行的位置交換該程序。這也可以稱為掛起和恢復程序,並由中期排程程式完成。
這有助於降低多道程式設計的程度。交換也有助於改善記憶體中I/O繫結和CPU繫結程序的組合。
演示中期排程的圖表如下:
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP