中斷程序爲什麼不能發生進程切換

在Linux內核中,中斷處理程序運行期間是不能發生進程切換的,因此,也就不能夠使用睡眠。因爲中斷的內核控制路徑在恢復時需要的所有數據都存放在被中斷進程的內核棧中,如果發生了進程切換,那麼在恢復時就找不到之前的那個進程,因爲也就不能夠獲得那個進程的內核棧中的數據,使得中斷能夠正確的退出。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章