作業系統在程序管理方面的主要活動
程序是一個正在執行的程式,即正在執行的程式。它包含程式程式碼、程式計數器、程序堆疊、暫存器等。程序管理處理程序和各種處理它們的機制。
作業系統在程序管理方面執行的各種活動主要是程序排程和上下文切換。這些活動的詳細資訊如下所示:
程序排程
許多排程佇列用於處理程序。當程序進入系統時,它們被放入作業佇列。準備在主記憶體中執行的程序儲存在就緒佇列中。等待I/O裝置的程序儲存在I/O裝置佇列中。
表示程序排程的圖表如下:
用於程序排程的不同調度程式是:
長期排程程式
作業排程程式或長期排程程式從儲存池中選擇程序並將它們載入到記憶體中以執行。作業排程程式必須選擇I/O繫結和CPU繫結程序的謹慎組合,以獲得最佳系統吞吐量。如果它選擇太多CPU繫結程序,則I/O裝置空閒;如果它選擇太多I/O繫結程序,則處理器無事可做。
短期排程程式
短期排程程式從就緒佇列中選擇一個程序並將其安排執行。短期排程程式比長期排程程式執行得頻繁得多,因為程序可能只執行幾毫秒。
中期排程程式
中期排程程式將程序從主記憶體中交換出去。稍後它可以從程序停止執行的地方再次交換入該程序。這有助於降低多道程式設計的程度。交換也有助於改善記憶體中I/O繫結和CPU繫結程序的組合。
表示中期排程的圖表如下:
上下文切換
從CPU中刪除一個程序並排程另一個程序需要儲存舊程序的狀態並載入新程序的狀態。這稱為上下文切換。程序的上下文儲存在程序控制塊 (PCB) 中,幷包含程序暫存器資訊、程序狀態和記憶體資訊。
排程程式負責上下文切換。它儲存舊程序的上下文,並將CPU的控制權交給短期排程程式選擇的程序。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP