長期排程程式和短期排程程式的區別
在計算機系統中,正在執行的程式或任務稱為**程序**。在現代計算機中,使用了多種型別的程序。從一堆程序中選擇一個程序並將其分配給處理器以執行的過程稱為**排程**。執行此任務的系統元件稱為**排程程式**。排程程式主要有兩種型別,即**長期排程程式**和**短期排程程式**。
在本文中,我們將討論長期排程程式和短期排程程式之間的重要區別。但在那之前,讓我們先了解一些長期和短期排程程式的基本知識,以便更容易理解它們之間的區別。
什麼是長期排程程式?
**長期排程程式**也稱為**作業排程程式**。它維護一個程式/作業佇列,這些程式/作業被系統選中進行處理。程式根據排程機制進行選擇和處理。長期排程程式控制多道程式設計的程度。
在長期排程程式中,各種程序在作業佇列中等待在計算機系統上執行。長期排程程式從作業佇列中選擇一個作業,並將該作業帶到就緒佇列以執行。
什麼是短期排程程式?
**短期排程程式**也稱為**CPU 排程程式**。它維護上下文切換,並且 CPU 在多個執行緒之間切換。短期排程程式控制多工處理的程度。短期排程程式從就緒佇列中選擇一個作業,並將 CPU 分配給它。短期排程程式對多道程式設計的程度控制較少。短期排程程式的執行頻率很高,這意味著它更頻繁地從就緒佇列中選擇程序。因此,短期排程程式相對較快。
長期排程程式和短期排程程式的區別
下表突出顯示了長期排程程式和短期排程程式之間的一些重要區別
關鍵 |
長期排程程式 |
短期排程程式 |
|---|---|---|
輸入 |
長期排程程式從作業池中獲取作業並對其進行管理。 |
短期排程程式從就緒佇列中獲取程序,並進行 CPU 上下文切換。 |
被稱為 |
長期排程程式被稱為作業排程程式。 |
短期排程程式被稱為 CPU 排程程式。 |
佇列 |
作業佇列作為作業池進行維護。排程程式決定選擇哪個作業。 |
沒有這樣的佇列。 |
調節 |
長期排程程式控制多道程式設計。 |
短期排程程式控制多工處理。 |
優先順序 |
長期排程程式根據提供的機制對要選擇的程式進行優先順序排序。 |
短期排程程式根據操作型別設定程序的重要性。 |
速度 |
長期排程程式較慢。 |
短期排程程式較快。 |
程序選擇 |
長期排程程式從作業池中選擇程序。 |
短期排程程式從就緒佇列中選擇程序。 |
作業分配 |
長期排程程式將作業分配到就緒佇列。 |
短期排程程式將作業分配給 CPU 以執行。 |
結論
長期和短期排程程式對於在計算機系統中排程程序都是必要的。兩者之間最顯著的區別在於,長期排程程式從記憶體中選擇一個作業並將其分配到就緒佇列,而短期排程程式從就緒佇列中選擇作業並將其分配給 CPU 以進行處理。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP