linux任務(wù)調(diào)度機(jī)制指的是什么

本篇內(nèi)容主要講解“l(fā)inux任務(wù)調(diào)度機(jī)制指的是什么”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“l(fā)inux任務(wù)調(diào)度機(jī)制指的是什么”吧!

射陽(yáng)ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書(shū)合作)期待與您的合作!

linux的任務(wù)調(diào)度機(jī)制是指系統(tǒng)在某個(gè)事件執(zhí)行的特定命令或程序;每一個(gè)CPU都會(huì)有一個(gè)隊(duì)列來(lái)存儲(chǔ)處于“TASK_RUNNING”狀態(tài)的任務(wù),任務(wù)調(diào)度就是從這些隊(duì)列中取出優(yōu)先級(jí)最高的任務(wù)作為下一個(gè)放入CPU執(zhí)行的任務(wù)。

本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。

linux的任務(wù)調(diào)度機(jī)制是什么

是指系統(tǒng)在某個(gè)時(shí)間執(zhí)行的特定的命令或程序

在Linux中,每一個(gè)CPU都會(huì)有一個(gè)隊(duì)列來(lái)存儲(chǔ)處于TASK_RUNNING狀態(tài)的任務(wù),任務(wù)調(diào)度就是從這些隊(duì)列中取出優(yōu)先級(jí)最高的任務(wù)作為下一個(gè)放入CPU執(zhí)行的任務(wù)。

任務(wù)的調(diào)度需要進(jìn)過(guò)兩個(gè)過(guò)程:上下文切換和選擇算法

上下文切換

從一個(gè)進(jìn)程的上下文切換到另一個(gè)進(jìn)程的上下文,因?yàn)槠浒l(fā)生頻率很高,所以通常都是調(diào)度器效率高低的關(guān)鍵。

schedule()函數(shù)中調(diào)用了switch_to宏,這個(gè)宏實(shí)現(xiàn)了進(jìn)程之間的真正切換,其代碼存放于include/i386/system.h。

switch_to宏是用嵌入式匯編寫(xiě)成的,較難理解。

switch_to()函數(shù)正常返回,棧上的返回地址是新進(jìn)程的task_struct::thread::eip,即新進(jìn)程上一次被掛起時(shí)設(shè)置的繼續(xù)運(yùn)行的位置(上一次執(zhí)行switch_to()時(shí)的標(biāo)號(hào)”1:”位置)。

至此轉(zhuǎn)入新進(jìn)程的上下文中運(yùn)行。這其中涉及到wakeup,sleepon等函數(shù)來(lái)對(duì)進(jìn)程進(jìn)行睡眠與喚醒操作。

選擇算法

Linux schedule()函數(shù)將遍歷就緒隊(duì)列中的所有進(jìn)程,調(diào)用goodness()函數(shù)計(jì)算每一個(gè)進(jìn)程的權(quán)值weight,從中選擇權(quán)值最大的進(jìn)程投入運(yùn)行。Linux的調(diào)度器主要實(shí)現(xiàn)在schedule()函數(shù)中。

調(diào)度步驟:

Schedule函數(shù)工作流程如下:

(1)清理當(dāng)前運(yùn)行中的進(jìn)程
(2)選擇下一個(gè)要運(yùn)行的進(jìn)程(pick_next_task)
(3)設(shè)置新進(jìn)程的運(yùn)行環(huán)境
(4) 進(jìn)程上下文切換

Linux 調(diào)度器將進(jìn)程分為三類(lèi)

進(jìn)程調(diào)度是操作系統(tǒng)的核心功能。

調(diào)度器只是調(diào)度過(guò)程中的一部分,進(jìn)程調(diào)度是非常復(fù)雜的過(guò)程,需要多個(gè)系統(tǒng)協(xié)同工作完成。

本文所關(guān)注的僅為調(diào)度器,它的主要工作是在所有RUNNING 進(jìn)程中選擇最合適的一個(gè)。

作為一個(gè)通用操作系統(tǒng),Linux 調(diào)度器將進(jìn)程分為三類(lèi):

交互式進(jìn)程

此類(lèi)進(jìn)程有大量的人機(jī)交互,因此進(jìn)程不斷地處于睡眠狀態(tài),等待用戶輸入。典型的應(yīng)用比如編輯器 vi。此類(lèi)進(jìn)程對(duì)系統(tǒng)響應(yīng)時(shí)間要求比較高,否則用戶會(huì)感覺(jué)系統(tǒng)反應(yīng)遲緩。

批處理進(jìn)程

此類(lèi)進(jìn)程不需要人機(jī)交互,在后臺(tái)運(yùn)行,需要占用大量的系統(tǒng)資源。但是能夠忍受響應(yīng)延遲。比如編譯器。

實(shí)時(shí)進(jìn)程

實(shí)時(shí)對(duì)調(diào)度延遲的要求最高,這些進(jìn)程往往執(zhí)行非常重要的操作,要求立即響應(yīng)并執(zhí)行。比如視頻播放軟件或飛機(jī)飛行控制系統(tǒng),很明顯這類(lèi)程序不能容忍長(zhǎng)時(shí)間的調(diào)度延遲,輕則影響電影放映效果,重則機(jī)毀人亡

到此,相信大家對(duì)“l(fā)inux任務(wù)調(diào)度機(jī)制指的是什么”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)頁(yè)題目:linux任務(wù)調(diào)度機(jī)制指的是什么
網(wǎng)頁(yè)鏈接:http://muchs.cn/article34/ghisse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、電子商務(wù)、網(wǎng)站營(yíng)銷(xiāo)全網(wǎng)營(yíng)銷(xiāo)推廣、關(guān)鍵詞優(yōu)化手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)