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...
Zagadnienia poruszane w tym artykule:
Artykuł znajduje się w miesięczniku "Programista" nr 67 (12/2017). Jest to wydanie z przełomu stycznia i lutego 2018 r. Szczegółowy spis treści: http://programistamag.pl/programista-12-2017-67/
Autorem artykułu jest Grzegorz Jaszczyk. Programista systemów wbudowanych w krakowskiej firmie Semihalf. Zajmuje się programowaniem platformowym dla systemów bazujących na procesorach ARM (Linux, U-Boot, ATF). Prywatnie ceni sobie aktywny wypoczynek i walory naturalnego krajobrazu.