01801 Betriebssysteme KE 1 Prüfungsvorbereitung

#2 Unterbrechungen

Was passiert bei einer Software-Unterbrechung?

Beispiel: Ein C-Programm benutzt die Bibliotheksfunktion read als einen Prozeduraufruf:
 
count = read(fd, buffer, nbytes)
 
 
  1. Der Compiler übersetzt die Operation read in eine TRAP-Instuktion, um einen Moduswechsel stattfinden zu lassen. Dabei werden die Unterbrechungsnummer von read und die Parameter des Aufrufs in Register übergeben.

  2. Über den Unterbrechungsvektor findet die CPU die Startadresse der Unterbrechungsroutine für den Systemaufruf read.

  3. Nach der Ausführung der Unterbrechungsroutine kehrt der Prozeduraufruf zurück.

Diskussion