close

 Q: 為什麼Interrupt 要分成High level ISR 和 Low level ISR? 簡述Interrupt 如何在電腦中運行。

https://docs.oracle.com/cd/E19253-01/816-4854/interrupt-18/index.html from Oracle : Writing Device driver

High-level interrupts are those interrupts that interrupt at the level of the scheduler and above. This level does not allow the scheduler to run.

Therefore, high-level interrupt handlers cannot be preempted by the scheduler. High-level interrupts cannot block because of the scheduler.

High-level interrupts can only use mutual exclusion locks for locking.

The high-level interrupt routine services the device and queues the data. The high-level routine triggers a software interrupt if the low-level routine is not running.

The low-level interrupt routine is started by the high-level interrupt routine, which triggers a software interrupt, it runs until there is nothing left to process, as the following example shows.

從估狗上查到的 interrupt level 通常指的是priority level, 也有proprietary 的interrupt level 分high和 low像Oracle 就有, 和

Nucleus : https://gohelrakesh.wordpress.com/2008/09/28/nucleus-interrupt-handling/

維基百科中interrupt handler有 first level 和 second level , first level 較快且會產生 jitter 又叫 FLIH(First level interrupt handler) 所以盡量不要用, 盡量改為SLIH

不過~以上的答案其實都不確定是題目的意思XD  看起來資料太少了

arrow
arrow
    文章標籤
    programming
    全站熱搜

    紅線 發表在 痞客邦 留言(0) 人氣()