|
內核可搶占到底指的是什麼呢,用戶態核心態指的是什麼?
比如我的頻率為100HZ,tick為10ms,slice為幾個tick,如果內核不可搶占的話可以在一個tick裡面進行主動式搶占cpu嗎(指不是進程A主動放棄CPU)?
``````|<--------- slice --------->|
```````<-tick->
A:````|...........|...........|...........|``````````````````|..........|.........
B:``````````````````````|...........|...........|............|```````````
因為我看了很多 說內核可搶占是指運行在內核態時(比如系統調用 )可以被優先級更高的進程搶先,而並不是說一個tick內,另一方面,一個tick內也可以有用戶態和內核態,如果說一個tick內只有核心態的話那兩者的概念指的什麼?
另一方面,我把2.6內核編譯成可搶占的,但為什麼還是在每次tick完成時才schedule?見附圖一。(下面的為實時進程上面 的為普通進程)。如果編譯內核時選上ACPI後就可以在一個tick內主動搶占了,難到這就是指的內核可搶占嗎?好像有些不對啊,一個tick可以有用戶態也可以有核心態,為什麼以前不可以呢,linux2.4可以在一個tick內進行主動搶占嗎? 第二,選了ACPI後,不管處理器下是否是編譯成內核可搶占還是傳統服務器模式,都可以在一個tick內主動被更高優先級進程搶占(比如實時進程),那麼內核可搶占究竟指的是什麼? |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|