我在閱讀操作系統概念(Silberschatz,Galvin,Gagne),第6版,第20章。我知道Linux內核代碼是不可搶佔的(2.6版之前)。但它可以被硬件中斷中斷。如果內核處於關鍵部分中間併發生中斷,並且它也執行了關鍵部分,會發生什麼情況?當內核代碼中斷時會發生什麼?
從我在書上看到:
是 Linux使用第二保護計劃適用於在中斷服務程序發生關鍵 部分。的基本工具是 處理器中斷控制 硬件...
好的,當一個ISR具有關鍵部分使用該方案。但它只會讓更多的中斷失效。首先被這個中斷中斷的內核代碼是什麼?
這是正確的 - 如果一個關鍵部分與中斷處理程序共享,它必須使用中斷禁用自旋鎖變種之一。 – caf 2011-05-30 06:49:08