KWALIFIKACJA INF2 + INF3 - STYCZEŃ 2014

PYTANIE NR 18.
IRQ (z ang. Interrupt Request)
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
IRQ to żądanie przerwania, czyli sygnał informujący procesor o zdarzeniu wymagającym natychmiastowej reakcji. Po jego wystąpieniu CPU przerywa bieżące wykonywanie kodu i uruchamia procedurę obsługi przerwania, a następnie wraca do przerwanego zadania. Pozostałe odpowiedzi opisują RAM, P2P lub DMA, nie IRQ.

Pełne wyjaśnienie:

IRQ (Interrupt Request) oznacza żądanie przerwania – mechanizm, dzięki któremu urządzenie lub kontroler może zasygnalizować procesorowi, że zaszło zdarzenie wymagające obsługi (np. zakończenie operacji I/O, nadejście danych, zdarzenie czasowe).

Gdy pojawia się żądanie przerwania, procesor (zgodnie z zasadami maskowania/prioritetów) przerywa wykonywanie bieżących instrukcji, zapisuje niezbędny kontekst i przechodzi do wykonania kodu procedury obsługi przerwania (ISR). Po zakończeniu obsługi CPU wraca do przerwanego miejsca wykonania.

Dlatego poprawny opis wskazuje na wstrzymanie bieżącego wykonywania i uruchomienie specjalnej procedury przez procesor. W praktyce szczegóły zależą od architektury i systemu operacyjnego (np. mapowanie wektorów przerwań, kontrolery przerwań), ale istota pozostaje ta sama: IRQ inicjuje obsługę zdarzenia przez CPU.

Dlaczego pozostałe odpowiedzi są błędne?

  • Opis "żądania przydziału maksymalnej wielkości pamięci RAM" dotyczy zarządzania pamięcią, a nie mechanizmu przerwań.
  • Stwierdzenie o połączeniu P2P między urządzeniami i oprogramowaniem miesza pojęcia z sieci/komunikacji i nie opisuje sygnału przerwania.
  • Opis "sterownika" oraz przesyłania danych do pamięci z pominięciem procesora przypomina DMA (bezpośredni dostęp do pamięci) lub ogólną rolę sterownika, ale IRQ nie jest "kanałem przesyłania danych"; to sygnał/zdarzenie inicjujące obsługę.

Wskazówka egzaminacyjna: jeśli odpowiedź mówi o "wykonaniu procedury przez CPU po sygnale" – to zwykle przerwania. Jeśli mówi o "transferze danych z pominięciem CPU" – to zwykle DMA.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
IRQ to żądanie przerwania (Interrupt Request) – sygnał informujący procesor o zdarzeniu, które wymaga obsługi. Po otrzymaniu IRQ CPU może przerwać bieżący kod, uruchomić procedurę obsługi przerwania (ISR), a potem wrócić do przerwanego zadania.
Urządzenie zgłasza IRQ, a procesor (zależnie od priorytetów i maskowania) zapisuje kontekst i przechodzi do kodu obsługi przerwania. ISR wykonuje niezbędne czynności (np. odczyt statusu urządzenia), potwierdza obsługę i umożliwia powrót do wcześniejszego wykonywania programu.
IRQ jest zdarzeniem asynchronicznym. Gdy CPU zaczyna obsługę przerwania, chwilowo przerywa wykonywanie bieżących instrukcji, aby wykonać ważny kod ISR. To nie jest trwałe zatrzymanie programu, tylko krótkie przełączenie wykonania na procedurę obsługi.
ISR to specjalny fragment kodu uruchamiany przez procesor po wystąpieniu przerwania. Jej zadaniem jest szybka obsługa zdarzenia (np. odczyt danych, skasowanie flagi przerwania), aby urządzenie mogło działać dalej. W systemach operacyjnych ISR jest częścią mechanizmu sterowników.
IRQ to sygnał, który uruchamia obsługę przez CPU (ISR). DMA to mechanizm, który pozwala przesyłać dane do/z pamięci z mniejszym udziałem CPU. Często oba współpracują: DMA robi transfer, a IRQ informuje, że transfer się zakończył.
Nie bezpośrednio. Przydział RAM to zadanie systemu operacyjnego i mechanizmów zarządzania pamięcią. IRQ dotyczy obsługi zdarzeń (np. z urządzeń peryferyjnych). Na egzaminie mylenie IRQ z RAM to typowa pułapka wynikająca z "sprzętowego" brzmienia obu tematów.
Pojęcie przerwań jest nadal kluczowe, ale sposób realizacji bywa inny niż w klasycznych liniach IRQ (np. stosuje się kontrolery APIC oraz przerwania wiadomościowe MSI/MSI-X). Na poziomie idei nadal chodzi o sygnał wywołujący obsługę zdarzenia przez CPU.
Przerwania mogą generować m.in. kontrolery dysków, karty sieciowe, urządzenia USB czy timery. Wspólna cecha jest taka, że urządzenie zgłasza zdarzenie, a system/CPU reaguje uruchamiając kod obsługi. To pozwala uniknąć ciągłego "odpytywania" urządzeń przez procesor.
Najczęściej: mylenie IRQ z DMA (transfer danych bez CPU), mylenie z przydziałem RAM, oraz traktowanie IRQ jako "sterownika". Dobra strategia: szukaj w odpowiedzi informacji o przerwaniu pracy CPU i uruchomieniu procedury obsługi – to cechy przerwań.
Poprawna definicja będzie mówiła o żądaniu przerwania i skutku w postaci uruchomienia obsługi przerwania przez procesor (ISR, wektor przerwania, przełączenie wykonania). Odpowiedzi o kanałach transferu danych, P2P lub przydziale RAM dotyczą innych mechanizmów.
info

To pytanie poprawnie rozwiązuje 58% zdających egzamin. średnie

Eksperci podkreślają: "IRQ to żądanie przerwania, czyli sygnał informujący procesor o zdarzeniu wymagającym natychmiastowej reakcji."

Źródła:

  • Intel 64 and IA-32 Architectures Software Developer’s Manual, Vol. 3A: System Programming Guide, rozdziały dotyczące "Interrupts and Exceptions" (opis mechanizmu przerwań). https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html - dostęp 2026-03-01
  • OSDev Wiki: "IRQ". https://wiki.osdev.org/IRQ - dostęp 2026-03-01
  • OSDev Wiki: "Interrupt Service Routines". https://wiki.osdev.org/Interrupt_Service_Routines - dostęp 2026-03-01

Materiały:

  • Podręcznik z podstaw systemów operacyjnych (rozdziały o przerwaniach i obsłudze I/O)
  • Dokumentacja architektury procesorów x86 (sekcje o przerwaniach i wyjątkach)
  • Materiały o architekturze PC: PIC/APIC, wektory przerwań, mapowanie przerwań

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego