国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

內(nèi)核線程優(yōu)先級設(shè)置的方法介紹

2020-01-26 16:18:17
字體:
供稿:網(wǎng)友

  個人理解,內(nèi)核級線程和進程是一樣的,前者與POSIX線程(pthread)有很大的區(qū)別。因此,內(nèi)核的進程調(diào)度策略和系統(tǒng)調(diào)用也適用于內(nèi)核級線程。

  調(diào)度策略有三種:

    1.SCHED_NORMAL 非實時調(diào)度策略,默認(rèn)情況下是100~139,由nice值決定;

    2.SCHED_FIFO實時調(diào)度策略,先到先服務(wù)。一旦占用cpu則一直運行。一直運行直到有更高優(yōu)先級任務(wù)到達或自己放棄

    3.SCHED_RR實時調(diào)度策略,時間片輪轉(zhuǎn)。當(dāng)進程的時間片用完,系統(tǒng)將重新分配時間片,并置于就緒隊列尾。同樣可以被高優(yōu)先級搶占。

  兩種實時優(yōu)先級范圍在0至MAX_RT_PRIO-1之間,默認(rèn)為0到99。

  相關(guān)的系統(tǒng)調(diào)用(來自于LKD,不同內(nèi)核可能有所不同):

nice()  設(shè)置進程的nice值
sched_setscheduler()設(shè)置進程的調(diào)度策略
sched_getscheduler()獲取進程的調(diào)度策略
sched_setparam()設(shè)置進程的實時優(yōu)先級
sched_getparam()獲取進程的實時優(yōu)先級
sched_get_priority_max()獲取實時優(yōu)先級的最大值
sched_get_priority_min()獲取實時優(yōu)先級的最小值
sched_rr_get_interval()
獲取進程的時間片值
sched_setaffinity()設(shè)置進程的處理器的親和力
sched_getaffinity()獲取進程的處理器的親和力
sched_yield()暫時讓出處理器

  設(shè)置時需要用到struct sched_param這個結(jié)構(gòu)。

  以下為我寫的內(nèi)核線程中的部分代碼:

復(fù)制代碼 代碼如下:

struct sched_param param;
    param.sched_priority = 99;
    sched_setscheduler(current, SCHED_FIFO, ¶m)//出錯時返回-1

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 金堂县| 池州市| 时尚| 元江| 贵阳市| 鲁山县| 达拉特旗| 临夏县| 南靖县| 惠来县| 武隆县| 大兴区| 广灵县| 祁门县| 新郑市| 咸宁市| 赣榆县| 丰台区| 黎平县| 星子县| 昌邑市| 新和县| 长沙市| 万源市| 阿坝县| 平山县| 望都县| 海伦市| 金坛市| 吉水县| 荣昌县| 大埔县| 文登市| 胶州市| 梅河口市| 麟游县| 德州市| 浏阳市| 江津市| 桃源县| 安徽省|