2013-07-22 15 views
8

enter image description here Linux Çekirdeğini Anlamak için Çekirdeğin Eşzamanlı Ara Verme işlemini anlamaya çalışıyorum.Tetik Çekirdeği Interrupt İşleyicisi: Nasıl?

Bu işlemde, Kernel Interrupt Handler'ı nasıl ve kim tetikleyecek?

Bunu düzeltmeme ve ile ilgili sorumu açıklığa kavuşturmak için bir tane yardım isterim 1) Kernel Interrupt Handler'ı nasıl ve kim tetikler? 2) Yeni donanım nasıl tanımlanır veya var olan donanım kesme işleyicileri nasıl değiştirilir?

Teşekkürler Advance!

cevap

9

Interrupt handling Robert Love'ın "Linux Çekirdeği Geliştirme" adlı bu resmi oldukça iyi bir şekilde kesme yolunu açıklar. İşlemci, önceden tanımlanmış ente noktası do_IRQ()'daki çekirdeği keser. İlgili kesme işleyicisi varsa, yürütülür.

Ara vermek için, kesme işleyicinizi request_irq() ile kaydetmelisiniz.

+0

Havalı! Teşekkürler rasen ... Bu da interrupt işleyicileri oluşturmak için bir referans var. Takdir ederim! –

+0

Bunu yapmak için en az 15 reputatoion'a ihtiyacım var .. –

+0

@Keen Learner: Şimdi var ;-) – Eugene