(składnia)

Grzegorz Jaszczyk: Czas na przerwanie

Programista 12/2017 (67) styczeń/luty [okładka]

Obsługa przerwań jest jedną z kluczowych operacji, z jaką musi poradzić sobie system operacyjny. Implementacja przerwań w Linuksie jest zależna od architektury całego systemu, a w szczególności od procesora, kontrolera/kontrolerów przerwań i sposobu ich połączenia. Niniejszy artykuł podzielony jest na dwie części. W pierwszej krótko opisano popularnie stosowany w systemach ARMowych kontroler przerwań GIC. Druga natomiast traktuje o obsłudze przerwań w Linuksie, przybliżając takie zagadnienia jak: domeny przerwań, połączenia kaskadowe, rozdzielenie obsługi przerwania na części (tzw. top, bottom halves), a także trasowanie przerwań. W artykule przybliżono zarówno mechanizmy generyczne, jak i zależne od architektury – skupiono się głównie na SoCach ARM/ARM64 oraz kontrolerach przerwań typu GIC.