Ich lese den Wikipedia-Artikel zum Prozessmanagement . Mein Fokus liegt auf Linux. Ich kann die Beziehung und Unterschiede zwischen Systemaufruf, Nachrichtenübergabe und Unterbrechung in ihren Konzepten und Zwecken nicht herausfinden. Sind sie alle für Prozesse, um Anfragen an den Kernel für Ressourcen und Services zu richten?
Einige Zitate aus dem Artikel und einige andere:
Es gibt zwei Möglichkeiten, wie ein Betriebssystem während der Ausführung eines Programms die Kontrolle über den Prozessor wiedererlangen kann, damit das Betriebssystem die Zuordnung aufheben oder die Zuordnung aufheben kann:
- Der Prozess gibt einen Systemaufruf aus (manchmal als Software-Interrupt bezeichnet). Beispielsweise wird bei einer E / A-Anforderung der Zugriff auf eine Datei auf der Festplatte angefordert.
- Ein Hardware-Interrupt tritt auf. Zum Beispiel wurde eine Taste auf der Tastatur gedrückt oder ein Timer läuft ab (wird beim präventiven Multitasking verwendet).
Es gibt zwei Techniken, mit denen ein Programm, das im Benutzermodus ausgeführt wird, die Dienste des Kernels anfordern kann:
* System call * Message passing
Ein Interrupt ist ein asynchrones Signal, das die Notwendigkeit von Aufmerksamkeit anzeigt, oder ein synchrones Ereignis in der Software, das die Notwendigkeit einer Änderung der Ausführung anzeigt.
Ein Hardware-Interrupt veranlasst den Prozessor, seinen Ausführungsstatus zu speichern und die Ausführung eines Interrupt-Handlers zu starten. Software-Interrupts werden in der Regel als Befehle im Befehlssatz implementiert, die einen Kontextwechsel zu einem Interrupt-Handler ähnlich einem Hardware-Interrupt verursachen.