中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux任務調度機制指的是什么

發布時間:2022-07-20 14:31:40 來源:億速云 閱讀:191 作者:iii 欄目:建站服務器

本篇內容主要講解“linux任務調度機制指的是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“linux任務調度機制指的是什么”吧!

linux的任務調度機制是指系統在某個事件執行的特定命令或程序;每一個CPU都會有一個隊列來存儲處于“TASK_RUNNING”狀態的任務,任務調度就是從這些隊列中取出優先級最高的任務作為下一個放入CPU執行的任務。

本教程操作環境:linux7.3系統、Dell G3電腦。

linux的任務調度機制是什么

是指系統在某個時間執行的特定的命令或程序

在Linux中,每一個CPU都會有一個隊列來存儲處于TASK_RUNNING狀態的任務,任務調度就是從這些隊列中取出優先級最高的任務作為下一個放入CPU執行的任務。

任務的調度需要進過兩個過程:上下文切換和選擇算法

上下文切換

從一個進程的上下文切換到另一個進程的上下文,因為其發生頻率很高,所以通常都是調度器效率高低的關鍵。

schedule()函數中調用了switch_to宏,這個宏實現了進程之間的真正切換,其代碼存放于include/i386/system.h。

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

switch_to()函數正常返回,棧上的返回地址是新進程的task_struct::thread::eip,即新進程上一次被掛起時設置的繼續運行的位置(上一次執行switch_to()時的標號”1:”位置)。

至此轉入新進程的上下文中運行。這其中涉及到wakeup,sleepon等函數來對進程進行睡眠與喚醒操作。

選擇算法

Linux schedule()函數將遍歷就緒隊列中的所有進程,調用goodness()函數計算每一個進程的權值weight,從中選擇權值最大的進程投入運行。Linux的調度器主要實現在schedule()函數中。

調度步驟:

Schedule函數工作流程如下:

(1)清理當前運行中的進程
(2)選擇下一個要運行的進程(pick_next_task)
(3)設置新進程的運行環境
(4) 進程上下文切換

Linux 調度器將進程分為三類

進程調度是操作系統的核心功能。

調度器只是調度過程中的一部分,進程調度是非常復雜的過程,需要多個系統協同工作完成。

本文所關注的僅為調度器,它的主要工作是在所有RUNNING 進程中選擇最合適的一個。

作為一個通用操作系統,Linux 調度器將進程分為三類:

交互式進程

此類進程有大量的人機交互,因此進程不斷地處于睡眠狀態,等待用戶輸入。典型的應用比如編輯器 vi。此類進程對系統響應時間要求比較高,否則用戶會感覺系統反應遲緩。

批處理進程

此類進程不需要人機交互,在后臺運行,需要占用大量的系統資源。但是能夠忍受響應延遲。比如編譯器。

實時進程

實時對調度延遲的要求最高,這些進程往往執行非常重要的操作,要求立即響應并執行。比如視頻播放軟件或飛機飛行控制系統,很明顯這類程序不能容忍長時間的調度延遲,輕則影響電影放映效果,重則機毀人亡

到此,相信大家對“linux任務調度機制指的是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

庆阳市| 江孜县| 简阳市| 和静县| 富阳市| 吉林省| 桃园市| 陆丰市| 渝中区| 越西县| 呼和浩特市| 汪清县| 油尖旺区| 双峰县| 天台县| 汉中市| 南宁市| 哈密市| 商城县| 大关县| 尼勒克县| 偃师市| 浦县| 石屏县| 洱源县| 通化县| 永泰县| 永嘉县| 闵行区| 隆化县| 呼和浩特市| 博爱县| 文登市| 深泽县| 米林县| 嘉义市| 安化县| 如东县| 临潭县| 蓬溪县| 三门县|