作者goldflower (金色小黃花)
看板Grad-ProbAsk
標題Re: [OS]洪逸課本interrupt流程圖
時間Mon Sep 28 13:18:32 2015
查了一下 這部分原文書好像寫得比較清楚
前面略過
I/O完成後 device controller丟interrupt給kernel
kernel查表後決定要把資料丟給哪個interrupt handler處理
雖然我原本以為只有一個interrupt handler...不知道是不是我英文理解錯誤
有的話煩請訂正
(The correct interrupt handler receives the interrupt via the interrupt vector
table)
interrupt handler做完事情後會通知device driver
接下來應該就是那格內發生的事情
The device driver receives the signal, determines which I/O request has
completed, determines the request's status, and signals the kernel I/O
subsystem that the request has been completed.
看起來是雖然已經決定資料要如何處理
但系統還不知道要從什麼地方取資料以及哪些I/O完成
之後再決定要處理哪些process的動作
這些要從device driver上面獲得資訊
因為如果系統要越過device driver去知道這些訊息的話
等於driver本身就要寫在OS裡面
所以就透過一個封裝的driver去連接硬體
有什麼地方要補充或修正的請說一下XD
不過比較尷尬的是其實原文書在這邊完全沒有出現ISR
ISR是在以win7做案例那章才有提到一點
這樣實在不知道考試要寫洪逸版還是恐龍版...XD
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.60.217.209
※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1443417515.A.DD5.html
推 forever3580: 感謝你解釋的很詳細 ~~ 我也說一下我的想法好了 從 09/28 15:33
推 forever3580: 感謝你解釋的很詳細 ~~ 我也說一下我的想法好了 從 09/28 19:21
→ forever3580: 恐龍的內文跟流程圖來看 我覺得 interrupt handler 09/28 19:21
→ forever3580: 應該就包含了ISR 當interrupt handler結束之後 資料 09/28 19:21
→ forever3580: 已經在記憶體裡了 剩下的部分我的看法跟你差不多~ 09/28 19:22
→ forever3580: ~ 09/28 19:22