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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

linux

linux内核杂记(12)-进程调度(7)

發(fā)布時(shí)間:2025/3/12 linux 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux内核杂记(12)-进程调度(7) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

與調(diào)度相關(guān)的系統(tǒng)調(diào)用

1、進(jìn)程的nice值

nice() 設(shè)置進(jìn)程的nice值

2、進(jìn)程的調(diào)度策略

sched_setscheduler()設(shè)置進(jìn)程的調(diào)度策略
sched_getscheduler()獲得進(jìn)程的調(diào)度策略
核心在于讀取和設(shè)置進(jìn)程的調(diào)度策略和實(shí)時(shí)優(yōu)先級(jí)(進(jìn)程task_struct的policy和rt_priority)。

3、進(jìn)程的實(shí)時(shí)優(yōu)先級(jí)

sched_setparam() 設(shè)置進(jìn)程的實(shí)時(shí)優(yōu)先級(jí)
sched_getparam() 獲得進(jìn)程的實(shí)時(shí)優(yōu)先級(jí)
sched_param結(jié)構(gòu)體的 rt_priority

sched_get_priority_max()獲得實(shí)時(shí)優(yōu)先級(jí)的最大值
sched_set_priority_min()設(shè)置實(shí)時(shí)優(yōu)先級(jí)的最小值

sched_rr_get_interval() 獲得進(jìn)程的時(shí)間片值

4、處理器綁定

親和力試圖使進(jìn)程盡量在同一處理器上運(yùn)行,也允許強(qiáng)制指定處理器
親和力保存在task_struct的cpu_allowed位掩碼標(biāo)志,每一位對(duì)應(yīng)一個(gè)處理器
sched_setaffinity()設(shè)置進(jìn)程處理器的親和力
sched_getaffinity()獲得進(jìn)程處理器的親和力

內(nèi)核提供的強(qiáng)制處理器綁定的方法很簡(jiǎn)單:
1)當(dāng)處理進(jìn)行每一次創(chuàng)建時(shí),它繼承了其父進(jìn)程的相關(guān)掩碼。
2)由于父進(jìn)程運(yùn)行在指定處理器上,子進(jìn)程也運(yùn)行在相應(yīng)處理器上
3)當(dāng)處理器綁定關(guān)系改變時(shí),內(nèi)核會(huì)采用“移植線程”把任務(wù) 推到合法處理器上
4)加載平衡器只把任務(wù)拉到允許的處理器上。
5)進(jìn)程只運(yùn)行在指定處理器上,由該進(jìn)程描述符的 cpus_allowed域設(shè)置。
5、放棄處理器時(shí)間
sched_yield()暫時(shí)放出處理器
1)將進(jìn)程從活動(dòng)隊(duì)伍中移到過(guò)期隊(duì)伍中實(shí)現(xiàn),由此產(chǎn)生的效果不僅搶占了該進(jìn)程,并將其放入優(yōu)先級(jí)隊(duì)列的最后面,還將其放放過(guò)期隊(duì)列中-這樣保證 在一段時(shí)間 它不會(huì)再被執(zhí)行了。實(shí)時(shí)進(jìn)程不能過(guò)期 ,只被移動(dòng)至其優(yōu)先級(jí)隊(duì)列最后
2)應(yīng)用程序甚至內(nèi)核代碼在調(diào)用sched_yield()前,應(yīng)仔細(xì)考慮是否真的希望放棄處理器時(shí)間 。
3)內(nèi)核代碼為了方便,可直接調(diào)用yield(),先確定給定進(jìn)程確實(shí)處于可執(zhí)行狀態(tài),然后再調(diào)用sched_yield()。
用戶空間的應(yīng)用程序則直接使用sched_yield()系統(tǒng)調(diào)用。

總結(jié)

以上是生活随笔為你收集整理的linux内核杂记(12)-进程调度(7)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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