2008年2月15日 星期五

中斷 (interrupt) 幹麼要發明?

中斷
首先要想到的
就是為什麼要發明中斷這個東西

OS Kernel如果沒有這個東西 會是一個什麼樣子的Kernel

試想
如果一個使用者 要做file copy的動作
I/O通常是會扮演系統效能一個很影響的原因

如果沒有中斷的Kernel
Kernel在copy files的時候
必須在每次copy的時候
都必須等待I/O有空 以及做事完畢
在等待的時候
就會閒置了
這個時候如果Kernel不去做別的事情
感覺有點浪費

所以中斷這個功能就因應而生嚕
因為有了中斷
Kernel可以先將要COPY的資料交給別的component, like DMA
然後去做別的事情
等到 other compoment 發出了中斷 告訴cpu, Kernel就可以去處理copy file done的事情

在硬體的部份
CPU會預留中斷的pin
各個 component 中斷的pin 會跟CPU 的pin相連
因此
component發出的中斷 cpu就會知道
所以
Kernel也就會知道

透過Facebook分享

沒有留言: