国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表

圖片精選

主站蜘蛛池模板: 南木林县| 陵水| 江油市| 县级市| 乐山市| 漳浦县| 板桥市| 天气| 抚远县| 盱眙县| 昌图县| 浙江省| 运城市| 清苑县| 广河县| 江北区| 和林格尔县| 平罗县| 桂平市| 廊坊市| 汤阴县| 北票市| 庆云县| 台北市| 苍山县| 祁阳县| 天峻县| 清水县| 彰武县| 洮南市| 当涂县| 定边县| 综艺| 资中县| 浏阳市| 西华县| 乌鲁木齐县| 沧州市| 万安县| 辛集市| 南汇区|