天天看點

linux什麼是實時排程,Linux中的實時排程

svenfx..

17

在實時排程中,FIFO和RR與非實時排程具有完全相同的含義.始終以FIFO方式選擇過程,然而,與SCHED_RR的時間量不同,SCHED_FIFO的時間量不受限制.

SCHED_FIFO程序不會搶占相同優先級的SCHED_RR程序.

sched_setscheduler(2) - Linux手冊頁

...

"程序的排程政策确定将其插入具有相同靜态優先級的程序清單的位置以及它将如何在此清單中移動.所有排程都是搶占式的:如果具有更高靜态優先級的程序準備好運作,則目前正在運作程序将被搶占并傳回到等待清單中以獲得其靜态優先級.排程政策僅确定具有相同靜态優先級的可運作程序清單中的排序."

...

"SCHED_FIFO程序一直運作,直到它被I/O請求阻塞,它被更高優先級的程序搶占,或者它調用sched_yield(2)."

...

"當SCHED_FIFO程序變為可運作時,它将被插入清單的末尾以獲得其優先級."

...

"SCHED_RR:循環排程

SCHED_RR是SCHED_FIFO的簡單增強.上面針對SCHED_FIFO描述的所有内容也适用于SCHED_RR,除了每個程序僅允許運作最大時間量程.如果SCHED_RR程序已經運作了等于或長于時間量程的時間段,則它将被放在清單的末尾以獲得其優先級.已經被更高優先級程序搶占并随後作為運作程序恢複執行的SCHED_RR程序将完成其循環時間量的未到期部分.