日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux--几种常见的进程调度算法

發(fā)布時(shí)間:2023/11/30 linux 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux--几种常见的进程调度算法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

進(jìn)程調(diào)度:在操作系統(tǒng)中調(diào)度是指一種資源分配,因而調(diào)度算法是指:根據(jù)系統(tǒng)的資源分配策略所規(guī)定的資源分配算法。操作系統(tǒng)管理了系統(tǒng)的有限資源,當(dāng)有多個(gè)進(jìn)程(或多個(gè)進(jìn)程發(fā)出的請(qǐng)求)要使用這些資源時(shí),因?yàn)橘Y源的有限性,必須按照一定的原則選擇進(jìn)程(請(qǐng)求)來占用資源。這就是調(diào)度。目的是控制資源使用者的數(shù)量,選取資源使用者許可占用資源或占用資源。

1 先來先服務(wù)(隊(duì)列)

? ? 先來先服務(wù)(FCFS)調(diào)度算法是一種最簡(jiǎn)單的調(diào)度算法,該算法既可用于作業(yè)調(diào)度,也可用于進(jìn)程調(diào)度。當(dāng)在作業(yè)調(diào)度中采用該算法時(shí),每次調(diào)度都是從后備作業(yè)隊(duì)列中選擇一個(gè)或多個(gè)最先進(jìn)入該隊(duì)列的作業(yè),將它們調(diào)入內(nèi)存,為它們分配資源、創(chuàng)建進(jìn)程,然后放入就緒隊(duì)列。在進(jìn)程調(diào)度中采用FCFS算法時(shí),則每次調(diào)度是從就緒隊(duì)列中選擇一個(gè)最先進(jìn)入該隊(duì)列的進(jìn)程,為之分配處理機(jī),使之投入運(yùn)行。該進(jìn)程一直運(yùn)行到完成或發(fā)生某事件而阻塞后才放棄處理機(jī)。算法總是把處理機(jī)分配給最先進(jìn)入就緒隊(duì)列的進(jìn)程,一個(gè)進(jìn)程一旦分得處理機(jī),便一直執(zhí)行下去,直到該進(jìn)程完成或阻塞時(shí),才釋放處理機(jī)。
缺點(diǎn):比較有利于長(zhǎng)作業(yè),而不利于短作業(yè)。 有利于CPU繁忙的作業(yè),而不利于I/O繁忙的作業(yè)。

2 最短優(yōu)先(優(yōu)先隊(duì)列)

? ? 最短優(yōu)先調(diào)度算法是指對(duì)短作業(yè)或短進(jìn)程優(yōu)先調(diào)度的算法。它們可以分別用于作業(yè)調(diào)度和進(jìn)程調(diào)度。短作業(yè)優(yōu)先(SJF)的調(diào)度算法是從后備隊(duì)列中選擇一個(gè)或若干個(gè)估計(jì)運(yùn)行時(shí)間最短的作業(yè),將它們調(diào)入內(nèi)存運(yùn)行。而短進(jìn)程優(yōu)先(SPF)調(diào)度算法則是從就緒隊(duì)列中選出一個(gè)估計(jì)運(yùn)行時(shí)間最短的進(jìn)程,將處理機(jī)分配給它,使它立即執(zhí)行并一直執(zhí)行到完成,或發(fā)生某事件而被阻塞放棄處理機(jī)時(shí)再重新調(diào)度。

缺點(diǎn):長(zhǎng)作業(yè)的運(yùn)行得不到保證。


3 輪轉(zhuǎn)法(RoundRobin)

將系統(tǒng)中所有的就緒進(jìn)程按照FCFS原則,排成一個(gè)隊(duì)列。每次調(diào)度時(shí)將CPU分派給隊(duì)首進(jìn)程,讓其執(zhí)行一個(gè)時(shí)間片。時(shí)間片的長(zhǎng)度從幾個(gè)ms到幾百ms。在一個(gè)時(shí)間片結(jié)束時(shí),發(fā)生時(shí)鐘中斷調(diào)度程序據(jù)此暫停當(dāng)前進(jìn)程的執(zhí)行,將其送到就緒隊(duì)列的末尾,并通過上下文切換執(zhí)行當(dāng)前的隊(duì)首進(jìn)程。 進(jìn)程可以未使用完一個(gè)時(shí)間片,就出讓CPU(如阻塞)。

4 多級(jí)反饋隊(duì)列算法

設(shè)置多個(gè)就緒隊(duì)列,分別賦予不同的優(yōu)先級(jí),如逐級(jí)降低,隊(duì)列1的優(yōu)先級(jí)最高。每個(gè)隊(duì)列執(zhí)行時(shí)間片的長(zhǎng)度也不同,規(guī)定優(yōu)先級(jí)越低則時(shí)間片越長(zhǎng),如逐級(jí)加倍。2 新進(jìn)程進(jìn)入內(nèi)存后,先投入隊(duì)列1的末尾,按FCFS算法調(diào)度;若按隊(duì)列1一個(gè)時(shí)間片未能執(zhí)行完,則降低投入到隊(duì)列2的末尾,同樣按FCFS算法調(diào)度;如此下去,降低到最后的隊(duì)列,則"時(shí)間片輪轉(zhuǎn)"算法調(diào)度直到完成。僅當(dāng)較高優(yōu)先級(jí)的隊(duì)列為空,才調(diào)度較低優(yōu)先級(jí)的隊(duì)列中的進(jìn)程執(zhí)行。如果進(jìn)程執(zhí)行時(shí)有新進(jìn)程進(jìn)入較高優(yōu)先級(jí)的隊(duì)列,則搶先執(zhí)行新進(jìn)程,并把被搶先的進(jìn)程投入原隊(duì)列的末尾。


進(jìn)程調(diào)度的性能評(píng)價(jià):

進(jìn)程調(diào)度雖然是在系統(tǒng)內(nèi)部的低級(jí)調(diào)度,但進(jìn)程調(diào)度的優(yōu)劣直接影響作業(yè)調(diào)度的性能。那么,怎樣評(píng)價(jià)進(jìn)程調(diào)度的優(yōu)劣呢?反映作業(yè)調(diào)度優(yōu)劣的周轉(zhuǎn)時(shí)間和平均周轉(zhuǎn)時(shí)間只在某種程度上反映了進(jìn)程調(diào)度的性能,例如,其執(zhí)行時(shí)間部分中實(shí)際上包含有進(jìn)程等待(包括就緒狀態(tài)時(shí)的等待)時(shí)間,而進(jìn)程等待時(shí)間的多少是要依靠進(jìn)程調(diào)度策略和等待事件何時(shí)發(fā)生等來決定的。因此,進(jìn)程調(diào)度性能的商量是操作系統(tǒng)設(shè)計(jì)的一個(gè)重要指標(biāo)。我們說進(jìn)程調(diào)度性能的衡量方法可分為定形和定量?jī)煞N。在定形衡量方面,首先是調(diào)度的可靠住。包括一次進(jìn)程調(diào)度是否可能引起數(shù)據(jù)結(jié)構(gòu)的破壞等。這要求我們對(duì)調(diào)度時(shí)機(jī)的選擇和保存CPU現(xiàn)場(chǎng)十分謹(jǐn)慎。另外,簡(jiǎn)潔性也是衡量進(jìn)程調(diào)度的一個(gè)重要指標(biāo),由于調(diào)度程序的執(zhí)行涉及到多個(gè)進(jìn)程和必須進(jìn)行上下文切換,如果調(diào)度程序過于繁瑣和復(fù)雜,將會(huì)耗去較大的系統(tǒng)開銷。這在用戶進(jìn)程調(diào)用系統(tǒng)調(diào)用較多的情況下,將會(huì)造成響應(yīng)時(shí)間大幅度增加。進(jìn)程調(diào)度的定量評(píng)價(jià)包括CPU的利用率評(píng)價(jià)、進(jìn)程在就緒隊(duì)列中的等待時(shí)間與執(zhí)行時(shí)間之比等。實(shí)際上由于進(jìn)程進(jìn)入就緒隊(duì)列的隨機(jī)模型很難確定,而且進(jìn)程上下文切換等也將影響進(jìn)程的執(zhí)行效率,LL而對(duì)進(jìn)程調(diào)度進(jìn)行解析是很困難的。一般情況下,大多利用模擬或測(cè)試系統(tǒng)響應(yīng)時(shí)間的方法來評(píng)價(jià)進(jìn)程調(diào)度的性能。


總結(jié)

以上是生活随笔為你收集整理的linux--几种常见的进程调度算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。