logo ‟overcq”

Słownik pojeć programistycznych

Ostatnia aktualizacja: .

przerwanie

Procedura przerywająca program komputerowy wykonywana przez AP, gdy zaistnieją określone okoliczności. Po powrocie z tej procedury program jest kontynuowany.

Istnieją różne rodzaje przerwań programu:

  • • 〈przerwanie systemu zarządzania〉
  • • 〈niewstrzymywalne przerwanie sprzętowe〉, np. gdy zaistniał określony błąd w systemie komputerowym
  • • 〈wstrzymywalne przerwanie sprzętowe〉, gdy zaistniały określone warunki w urządzeniu systemu komputerowego
  • • 〈wyjątek〉, gdy podczas wykonywania instrukcji w AP zaistniały określone warunki, zwykle oznaczające błąd instrukcji
  • • 〈przerwanie programowe〉, inicjowane instrukcją programu

System operacyjny konfiguruje ponumerowane procedury obsługi przerwań (oprócz ‹przerwania systemu zarządzania›) w IDT, natomiast przekierowuje przerwania sprzętowe przy użyciu I/O APIC. Przekierowanie na wyższe numery jest konieczne, ponieważ przerwania sprzętowe (IRQ) są generowane z tymi samymi numerami jak ‹wyjątki›.

LAPIC obecny w każdym rdzeniu procesora z osobna — wzbudza przerwania sprzętowe z następujących źródeł:

  • • urządzenia systemu komputerowego
  • • zapis do odpowiedniego rejestru APIC inicjujący IPI, NMI (‹niewstrzymywalne przerwanie sprzętowe›) lub ‹przerwanie systemu zarządzania›
  • • skonfigurowany zegar APIC (‹wstrzymywalne przerwanie sprzętowe›)
  • • skonfigurowane PMI
  • • skonfigurowane przerwanie monitora temperatury (‹wstrzymywalne przerwanie sprzętowe›)
  • • skonfigurowane przerwanie błędu APIC (‹wstrzymywalne przerwanie sprzętowe›)

Przerwania sprzętowe oraz ‹przerwanie systemu zarządzania› po zakończeniu wykonywania procedury obsługi są kontynuowane od instrukcji, przed którą została zainicjowana procedura obsługi; czyli program jest kontynuowany tak, jakby nic się nie wydarzyło. Natomiast ‹przerwania programowe› oraz niektóre ‹wyjątki› są kontynuowane od następnej instrukcji.

‹Wyjątki› dzielą się na trzy rodzaje:

  • • wyjątki generowane przy błędzie wykonania instrukcji — wznawiają od tej samej instrukcji
  • • wyjątki pułapkowe, generowane przy zaistnieniu ustalonych warunków — wznawiają od następnej instrukcji
  • • wyjątki zakańczające — nie wznawiają programu