內核是否能被搶占在內核編譯的時候是可選的,看了《深入理解Linux內核》一書,作者認為很難對內核搶占下一個定義,我也不想強行下一個定義,始終是新手嘛,那就說一下內核搶占的現象,通過現象來理解內核搶占機制
內核搶占的一個現象:正在內核態運行的進程。可能在運行期間被另外一個進程替代。
深入理解Linux內核(第三版)(英文版+中文版) 下載見 http://www.linuxidc.com/Linux/2011-08/41228.htm
上述現象是允許內核搶占的情況,但並不能說內核搶占就是上述現象,大家都知道在執行中斷處理程序的時候,是不能被別的進程搶到當前中斷處理程序擁有的cpu的,這就是個例外。
總結一下,在允許內核搶占的情況下,下列情況不允許內核搶占:
關於內核搶占計數器變化之後的調度詳見下圖