昨天講完了上半部的考量之後,可以知道上半部就是要追求快速,能盡快把事情處理好交給下半部就是上半部最重要的責任了,下半部負責的中斷處理通常都是比較耗時的工作,像是需要計算的任務,數據複製,數據的包裝以及轉發等等,這些任務會放到下半部執行,但是事實上並沒有嚴格的規則約束究竟什麼樣的工作應該要放到下半部執行,這些都是由驅動開發者決定的。
interrupt的處理流程,基於各個cpu的架構有所不同,也會有所差異,主要大方向的處理方式可以整理成下面這張圖。
這部分,我一直沒有辦法好好地理解到底在做什麼,可能有帶更多資料或是更多課程解答我的疑惑了
被Linux 徹底吞噬的一個單元