作業系統 排程演算法

2021-10-04 11:21:57 字數 1330 閱讀 9907

目錄說明

1,先來先服務排程演算法(first-come first-served,fcfs) 概述

本質 特點

2,短作業/短程序優先演算法(short job/process first,sjf/spf) 概述

本質 特點

3,高優先權優先排程演算法(fpf或priority-scheduling algorithm,psa) 概述

說明優先權:演算法的核心

程序的優先權

優先權的確定

4,高響應比優先排程演算法(highest response ratio next,hrrn) 概述

說明 特點

5,基於時間片的輪轉(round robin,rr)排程演算法 概述

時間片選擇

時間片大小選擇

6,多佇列排程演算法

7,多級反饋佇列排程演算法 概述

演算法概述 特點

實質是一種資源分配方法,因而排程演算法是指:根據系統的資源分配策略所規定的資源分配演算法

對於不同的系統和系統目標,通常採用不同的排程演算法,例如,在批處理系統中,為了照顧為數眾多的短作業,應採用短作業優先的排程演算法.又如在分時系統中,為了保證系統具有合理的響應時間,應採用輪轉法進行排程。

目前存在的多種排程演算法中,有的演算法適用於作業排程,有的演算法適用於程序排程;但也有些排程演算法既可用於作業排程,也可用於程序排程。

排程演算法很少有絕對的好壞!

僅考慮「到達時間」;

僅考慮「執行時間」;

搶占式優先權(程序排程):高優先權程序到達時,立刻停止低優先權程序的執行,讓高優先權程序執行。

非搶占式優先權(程序排程):高優先權作業程序到達時,須等待低優先權程序執行完畢或主動釋放cpu。

靜態優先權:程序建立時確定(根據程序型別、資源需求和使用者要求等),直到程序執行結束,保持不變。

動態優先權:程序建立時確定(根據程序型別、資源需求和使用者要求等)初始優先權,在程序執行過程中,可以發生變化。

由於等待時間與服務時間之和就是系統對該作業的響應時間,故該優先順序又相當於響應比rp。據此,優先又可表示為:

對新建立程序,首先將它放入第1佇列末尾,按fcfs原則排隊等待排程。

當輪到該程序執行時,如它能在該時間片內完成,則結束; 如果未完成,排程程式便將該程序轉入第2佇列的末尾,再同樣按fcfs原則等待排程執行;

如果它在第2佇列中執行1個時間片後仍未完成,再依次將它放入第3佇列…。如此下去,當1個長作業(程序)從第1佇列依次降到第n佇列後,在第n佇列中便採取按時間片輪轉的方式執行。

避免了事先計算各種程序所需的執行時間。

具有較好的效能,能較好地滿足各種型別使用者需要:

作業系統排程演算法

include include include include using namespace std const int maxnum 101 typedef struct information node struct node1 此結構體用於優先順序演算法的搶占式 int priority i...

作業系統排程演算法

在作業系統中存在多種排程演算法,其中有的排程演算法適用於作業排程,有的排程演算法適用於程序排程,有的排程演算法兩者都適用。下面介紹幾種常用的排程演算法。fcfs排程演算法是一種最簡單的排程演算法,該排程演算法既可以用於作業排程也可以用於程序排程。在作業排程中,演算法每次從後備作業佇列中選擇最先進入該...

作業系統 排程演算法

fcfs是最簡單的排程演算法,既可以用於作業排程,也可以用於程序排程,系統將按照作業到達的先後次序來進行排程。sjf演算法是以作業的長短來計算優先順序,作業越短,優先順序越高。作業的長短是以作業所要求的執行時間來衡量的。可以分別用於作業排程和程序排程。缺點 必須預知作業的執行時間 對長作業很不利,長...