Linux 组调度学习
組調(diào)度
? ? 通常調(diào)度器是針對(duì)單個(gè)任務(wù)。
? ? 用戶A有兩個(gè)任務(wù)在運(yùn)行,用戶B正在運(yùn)行48個(gè)任務(wù)。組調(diào)度使CFS能夠?qū)τ脩鬉和用戶B進(jìn)行公平調(diào)度。
? ? 為了實(shí)現(xiàn)組調(diào)度,引入調(diào)度實(shí)體的概念。
? ? sched_entity定義在include/linux/sched.h中。
? ? 成員:for load-balancing,調(diào)度實(shí)體上的運(yùn)行節(jié)點(diǎn),該調(diào)度實(shí)體上是否在運(yùn)行隊(duì)列(紅黑樹)上,任務(wù)開始運(yùn)行的時(shí)間,任務(wù)總的運(yùn)行時(shí)間,應(yīng)當(dāng)占用CPU的時(shí)間,任務(wù)最近一次執(zhí)行前的sum_exec_runtime,......,
? ? 當(dāng)我們定義了CONFIG_FAIR_GROUP_SCHED時(shí),就開啟了組調(diào)度。
? ? 在linux內(nèi)核中,使用task_group結(jié)構(gòu)來管理組調(diào)度的組。所有存在的task_group組成一個(gè)樹型結(jié)構(gòu)(與cgroup的目錄結(jié)構(gòu)相對(duì)應(yīng))。
總結(jié)
以上是生活随笔為你收集整理的Linux 组调度学习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 操作系统任务执行和任务切换的基本实现原理
- 下一篇: Linux文件的切分和结合