warum erstellen wir Prozesse nicht von Grund auf neu und machen daraus einen „Fork“ unter Linux?

warum erstellen wir Prozesse nicht von Grund auf neu und machen daraus einen „Fork“ unter Linux?

warum erstellen wir in Linux keinen Prozess von Grund auf neu, wie „init“ erstellt wird, sondern erstellen mit der Branching-Methode einen „Fork“ davon?

Antwort1

Die überwiegende Mehrheit der Prozesse wird als Teil einer kooperierenden Gruppe erstellt, die einen gemeinsamen Kontext (geöffnete Dateien, aktuelles Verzeichnis, Umgebungsvariablen usw.) hat. Die Anpassungen am Kontext eines neuen Prozesses sind so spezifisch für den Zweck, für den er erstellt wurde, dass es am einfachsten ist, den übergeordneten Prozess zu paaren und seinen im neuen Prozess ausgeführten Code alle notwendigen Änderungen vornehmen zu lassen, bevor execveder nächste Prozess ausgeführt wird.

Clean-Slate-Prozesse sind die winzige MinderheitAusnahme, nicht die Regel.

verwandte Informationen