「操作系統設計和組態」第351頁。 鍵盤中斷服務程序是kbd_interrupt(行15335)釋放。它調用scode從鍵盤控制器芯片獲取掃描代碼。 ...所有原始掃描代碼都放置在循環緩衝區中,並引發當前控制檯的tp-> tty _events標誌(15350行)。 ...並且在此之後,kbd_interrupt立即返回。 ...一個繼續行13795的語句使主迴路的一個新的迭代立即開始,在行13764.當執行轉移到循環的控制檯設備巾> TTY _events標誌的頂部,現在被發現是集,和KB _read(線15360),特定於設備的程序中,是使用在控制檯的TTY結構的TP-> TTY _devread字段指針調用。 Kb_read從鍵盤的循環緩衝區讀取掃描碼,並將ASCII碼放入本地緩衝區。在minix3的終端驅動程序keyboard.c中,爲什麼ibuf存在?
我覺得IBUF水溼有一個以上的掃描碼。所以我認爲一個char變量就足夠了。爲什麼通告ibuf存在?
在MINIX 3,內核更改中斷到HARD_INT消息時,終端驅動程序處理的中斷作爲一個消息。 – ling 2013-04-23 09:15:06