国产三级农村妇女在线,国产精品毛片a∨一区二区三区,国产乱子伦视频大全,国产精品色拉拉,国产欧美日韩一区二区三区,

首頁 > 技術(shù) > Linux

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

Linux 2022-07-14 21:44:19

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

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

上下文切換

從一個(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宏是用嵌入式匯編寫成的,較難理解。

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ù)來對(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)程分為三類

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

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

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

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

交互式進(jìn)程

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

批處理進(jìn)程

此類進(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),很明顯這類程序不能容忍長(zhǎng)時(shí)間的調(diào)度延遲,輕則影響電影放映效果,重則機(jī)毀人亡

推薦學(xué)習(xí):Linux視頻教程

以上就是linux的任務(wù)調(diào)度機(jī)制是什么的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注其它相關(guān)文章!

TAg

加載中~

本網(wǎng)站LOGO受版權(quán)及商標(biāo)保護(hù),版權(quán)登記號(hào):國(guó)作登字-2022-F-10126915,未經(jīng)湖南木星科技官方許可,嚴(yán)禁使用。
Copyright ? 2012-2022 湖南木星科技有限公司(木星網(wǎng))版權(quán)所有
轉(zhuǎn)載內(nèi)容版權(quán)歸作者及來源網(wǎng)站所有,本站原創(chuàng)內(nèi)容轉(zhuǎn)載請(qǐng)注明來源,商業(yè)媒體及紙媒請(qǐng)先聯(lián)系:aishangyiwan@126.com

工信部備案號(hào):湘ICP備19012813號(hào)-5