長程、中程、短程調度

簡述

方式 解釋
短程調度 從準備隊列中選擇線程送到CPU執行
中程調度 從將外存中掛起的線程中選擇線程送到內存
長程調度 從外存中選擇一個任務(作業)送到內存中,爲之創建線程,並將這個線程加入準備隊列

簡單結構

在這裏插入圖片描述

短程調度

又叫低級調度,習慣上所說的進程調度指的就是短程調度,短程調度是指將準備隊列(Ready)中的進程調度到CPU中執行
在這裏插入圖片描述

中程調度

掛起有兩個隊列,就緒掛起和阻塞掛起
內存準備隊列中被掛起的線程會進入就緒掛起隊列
內存阻塞隊列中被掛起的線程會進入阻塞掛起隊列
在掛起狀態時,阻塞掛起隊列中的線程會繼續執行阻塞,如果直到阻塞完成還沒有被調入內存的話,他就會進入就緒掛起隊列

中程調度又稱中級調度, 是指掛起之間的調度,他是將在外存中被掛起的、還未執行完畢的進程調回內存,調回內存時會根據他的掛起類型,進入阻塞隊列或者準備隊列
在這裏插入圖片描述

長程調度

又叫高級調度,作業調度,隨着CPU的執行,就會一些線程被執行完,內存中線程數量減小,爲了讓CPU高效率運行,就要拿一些任務到內存中執行,有兩種方式

  1. 通過中程調度把外存中掛起的線程拿回內存執行
  2. 將外存中“想要執行的其他任務(作業)”拿到內存中,併爲其創建線程,等待執行

這第二種方法就是所謂的長程調度
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章