導航:首頁 > 源碼編譯 > 進程調度是通過某種演算法

進程調度是通過某種演算法

發布時間:2022-07-13 15:29:43

1. 進程調度的方式有哪兩種試列舉至少4種進程調度演算法

進程調度的方式有非剝奪方式和剝奪方式。
非剝奪方式:
分派程序一旦把處理機分配給某進程後便讓它一直運行下去,直到進程完成或發生某事件而阻塞時,才把處理機分配給另一個進程。
剝奪方式:
當一個進程正在運行時,系統可以基於某種原則,剝奪已分配給它的處理機,將之分配給其它進程。剝奪原則有:優先權原則、短進程優先原則、時間片原則。
進程調度演算法:
1、先進先出演算法(FIFO):
演算法總是把處理機分配給最先進入就緒隊列的進程,一個進程一旦分得處理機,便一直執行下去,直到該進程完成或阻塞時,才釋放處理機。
舉例:有三個進程P1、P2和P3先後進入就緒隊列,它們的執行期分別是21、6和3個單位時間,對於P1、P2、P3的周轉時間為21、27、30,平均周轉時間為26。可見,FIFO演算法服務質量不佳,容易引起作業用戶不滿,常作為一種輔助調度演算法。
2、最短CPU運行期優先調度演算法(SCBF--Shortest CPU Burst First):
該演算法從就緒隊列中選出下一個「CPU執行期最短」的進程,為之分配處理機。
舉例:在就緒隊列中有四個進程P1、P2、P3和P4,它們的下一個執行進程調度期分別是16、12、4和3個單位時間,P1、P2、P3和P4的周轉時間分別為35、19、7、3,平均周轉時間為16。該演算法雖可獲得較好的調度性能,但難以准確地知道下一個CPU執行期,而只能根據每一個進程的執行歷史來預測。
3、時間片輪轉法:
前幾種演算法主要用於批處理系統中,不能作為分時系統中的主調度演算法,在分時系統中,都採用時間片輪轉法。簡單輪轉法:系統將所有就緒進程按FIFO規則排隊,按一定的時間間隔把處理機分配給隊列中的進程。這樣,就緒隊列中所有進程均可獲得一個時間片的處理機而運行。
4、多級反饋隊列:
多級隊列方法:將系統中所有進程分成若干類,每類為一級。多級反饋隊列方式是在系統中設置多個就緒隊列,並賦予各隊列以不同的優先權。

2. 操作系統進程調度具體演算法是什麼

這是主要演算法:你可以參考一下
public
class
PrivilegeProcess
{
public
staticlinux操作系統的進程調度以及各種實時Linux系統為了支持實時特性對普通Linux系統

3. 調度演算法的linux進程調度演算法

linux內核的三種調度方法:
1. SCHED_OTHER 分時調度策略,
2. SCHED_FIFO實時調度策略,先到先服務
3. SCHED_RR實時調度策略,時間片輪轉
實時進程將得到優先調用,實時進程根據實時優先順序決定調度權值,分時進程則通過nice和counter值決
定權值,nice越小,counter越大,被調度的概率越大,也就是曾經使用了cpu最少的進程將會得到優先調
度。
SHCED_RR和SCHED_FIFO的不同:
當採用SHCED_RR策略的進程的時間片用完,系統將重新分配時間片,並置於就緒隊列尾。放在隊列
尾保證了所有具有相同優先順序的RR任務的調度公平。
SCHED_FIFO一旦佔用cpu則一直運行。一直運行直到有更高優先順序任務到達或自己放棄。
如果有相同優先順序的實時進程(根據優先順序計算的調度權值是一樣的)已經准備好,FIFO時必須等待該
進程主動放棄後才可以運行這個優先順序相同的任務。而RR可以讓每個任務都執行一段時間。
SHCED_RR和SCHED_FIFO的相同點:
SHCED_RR和SHCED_FIFO都只用於實時任務。
創建時優先順序大於0(1-99)。
按照可搶占優先順序調度演算法進行。
就緒態的實時任務立即搶占非實時任務。
所有任務都採用linux分時調度策略時。
1. 創建任務指定採用分時調度策略,並指定優先順序nice值(-20~19)。
2. 將根據每個任務的nice值確定在cpu上的執行時間(counter)。
3. 如果沒有等待資源,則將該任務加入到就緒隊列中。
4. 調度程序遍歷就緒隊列中的任務,通過對每個任務動態優先順序的計算(counter+20-nice)結果,選擇
計算結果最大的一個去運行,當這 個時間片用完後(counter減至0)或者主動放棄cpu時,該任務將被放在
就緒隊列末尾(時間片用完)或等待隊列(因等待資源而放棄cpu)中。
5. 此時調度程序重復上面計算過程,轉到第4步。
6. 當調度程序發現所有就緒任務計算所得的權值都為不大於0時,重復第2步。
所有任務都採用FIFO時:
1. 創建進程時指定採用FIFO,並設置實時優先順序rt_priority(1-99)。
2. 如果沒有等待資源,則將該任務加入到就緒隊列中。
3. 調度程序遍歷就緒隊列,根據實時優先順序計算調度權值(1000+rt_priority),選擇權值最高的任務使用
cpu,該FIFO任務將一直佔有cpu直到有優先順序更高的任務就緒(即使優先順序相同也不行)或者主動放棄(等
待資源)。
4. 調度程序發現有優先順序更高的任務到達(高優先順序任務可能被中斷或定時器任務喚醒,再或被當前運行
的任務喚醒,等等),則調度程序立即在當前任務 堆棧中保存當前cpu寄存器的所有數據,重新從高優先順序
任務的堆棧中載入寄存器數據到cpu,此時高優先順序的任務開始運行。重復第3步。
5. 如果當前任務因等待資源而主動放棄cpu使用權,則該任務將從就緒隊列中刪除,加入等待隊列,此時
重復第3步。
所有任務都採用RR調度策略時
1. 創建任務時指定調度參數為RR,並設置任務的實時優先順序和nice值(nice值將會轉換為該任務的時間片
的長度)。
2. 如果沒有等待資源,則將該任務加入到就緒隊列中。
3. 調度程序遍歷就緒隊列,根據實時優先順序計算調度權值(1000+rt_priority),選擇權值最高的任務使用
cpu。
4. 如果就緒隊列中的RR任務時間片為0,則會根據nice值設置該任務的時間片,同時將該任務放入就緒隊
列的末尾。重復步驟3。
5. 當前任務由於等待資源而主動退出cpu,則其加入等待隊列中。重復步驟3。
系統中既有分時調度,又有時間片輪轉調度和先進先出調度
1. RR調度和FIFO調度的進程屬於實時進程,以分時調度的進程是非實時進程。
2. 當實時進程准備就緒後,如果當前cpu正在運行非實時進程,則實時進程立即搶占非實時進程。
3. RR進程和FIFO進程都採用實時優先順序做為調度的權值標准,RR是FIFO的一個延伸。FIFO時,如果兩
個進程的優先順序一樣,則這兩個優先 級一樣的進程具體執行哪一個是由其在隊列中的未知決定的,這樣導
致一些不公正性(優先順序是一樣的,為什麼要讓你一直運行?),如果將兩個優先順序一樣的任務 的調度策略都
設為RR,則保證了這兩個任務可以循環執行,保證了公平。

4. 什麼是進程調度常用的進程調度演算法有哪些

無論是在批處理系統還是分時系統中,用戶進程數一般都多於處理機數、這將導致它們互相爭奪處理機。另外,系統進程也同樣需要使用處理機。這就要求進程調度程序按一定的策略,動態地把處理機分配給處於就緒隊列中的某一個進程,以使之執行。就是調度。
有先來先服務調度演算法、優先數調度演算法、時間片輪轉演算法、分級調度演算法 、最短作業時間優先(搶占式和非搶占式)、最高響應比調度演算法,樂透調度等。

5. 什麼是進程調度常用的進程調度演算法有哪些試比較他們之間的性能。 什麼是進程調度

進程調度,用戶進程數進程調度一般都多於處理機數、這將導致它們互相爭奪處理機。另外,系統進程也同樣需要使用處理機。無論是在批處理系統還是分時系統中,用戶進程數 進程調度 一般都多於處理機數、這將導致它們互相爭奪處理機。另外,系統進程也同樣需要使用處理機。這就要求進程調度程序按一定的策略,動態地把處理機分配給處於就緒隊列中的某一個進程,以使之執行。 進程調度的的分級 高級、中級和低級調度作業從提交開始直到完成,往往要經歷下述三級調度: 高級調度:(High-Level Scheling)又稱為作業調度,它決定把後備作業調入內存運行; 低級調度:(Low-Level Scheling)又稱為進程調度,它決定把就緒隊列的某進程獲得CPU; 中級調度:(Intermediate-Level Scheling)又稱為在虛擬存儲器中引入,在內、外存對換區進行進程對換。先進先出演算法 進程調度 演算法總是把處理機分配給最先進入就緒隊列的進程,一個進程一旦分得處理機,便一直執行下去,直到該進程完成或阻塞時,才釋放處理機。 例如,有三個進程P1、P2和P3先後進入就緒隊列,它們的執行期分別是21、6和3個單位時間, 執行情況如下圖: 對於P1、P2、P3的周轉時間為21、27、30,平均周轉時間為26。 可見,FIFO演算法服務質量不佳,容易引起作業用戶不滿,常作為一種輔助調度演算法。 最短CPU運行期優先調度演算法(SCBF--Shortest CPU Burst First) 該演算法從就緒隊列中選出「下一個CPU執行期」最短的進程,為之分配處理機。 例如,在就緒隊列中有四個進程P1、P2、P3和P4,它們的下一個執行期分別是16、12、4和3個單位時間,執行情況如下圖: P1、P2、P3和P4的周轉時間分別為35、19、7、3,平均周轉時間為16。 該演算法雖可獲得較好的調度性能,但難以准確地知道下一個CPU執行期,而只能根據每一個進程的執行歷史來預測。 輪轉法 前幾種演算法主要用於批處理系統中,不能作為分時系統中的主調度演算法,在分時系統中,都採用時間片輪轉法。 簡單輪轉法:系統將所有就緒進程按FIFO規則排隊,按一定的時間間隔把處理機分配給隊列中的進程。這樣,就緒隊列中所有進程均可獲得一個時間片的處理機而運行。 多級隊列方法:將系統中所有進程分成若干類,每類為一級。 多級反饋隊列 多級反饋隊列方式是在系統中設置多個就緒隊列,並賦予各隊列以不同的優先權

6. unix系統v的進程調度是採用怎樣的調度演算法完成的

答案為D。 多級反饋隊列輪轉法 調度演算法(作業調度、進程調度) 1、先來先服務調度演算法(FCFS) 按進入後備(或就緒)隊列的先後選擇目標作業(或進程)。 有利於長作業(進程),不利於短作業(進程)。 2、最短作業優先調度演算法SJ(P)F 從後備(或就緒)隊列中選擇估計運行時間最短的作業(或進程) tn+1=a tn+(1-a) tn tn為實際值, tn為預測值 SJF有效地降低作業的平均等待時間,提高了系統的吞吐量。 對長作業(或進程)不利,可能死等,且未考慮作業的緊迫程度。 3、時間片輪轉調度演算法(進程調度) 系統將所有的就緒進程按先來先服務原則,排成一個隊列,每次調度時把CPU分配給隊首進程,令其執行一個時間片。 就緒隊列中所有進程,在一個給定的時間內,均能獲得一個時間片的處理機執行時間。T=nq 4、優先權調度演算法 適用於作業調度和進程調度。 非搶占式、搶占式優先權調度演算法 優先權類型:靜態優先權、動態優先權 5、高響應比優先調度演算法(作業調度) 響應比RP= 響應時間/要求服務時間=(等待時間+要求服務時間)/要求服務時間 = 1+等待時間/要求服務時間 同時到達的作業(等待時間相同),要求服務時間越短(短作業),響應比越高,有利於短作業。 要求服務時間相同的作業,等待時間越長,響應比越高,相當於先來先服務。 長作業在等待足夠長時間後,響應比上升,也可被調度,避免長作業的死等。 每次調度需計算響應比,增加系統的開銷。 6、多級隊列調度 根據作業的性質或類型的不同,將就緒進程隊列分成若干個子隊列,各個作業固定分屬於一個隊列。每個隊列採用各自的調度演算法。 7、多級反饋隊列調度演算法 UNIX系統中的進程調度演算法。 處理方法: 設置多個就緒隊列,每個隊列賦予不同的優先權(S1>S2……>Sn ),且各隊列中進程執行的時間片的大小各不相同(q,2q……nq)。 新進程進入內存,首先放在S1的末尾,按FCFS排隊調度,執行q時間片,若未完成,該進程轉入S2,依次類推。 僅當Si空閑,才會調度Si+1中進程。 能較好地滿足各種類型用戶的需要。

7. 進程調度的演算法

演算法總是把處理機分配給最先進入就緒隊列的進程,一個進程一旦分得處理機,便一直執行下去,直到該進程完成或阻塞時,才釋放處理機。
例如,有三個進程P1、P2和P3先後進入就緒隊列,它們的執行期分別是21、6和3個單位時間,
執行情況如下圖:
對於P1、P2、P3的周轉時間為21、27、30,平均周轉時間為26。
可見,FIFO演算法服務質量不佳,容易引起作業用戶不滿,常作為一種輔助調度演算法。 最短CPU運行期優先調度演算法(SCBF--Shortest CPU Burst First)
該演算法從就緒隊列中選出下一個「CPU執行期最短」的進程,為之分配處理機。
例如,在就緒隊列中有四個進程P1、P2、P3和P4,它們的下一個執行期分別是16、12、4和3個單位時間,執行情況如下圖:
P1、P2、P3和P4的周轉時間分別為35、19、7、3,平均周轉時間為16。
該演算法雖可獲得較好的調度性能,但難以准確地知道下一個CPU執行期,而只能根據每一個進程的執行歷史來預測。 前幾種演算法主要用於批處理系統中,不能作為分時系統中的主調度演算法,在分時系統中,都採用時間片輪轉法。
簡單輪轉法:系統將所有就緒進程按FIFO規則排隊,按一定的時間間隔把處理機分配給隊列中的進程。這樣,就緒隊列中所有進程均可獲得一個時間片的處理機而運行。
多級隊列方法:將系統中所有進程分成若干類,每類為一級。 多級反饋隊列方式是在系統中設置多個就緒隊列,並賦予各隊列以不同的優先權。

8. 幾種進程調度演算法分析

前兩天做操作系統作業的時候學習了一下幾種進程調度演算法,在思考和討論後,有了一些自己的想法,現在就寫出來,跟大家討論下。 ,或者說只有有限的CPU資源,當系統中有多個進程處於就緒狀態,要競爭CPU資源時,操作系統就要負責完成如何分配資源的任務。在操作系統中,由調度程序來完成這一選擇分配的工作,調度程序所使用的演算法即是調度演算法。調度演算法需要考慮的指標主要有盡量保證CPU資源分配的公平性;按照一定策略強制執行演算法調度;平衡整個計算機系統,盡量保持各個部分都處於忙碌狀態。而根據系統各自不同的特點和要求,調度演算法又有一些側重點和目標不同,因此,演算法按照系統差異主要分為三大類: 批處理系統中的調度演算法, 代表調度演算法有:先來先服務、最短作業優先、最短剩餘時間優先。 互動式系統中的調度演算法, 代表調度演算法有:輪轉調度、優先順序調度、多級隊列、最短進程優先、保證調度、彩票調度、公平分享調度。 實時系統中的調度演算法 ,代表調度演算法有:速率單調調度、最早最終時限優先調度。 下面就上述提到的調度演算法中挑出幾個進行重點分析:保證調度保證調度是指利用演算法向用戶做出明確的性能保證,然後盡力按照此保證實現CPU的資源分配。利用這種演算法,就是定一個進程佔用CPU的時間的標准,然後按照這個標准去比較實際佔用CPU的時間,調度進程每次使離此標准最遠的進程得到資源,不斷滿足離所保證的標准最遠的進程,從而平衡資源分配滿足這個標準的要求。 保證調度演算法的優點是:能很好的保證進程公平的CPU份額,當系統的特點是:進程的優先順序沒有太大懸殊,所制定的保證標准差異不大,各個進程對CPU的要求較為接近時,比如說系統要求n個進程中的每個進程都只佔用1/n的CPU資源,利用保證調度可以很容易的實現穩定的CPU分配要求。但缺點是,這種情況太過理想,當系統的各個進程對CPU要求的緊急程度不同,所制定的保證較為復雜的時候,這個演算法實現起來比較困難。 彩票調度彩票調度這種演算法的大意是指向進程提供各種系統資源如CPU資源的彩票,當系統需要做出調度決策時,隨機抽出一張彩票,由此彩票的擁有者獲得資源。在彩票調度系統中,如果有一個新的進程出現並得到一些彩票,那麼在下一次的抽獎中,該進程會有同它持有彩票數量成正比例的機會贏得獎勵。進程持有的彩票數量越多,則被抽中的可能性就越大。調度程序可以通過控制進程的彩票持有數量來進行調度。 彩票調度有很多優點:首先,它很靈活,系統增加分給某個進程的彩票數量,就會大大增加它佔用資源的可能性,可以說,彩票調度的反應是迅速的,而快速響應需求正是互動式系統的一個重要要求。其次,彩票調度演算法中,進程可以交換彩票,這個特點可以更好的保證系統的平衡性,使其各個部分都盡可能的處於忙碌狀態。而且利用彩票調度還可以解決許多別的演算法很難解決的問題,例如可以根據特定的需要大致成比例的劃分CPU的使用。 速率單調調度 速率單調調度演算法是一種可適用於可搶占的周期性進程的經典靜態實時調度演算法。當實時系統中的進程滿足:每個周期性進程必須在其周期內完成,且進程之間沒有相互依賴的關系,每個進程在一次突發中需要相同的CPU時間量,非周期的進程都沒有最終時限四個條件時,並且為了建模方便,我們假設進程搶占即刻發生沒有系統開銷,可以考慮利用速率單調演算法。 速率單調調度演算法是將進程的速率(按照進程周期所算出的每秒響應的次數)賦為優先順序,則保證了優先順序與進程速率成線性關系,這即是我們所說的速率單調。調度程序每次運行優先順序最高的,只要優先順序較高的程序需要運行,則立即搶占優先順序低的進程,而優先順序較低的進程必須等所有優先順序高於它的進程結束後才能運行。 速率單調調度演算法可以保證系統中最關鍵的任務總是得到調度,但是缺點是其作為一種靜態演算法,靈活性不夠好,當進程數變多,系統調度變得復雜時,可能不能較好的保證進程在周期內運行。 最早最終時限優先調度 最早最終時限優先調度演算法是一個動態演算法,不要求進程是周期性的,只要一個進程需要CPU時間,它就宣布它的到來時間和最終時限。調度程序維持一個可運行的進程列表,按最終時限排序,每次調度一個最終時限最早的進程得到CPU 。當新進程就緒時,系統檢查其最終時限是否在當前運行的進程結束之前,如果是,則搶占當前進程。 由於是動態演算法,最早最終優先調度的優點就是靈活,當進程數不超過負載時,資源分配更優,但也同樣由於它的動態屬性,進程的優先順序都是在不斷變化中的,所以也沒有哪個進程是一定可以保證滿足調度的,當進程數超過負載時,資源分配合理度會急速下降,所以不太穩定。

9. 進程調度演算法

調度算指:根據系統資源配策略所規定資源配算
、先先服務短作業(進程)優先調度算
1.
先先服務調度算先先服務(FCFS)調度算種簡單調度算該算既用於作業調度
用於進程調度FCFS算比較利於作業(進程)利於短作業(進程)由知本算適合於CPU繁忙型作業
利於I/O繁忙型作業(進程)
2.
短作業(進程)優先調度算短作業(進程)優先調度算(SJ/PF)指短作業或短進程優先調度算該算既用於作業調度
用於進程調度其作業利;能保證緊迫性作業(進程)及處理;作業短估算
二、高優先權優先調度算
1.
優先權調度算類型照顧緊迫性作業使進入系統便獲優先處理引入高優先權優先(FPF)調度算
算用批處理系統作作業調度算作種操作系統進程調度用於實系統其用於作業調度
備隊列若干優先權高作業裝入內存其用於進程調度處理機配給緒隊列優先權高進程
進步該算兩種:
1)非搶占式優先權算
2)搶占式優先權調度算(高性能計算機操作系統)
2.
優先權類型
於高優先權優先調度算其核於:使用靜態優先權態優先權
及何確定進程優先權
3.
高響應比優先調度算
彌補短作業優先算足我引入態優先權使作業優先等級隨著等待間增加速率a提高
該優先權變化規律描述:優先權=(等待間+要求服務間)/要求服務間;即
=(響應間)/要求服務間
三、基於間片輪轉調度算
1.
間片輪轉間片輪轉般用於進程調度每調度CPU配隊首進程並令其執行間片
執行間片用完由記器發鍾斷請求該進程停止並送往緒隊列末尾;依循環
2.
級反饋隊列調度算
級反饋隊列調度算級反饋隊列調度算必事先知道各種進程所需要執行間目前公認種較進程調度算
其實施程:
1)
設置緒隊列並各隊列賦予同優先順序優先權越高隊列
每進程所規定執行間片越
2)
新進程進入內存首先放入第隊列末尾按FCFS原則排隊等候調度
能間片完便撤離;未完轉入第二隊列末尾同等待調度……
作業(進程)第隊列依第n隊列(隊列)便按第n隊列間片輪轉運行
3)
僅第隊列空閑調度程序才調度第二隊列進程運行;僅第1第(i-1)隊列空
才調度第i隊列進程運行並執行相應間片輪轉
4)
處理機處理第i隊列某進程新進程進入優先權較高隊列
則新隊列搶占運行處理機並運行進程放第i隊列隊尾

閱讀全文

與進程調度是通過某種演算法相關的資料

熱點內容
解壓縮文件怎麼老重啟 瀏覽:212
兒童智能關懷app蘋果為什麼不能用 瀏覽:706
tcpdump抓包命令 瀏覽:792
各大主播在用什麼app看電影 瀏覽:420
泰國恐怖片 和尚 瀏覽:219
寧夏品質壓縮機市場 瀏覽:186
日立螺桿壓縮機維修 瀏覽:427
識別英語單詞哪個app比較好 瀏覽:188
夫人被家丁強奸的泰國電影? 瀏覽:256
書香門第小說txt下載 瀏覽:454
服輸電影 瀏覽:814
女程序員手腕磨印子 瀏覽:864
5周歲看電影可以嗎 瀏覽:901
男女親熱把房子弄倒的韓國電影 瀏覽:979
什麼APP看台灣節目 瀏覽:350
csgo如何看伺服器 瀏覽:894
有一部美國電影叫什麼花? 瀏覽:138
命令行安裝dmg 瀏覽:646
阿加莎無人生還電影免費觀看 瀏覽:256
能看的那種網你知道幾個 瀏覽:115