KWALIFIKACJA INF1 + INF2 + INF8 - CZERWIEC 2008

PYTANIE NR 18.
Sterownik przerwań obsługuje zgłoszenia przerwań pochodzące od układów wejścia- wyjścia. Które urządzenie ma przydzielony numer przerwania o najwyższym priorytecie?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
W klasycznej architekturze PC z kontrolerem przerwań typu PIC najwyższy priorytet ma najniższa linia IRQ. Przerwanie od czasomierza systemowego (timer) jest zwykle podłączone do IRQ0, dlatego jest obsługiwane jako najbardziej priorytetowe. Pozostałe urządzenia mają w tej tabeli niższe priorytety.

Pełne wyjaśnienie:

Sterownik przerwań (w ujęciu klasycznego PC) współpracuje z kontrolerem przerwań typu PIC, który obsługuje linie IRQ przypisane do urządzeń wejścia/wyjścia. W tym modelu istnieje ustalony porządek priorytetów: linie o niższym numerze IRQ są traktowane jako ważniejsze i są obsługiwane wcześniej, gdy wystąpią równocześnie zgłoszenia.

Czasomierz systemowy (timer systemowy) generuje cykliczne przerwania wykorzystywane m.in. do odmierzania czasu systemowego oraz do pracy planisty (np. wywłaszczanie, kwant czasu). W tradycyjnym mapowaniu PC timer jest powiązany z IRQ0, czyli z linią o najwyższym priorytecie. Dlatego odpowiedź "Czasomierz systemowy." jest poprawna.

Dlaczego pozostałe odpowiedzi nie pasują w tym ujęciu:

  • "Karta graficzna." – w PC nie ma typowego, stałego przypisania "najwyższego IRQ" dla grafiki; często działa przez magistrale i mechanizmy, które nie odpowiadają prostemu, historycznemu schematowi PIC.
  • "Klawiatura." – klasycznie klawiatura ma własną linię przerwania, ale nie jest to najwyższy priorytet w porządku PIC (jest niżej niż timer).
  • "Zegar czasu rzeczywistego." – RTC dostarcza przerwań (np. alarm, okresowe), jednak w typowym przypisaniu PC korzysta z innej linii IRQ niż timer, a więc ma niższy priorytet.

Uwaga praktyczna: we współczesnych komputerach priorytety i mapowania przerwań zależą od APIC/MSI i konfiguracji platformy, więc pytanie ma charakter głównie historyczny/dydaktyczny, odnoszący się do klasycznego IRQ/PIC.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Przerwanie sprzętowe to sygnał od urządzenia (I/O), który wymusza reakcję CPU i systemu operacyjnego. Procesor przerywa wykonywanie bieżącego kodu i uruchamia procedurę obsługi przerwania, aby szybko obsłużyć zdarzenie, np. tyknięcie timera lub sygnał z kontrolera klawiatury.
Czasomierz systemowy generuje cykliczne zdarzenia, dzięki którym system odmierza czas i może przełączać zadania. Umożliwia m.in. działanie planisty (kwant czasu), aktualizację liczników czasu oraz wybudzanie wątków czekających na timeouty.
W klasycznym kontrolerze przerwań PIC priorytet jest uporządkowany stałym schematem, w którym niższy numer linii ma wyższy priorytet. Ponieważ timer systemowy jest podłączony do IRQ0, jego przerwania są obsługiwane przed innymi, gdy zgłoszenia pojawią się jednocześnie.
IRQ (Interrupt Request) to linia żądania przerwania, którą urządzenie może zgłosić do kontrolera przerwań. Kontroler (np. PIC) arbitruje zgłoszenia, uwzględnia priorytety i przekazuje informację do CPU, aby uruchomić odpowiednią obsługę przerwania.
W typowym, klasycznym mapowaniu IRQ dla PIC timer systemowy (IRQ0) ma najwyższy priorytet. Klawiatura ma własną linię IRQ, ale o niższym priorytecie niż IRQ0. W nowoczesnych systemach priorytety mogą wyglądać inaczej z powodu APIC/MSI i konfiguracji.
RTC (zegar czasu rzeczywistego) podtrzymuje czas kalendarzowy, często także przy wyłączonym zasilaniu (bateria). Czasomierz systemowy to źródło cyklicznych przerwań używanych do pracy systemu (planowanie zadań, timeouty). To różne układy i różne zastosowania.
Priorytet w klasycznym PIC wynika z numeru linii IRQ, a nie z "ważności" urządzenia dla użytkownika. Karta graficzna w PC nie ma jednego, stałego przypisania "najwyższego IRQ" i często korzysta z mechanizmów magistrali (np. MSI), które nie pasują do prostego schematu PIC.
Najczęściej przy nauce podstaw architektury PC i systemów operacyjnych, a także przy diagnostyce starszego sprzętu, systemów wbudowanych lub wirtualizacji/emulacji, gdzie nadal używa się modelu PIC/IRQ. W nowych platformach częściej analizuje się APIC i MSI.
Częsty błąd to mylenie timerów: RTC z czasomierzem systemowym. Inny błąd to kierowanie się intuicją ("ważniejsze urządzenie = wyższy priorytet") zamiast zasad priorytetu PIC. Warto też pamiętać, że współczesne mapowania przerwań są bardziej złożone niż klasyczna tabela IRQ.
Nie zawsze. Współczesne platformy używają m.in. APIC oraz MSI/MSI-X, gdzie routing i priorytety są konfigurowalne i zależne od sprzętu/firmware oraz systemu. Prosta tabela IRQ jest najbardziej przydatna jako model dydaktyczny i dla starszych rozwiązań zgodnych z PIC.
info

Statystycznie 25% uczniów zna prawidłową odpowiedź. bardzo trudne

Specjaliści zwracają uwagę: "W klasycznej architekturze PC z kontrolerem przerwań typu PIC najwyższy priorytet ma najniższa linia IRQ."

Źródła:

  • OSDev Wiki: "Interrupts" oraz powiązane strony o IRQ/PIC (mapowanie, rola timera) https://wiki.osdev.org/Interrupts - dostęp 2026-02-27
  • OSDev Wiki: "PIC" (priorytety i działanie 8259 PIC) https://wiki.osdev.org/PIC - dostęp 2026-02-27
  • OSDev Wiki: "IRQ" (klasyczne przypisania linii IRQ w PC) https://wiki.osdev.org/IRQ - dostęp 2026-02-27

Materiały:

  • Dokumentacja i materiały o architekturze PC/AT i liniach IRQ (PIC 8259A)
  • Podręczniki z podstaw systemów operacyjnych (przerwania, planista, timer)
  • Artykuły techniczne o różnicach: PIC vs APIC oraz MSI/MSI-X

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego