三言两语说说进程调度
時間片是一個數(shù)值,它表明進(jìn)程在被搶占之前可以持續(xù)運(yùn)行的時間。
調(diào)度程序總是選擇時間片未用盡而且優(yōu)先級最高的進(jìn)程運(yùn)行。
進(jìn)程不一定一次就用完所有的時間片,可以分幾次通過多次調(diào)度用完。
進(jìn)程時間片用盡后在本論調(diào)度中不會再被運(yùn)行,直到等待其他所有進(jìn)程的時間片耗盡,在那個時候,所以進(jìn)程的時間片將被重新計算。
一個CPU有一個可執(zhí)行隊列,一個可執(zhí)行隊列有兩個優(yōu)先級數(shù)組。活動優(yōu)先級數(shù)組和過期優(yōu)先級數(shù)組。?
進(jìn)程的nice值不是進(jìn)程的優(yōu)先級,他們不是一個概念,但是進(jìn)程nice值會影響到進(jìn)程的優(yōu)先級變化。
一個CPU有多個等待隊列,根據(jù)不同的事件類型進(jìn)行劃分,當(dāng)一個進(jìn)程由于等待某一個事件而進(jìn)入睡眠時,即被加入到該事件的等待隊列中,如果當(dāng)某個事件的等待隊列的條件到達(dá)時,所有的進(jìn)程都被移動到可執(zhí)行隊列等待調(diào)度。
可執(zhí)行隊列把處于TASK_RUNNING狀態(tài)的所有進(jìn)程組織在一起。 TASK_STOPPED或 TASK_ZOMBIE狀態(tài)的進(jìn)程不鏈接在專門的鏈表中,也沒必要把它們分組,因為父進(jìn)程可以通過進(jìn)程的PID,或進(jìn)程間的親屬關(guān)系檢索到子進(jìn)程。把TASK_INTERRUPTIBLE 或 TASK_UNINTERRUPTIBLE狀態(tài)的進(jìn)程再分成很多類,其每一類對應(yīng)一個特定的事件。在這種情況下,進(jìn)程狀態(tài)提供的信息滿足不了快速檢索進(jìn)程,因此,有必要引入另外的進(jìn)程鏈表。這些鏈表叫等待隊列。等待隊列在內(nèi)核中有很多用途,尤其對中斷處理、進(jìn)程同步及定時用處更大。
轉(zhuǎn)載于:https://www.cnblogs.com/li-hao/archive/2012/02/23/2365437.html
總結(jié)
以上是生活随笔為你收集整理的三言两语说说进程调度的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对AFTER触发器的一些整理
- 下一篇: js中对日期进行加减