Schichten des UNIX -Betriebssystems
Das UNIX -Betriebssystem ist in einer geschichteten Architektur strukturiert, wobei jede Schicht Dienste für die darüber liegenden Schichten bereitstellt. Hier ist eine Aufschlüsselung der Schlüsselschichten:
1. Hardware: Die Grundlage des Systems, bestehend aus physischen Komponenten wie CPU, Speicher, Speichergeräten und Netzwerkschnittstellen.
2. Kernel: Der Kern des Betriebssystems, der für die Verwaltung der Hardware und die Bereitstellung von wesentlichen Diensten wie Speicherverwaltung, Prozessplanung, Dateisystemverwaltung und Gerätetreiber verantwortlich ist.
3. Systemaufrufe: Eine Schnittstelle zwischen den Benutzerprogrammen und dem Kernel. Dies sind Funktionen auf niedriger Ebene, mit denen Programme Kernel-Dienste anfordern können.
4. Systembibliotheken: Sammlungen von Funktionen, die Abstraktionen auf höherer Ebene über Systemaufrufe liefern. Diese Bibliotheken erleichtern den Programmierern die Entwicklung von Anwendungen.
5. Shell: Ein Befehlszeilen-Interpreter, mit dem Benutzer mit dem System interagieren können. Es empfängt Befehle vom Benutzer, interpretiert sie und führt sie durch, indem Sie die entsprechenden Systemprogramme oder Bibliotheken aufrufen.
6. Benutzerprogramme: Anwendungen und Versorgungsunternehmen, die oben im Betriebssystem ausgeführt werden. Sie interagieren mit dem Kernel über Systemaufrufe oder Bibliotheken.
Wechselwirkung zwischen Shell und Kernel
Lassen Sie uns die Interaktion mit dem Befehl "ls`" als Beispiel verstehen:
1. Benutzereingabe: Der Benutzer tippt "ls" in der Shell.
2. Shell -Interpretation: Die Shell erkennt "LS" als integriertes Befehl oder als benutzerdefiniertes Programm.
3. Programmausführung: Wenn "ls" ein integrierter Befehl ist, führt die Shell diese direkt aus. Wenn es sich um ein benutzerdefiniertes Programm handelt, erstellt die Shell einen neuen Prozess, um es auszuführen.
4. Systemanruf: Das Programm (entweder die Shell oder das "LS` -Programm) muss auf Dateien auf der Festplatte zugreifen. Es verwendet einen Systemaufruf wie `open ()`, `read ()` oder `stat ()`, um diesen Dienst vom Kernel anzufordern.
5. Kernel Aktion: Der Kernel verarbeitet die Systemanforderung, indem die erforderlichen Vorgänge im Dateisystem ausgeführt werden (z. B. Lesen von Dateimetadaten oder Abrufdateiinhalte).
6. Ergebnis zurückgegeben: Der Kernel gibt die angeforderten Informationen an das Programm zurück.
7. Datenanzeige: Das Programm (in diesem Fall `ls`) formatiert und zeigt die Ausgabe an den Benutzer an.
Daher fungiert die Shell als Vermittler zwischen dem Benutzer und dem Kernel und bietet eine benutzerfreundliche Schnittstelle zur Ausführung von Programmen und Zugriff auf Systemressourcen.
Zusammenfassung
Die geschichtete Architektur von UNIX ermöglicht Flexibilität, Wartbarkeit und Effizienz. Die Shell fungiert als Befehlsinterpreter und interagiert mit dem Kernel über Systemaufrufe, um Programme auszuführen und Ressourcen zu verwalten. Mit dieser Interaktion können Benutzer ihre Systeme verwalten und Anwendungen reibungslos ausführen.