Benutzer:Jst/Kernel
Kernel
Der Kernel ist der zentrale Teil des Betriebssystems. Er verbindet die Hardware (z.B. den Prozessor) mit der Anwendungssoftware (z.B. Fortnite). Der Kernel hat direkten Zugriff auf die Hardware, alle übergeordneten Softwareschichten können auf diese nur über ihn zugreifen.
Aufgaben
Der Kernel übernimmt zentrale Aufgaben, ohne die andere Software nicht funktionieren würde:
Prozessverwaltung
Der Kernel sorgt dafür, dass Prozesse nacheinander oder gleichzeitig ausgeführt werden können. Dabei verwaltet er, wieviel Rechenzeit jeder Prozess abbekommt und wann er pausiert und fortgesetzt werden soll.
Speicherverwaltung
Der Kernel kontrolliert Zugriffe auf den Arbeitsspeicher und sorgt dafür, dass Programme nur auf ihre eigenen Dateien zugreifen. Er verhindert so, dass Programme sich gegenseitig in die Quere kommen.

Geräteverwaltung
Der Kernel steuert Ein- und Ausgabegeräte (z.B. den Bildschirm vor deiner eleganten Nase) über Treiber. Dadurch können diese Geräte mit den Programmen kommunizieren und du dein Gerät bedienen.
Dateisystem-Verwaltung
Der Kernel verwaltet Dateien im Speicher (Festplatte, SSD) und sorgt dafür dass Dateien erstellt, geöffnet, bearbeitet und gespeichert, sowie gelöscht werden können.
Sicherheits- und Zugriffsrechte
In Betriebssystemen mit mehreren Benutzern regelt der Kernel, welcher Benutzer worauf zugreifen darf.
Arten von Kernels
Es gibt drei verschiedene wichtige Arten von Kernels. Welche alle einen verschiedenen Aufbau und Vor-Nachteile haben.
Monolithische Kernel
Beim Monolithischen Kernel werden alle verschiedenen Betriebssysteme(z.B. Dateisystem, Gerätetreiber, Speicherverwaltung und Netzwerk) direkt im Kernel verarbeitet. Dies sorgt für verschiedene Vor- und Nachteile. Vorteil ist zum einen, dass der Kernel sehr schnell Arbeitet, da alles im selben Adressraum verarbeitet wird. Nachteil ist aber die fehlende Stabilität, da wenn eine Sache nicht mehr läuft gar nichts mehr läuft, da alles miteinander verbunden ist. Der Kernel ist also sehr Performance basiert und wird oft bei Leistungsorientierten Systemen benutzt.
Mikro Kernel
Anders als beim Monolithischen Kernel werden beim Mikro Kernel
Dieser Abschnitt wird gerade von Aaron der Macker überarbeitet
