Was ist ein Kernel?
Wie verbindet ein Betriebssystem Hardware und Programme?
Die in diesem Blog verfassten Artikel wurden mit dem Ziel erstellt, zu unterrichten. Außerdem können die Informationen im Artikel falsch sein, also seien Sie bitte vorsichtig.
Programme wie Spiele, Browser und Notizblöcke manipulieren die CPU, den Speicher und die Festplatte nicht direkt. Der Kernteil des Betriebssystems, der die Ressourcen zwischen Programmen und Hardware verwaltet, wird als Kernel bezeichnet.
Der Kernel ist ein Ressourcenmanager
Auf einem Computer gibt es viele Programme, die gleichzeitig laufen wollen, aber die CPU-Kerne und der Arbeitsspeicher sind begrenzt. Der Kernel entscheidet, wem er CPU-Zeit gibt, welcher Speicher verfügbar ist und wie auf Dateien und Geräte zugegriffen wird.
Anwendung
Spiel / Browser / Notizblock
↓ Anfrage
Kernel
Prozess-/Speicher-/Datei-/Geräteverwaltung
↓ Kontrolle
CPU/RAM/SSD/Tastatur/Netzwerkkarte
Die repräsentativen Rollen des Kernels sind wie folgt.
- Verwaltet die Ausführungsreihenfolge von Prozessen und Threads.
- Erstellt einen virtuellen Speicherplatz, der von jedem Programm verwendet wird.
- Verwalten Sie Dateien und Verzeichnisse über das Dateisystem.
- Die Kommunikation mit der Hardware erfolgt über Gerätetreiber.
- Verarbeitet Netzwerkpakete.
- Verhindert, dass ein Programm den Speicher eines anderen Programms manipuliert.
Das Programm stellt eine Anfrage an den Kernel
Nur weil eine Anwendung eine Datei lesen möchte, erstellt sie nicht direkt SSD-Steuerbefehle. Wenn Sie eine vom Betriebssystem bereitgestellte Funktion aufrufen, prüft der Kernel Berechtigungen und Argumente und führt dann die eigentliche Aufgabe aus.
std::ifstream file("save.dat");
Im C++-Code sieht es aus wie ein einfaches Dateiobjekt, aber später nutzt es die Dateiöffnungs- und Lesefunktionen des Betriebssystems. Daher wird der Kanal, über den eine Anwendung Kernelfunktionen anfordert, als Systemaufruf bezeichnet.
Wenn der Kernel abstürzt, ist der gesamte Computer betroffen.
Wenn ein allgemeines Programm schief geht, wird normalerweise nur dieses Programm beendet. Da jedoch der Kernel und die Kernel-Mode-Treiber das gesamte System verwalten, kann es bei einem fehlerhaften Speicherzugriff hier zum Stillstand des gesamten Betriebssystems kommen.
Da der Kernel-Code über hohe Berechtigungen verfügt, sind Überprüfung und Stabilität daher sehr wichtig. Der Kernel ist nicht einfach eines der Betriebssystemprogramme, sondern die zentrale Schicht, die die sichere gemeinsame Nutzung von Hardware steuert.