調度器等待佇列

調度器等待佇列

調度器是作業系統的一個模組,它能夠選擇將被系統處理的下一個任務,或執行的下一個進程。作業系統可能會提供三種不同類型的調度器:長期調度器、中期調度器和短期調度器。調度器等待佇列是指等待調度器去調度運行的進程佇列或任務佇列。

基本介紹

  • 中文名:調度器等待佇列
  • 外文名:Scheduler Waiting Queue
  • 學科:計算機
  • 定義:等待調度器去調度運行的進程佇列
  • 有關術語:調度
  • 領域:作業系統
簡介,等待佇列,調度器類型,長期調度器,中期調度器,短期調度器,

簡介

調度在計算機中是分配工作所需資源的方法。進行調度工作的程式叫做調度器。調度器通常的實現使得所有計算資源都處於忙碌狀態(在負載均衡中),允許多位用戶有效地同時共享系統資源,或達到指定的服務質量。調度器等待佇列即等待調度器去調度運行的進程佇列或任務佇列。根據任務的類型不同,把調度分為長程調度(高級調度)、中程調度(中級調度)和短程(低級調度)調度,相應的可以得到長期調度器、中期調度器和短期調度器這三種調度器。調度器等待佇列類型與調度器的類型有關。

等待佇列

等待佇列,是指linux系統中進程所組成的佇列,就是需要其他事件的發生才會自己本身被喚醒的進程,也就是說這些進程本身是在等待其他某些進程為他 們提供進程發生的條件。他們是屬於消費者的,但是現在他們要消耗的東西還沒有產生,這些就是處於等待狀態的進程,組成了等待佇列。等待佇列很容易使用, 儘管它的設計很是微妙, 但不需要知道它的內部細節。

調度器類型

長期調度器

長期調度器,決定了任務或進程是否會被就緒佇列(記憶體中)所接納。當一個運行程式的嘗試被做出後,長期調度器或允許,或是延遲將它作為當前執行的一個進程。因此,這種調度器掌控著能在系統上運行的進程。調度器同時還決定並發的程度:同時執行程式的多少,在I/O密集型和CPU密集型進程之前做出劃分。
通常,大多數進程可以分為I/O密集型和CPU密集型。I/O密集型程式將大多數時間都花在了I/O操作而不是運算上,而CPU密集型程式正好相反,將大多數時間花在了運算上,而很少產生I/O操作。選出一個I/O密集型和CPU密集型程式的良好組合,對於長期調度器是非常重要的。否則,假如所有的程式都是CPU密集型的,那么I/O佇列將會幾乎永遠都是空的,這樣就會導致一些設備從來沒被人用過,系統資源分配就是不均衡的。顯然,性能極佳的系統必然是CPU密集型和I/O密集型程式的組合。在現代作業系統中,這被用來保證實時進程能獲得足夠的CPU時間來完成任務。
長期調度對大型系統,例如批處理系統、計算機集群、超級計算機和渲染場來說同樣重要。例如,在並發系統中,為了避免互動的多個進程,把時間都花在等待對方而產生阻塞,通常是需要進行協同調度的。在這種情況下,處理作業系統底層的調度器之外,還需要符合要求的額外調度程式來實現必要的功能。

中期調度器

中期調度器臨時將進程從記憶體中去除,放入第二儲存設備(如硬碟)中,或亦而反之。這通常被稱為“換出”和“換入”(同時也被錯誤叫做“分頁入”和“分頁出”)。中期調度器可能會將那些一直不活躍的進程,優先權低的進程,頻繁產生頁錯誤的進程,或者占用大量記憶體的進程放入交換區,為其它程式釋放記憶體。當系統記憶體充足時,或者程式不再處於阻塞狀態時,調度器又會將記憶體重新放入記憶體中。

短期調度器

短期調度器(也就是CPU調度器)決定了在一個時鐘中斷、I/O中斷、系統調用其它種類的信號之後,應該執行(分配CPU)給哪些記憶體中的進程。可見,短期調度器作出決定的頻率比長期或中期調度器更加頻繁 —— 每隔一段非常短的固定時間,調度器就將做出一次決定。這種調度器可以是搶占式的,能夠強行把一個在CPU運行中的程式中斷,然後分配給其它進程;也可以是非搶占式的,這類調度器無法強行把進程從CPU上中斷。

相關詞條

熱門詞條

聯絡我們