悟空學Linux專欄----第37篇

  俗話說人怕出名,豬怕壯,八戒一直很低調,但是他現在又壯有出名。人氣爆棚,但也爲八戒帶來了不少的麻煩,比如今天,明明是悟空的課,唐僧卻硬是讓八戒來講。八戒打算給學生們講軟中斷的執行,這是八戒最喜歡講的一節課。

  八戒:同學們,軟中斷的執行其實很簡單,主要是通過一個“while”循環來執行,該循環搜尋32個軟中斷掛起的軟中斷,如果搜尋發現該軟中斷被掛起了,則執行該掛起的軟中斷的中斷執行函數。

  2號童鞋:老師,我記得悟空老師說過,軟中斷內部是可以繼續觸發軟中斷的,而軟中斷又只允許被中斷打斷,那麼如果我係統中有很多軟中斷存在,不是系統中其他的進程就永遠被掛起了嗎?

  八戒:其實,你想到的這個問題Linux的設計人員早就考慮到了,爲了防止軟中斷佔用系統太多的時間,Linux內核爲每個處理器創建了一個內核線程,當系統出現大量的軟中斷的時候,系統就會將一部分的軟中斷交給這些線程來處理,從而保證了系統中各個線程能夠運行。

  2號童鞋:那麼老師,如果系統將這些軟中斷交給其他的線程來處理,而線程是會被調度給打斷的,那是不是說軟中斷的執行也可以被除了中斷之外的調度程序給打斷啊?

  八戒:當然不是啦,軟中斷處理程序的線程是除了只能被中斷打斷,和自己主動放棄CPU之外,是不能被其他的任何進程給打斷。

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