Ich habe verschiedene Beziehungen untersucht, die zwischen einem Betriebssystem und einem Benutzerprozess bestehen können. Ich bin auf die Abbildung unten gestoßen. Es zeigt eine Architektur, in der die OS-Funktionen mit Benutzerprozessen ausgeführt werden.
1) Ich wollte den Teil des Diagramms mit der Bezeichnung OS-Funktion klarstellen. Ist dieser Teil für alle Benutzerprozesse identisch? Mit anderen Worten, ist dies gemeinsam genutzter Code, auf den jeder Prozess zugreift?
2) Ist der einzige Unterschied zwischen den Prozessschaltfunktionen (graue Basis im Diagramm) und den OS-Funktionen, die die OS-Funktionen als Benutzerprozesse ausführen, während die Prozessschaltfunktionen als OS-Prozesse arbeiten? Warum muss es so einen Unterschied geben?
Begleittext zur Bereitstellung des Kontexts für das Diagramm:
"Eine Alternative, die bei Betriebssystemen auf kleineren Computern (PCs, Workstations) üblich ist, besteht darin, praktisch die gesamte Betriebssystemsoftware im Kontext eines Benutzerprozesses auszuführen. Die Ansicht ist, dass das Betriebssystem in erster Linie eine Sammlung von Routinen ist, zu deren Ausführung der Benutzer aufruft verschiedene Funktionen, die innerhalb der Umgebung des Benutzerprozesses ausgeführt werden .... Zu einem bestimmten Zeitpunkt verwaltet das Betriebssystem n Prozessabbilder ......... Wenn ein Interrupt-, Trap- oder Supervisor-Aufruf auftritt, ist der Prozessor Im Kernel-Modus wird die Steuerung an das Betriebssystem übergeben. Um die Steuerung von einem Benutzerprogramm an das Betriebssystem zu übergeben, wird der Moduskontext gespeichert und ein Moduswechsel zu einer Betriebssystemroutine durchgeführt. Die Ausführung wird jedoch innerhalb des aktuellen Benutzerprozesses fortgesetzt. Somit wird keine Prozessumschaltung durchgeführt, sondern nur eine Modusumschaltung innerhalb desselben Prozesses.
(S.136 Betriebssysteme von Stallings)