進程調度新算法 ——二級反饋隊列調度算法

算法基本思想:二級調度算法是先來先服務調度算法和優先級調度算法的綜合與發展。

首先設置兩個就緒隊列,並且爲兩個隊列賦予不同的優先級,假設隊列2比隊列1的優先級高(隊列2優先級>隊列1優先級。)

其次,當一個新進程進入系統時,應先將其放入隊列1末尾,並且爲隊列1中的每個進程設置一個最大等待時間Tm,如果此時隊列1中進程數量爲空,則進入的第一個進程最大等待時間Tm=K(K爲常數)。第二個進入隊列1的進程最大等待時間Tm=2K,第三個隊列1進入的進程最大等待時間Tm=3K,以此類推,第n個進入隊列1的進程最大等待時間Tm=nK。此時隊列2中進程數爲空,處理器只需負責隊列1中的任務,隊列1中按照先來先服務的方式進行進程調度。

再次,若隊列1中有進程達到最大等待時間Tm仍未得到調度,則把該進程放入到隊列2的末尾,因爲隊列2的優先級高於隊列1,所以此時隊列2得到響應,隊列1被中斷。倘若隊列2中有多個進程,則隊列2按照優先級調度算法進行調度。

最後,若隊列2爲空,則處理器返回隊列1繼續執行中斷前的操作。

這是我最近自己想出來的一種進程調度算法,不知道是否可行??你覺得呢???

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