49 lines
3.3 KiB
Markdown
49 lines
3.3 KiB
Markdown
# Betriebssystemkerne
|
|
|
|
|
|
> Gute **Architektur** sagt und _warum_ etwas getan wurde.
|
|
> Nicht _wie_ und nicht _wann_ und _wer_.
|
|
|
|
## Der Betriebssystemkern
|
|
- Enthält grundlegende Funktionen des Betriebssystems
|
|
- Systemaufrufe
|
|
- Benutzerverwaltung
|
|
- Prozessverwaltung inklusive Ausführungsreihenfolge ([Scheduling](06_prozessstruktur.md#zeitliche-ausf-hrung-von-prozessen))
|
|
- Interprozesskommunikation
|
|
- Prozessumschalter ([Dispatcher](06_prozessstruktur.md#zeitliche-ausf-hrung-von-prozessen))
|
|
- Gerätetreiber
|
|
- [Speicherverwaltung](06_prozessstruktur.md#prozesse-im-speicher)
|
|
- Dateisysteme zur Verwaltung von Dateien auf Speicherlaufwerken
|
|
- Ist die Schnittstelle zur Hardware des Computers
|
|
- Funktionalitäten im BS-Kern haben vollen Hardwarezugriff
|
|
- Funktionalitäten laufen als Prozess im Adressraum des Kerns
|
|
- Funktionalitäten müssen nicht zwingend im Kern positioniert sein, sie können auch über Dienste bereitgestellt werden (Architektur)
|
|
|
|
## Übersicht Betriebssystem
|
|

|
|
### Betriebssystemkern
|
|
- Der **Kernel-Bereich** ist privilegiert
|
|
### Die Anwendungsschicht
|
|
- Der **User-Bereich** ist nicht privilegiert, kann aber darauf aufbauende Funktionalitäten bereitstellen
|
|
- Zugriff auf die Hardware erfolgt alleinig durch die im _Kernel_ bereitgestellten Funktionalitäten (System-Calls)
|
|
|
|
|
|
## Monolitische Kerne
|
|
Ein Monolith enthält alle Funktionalitäten eines Betriebssystems
|
|
|
|
| Pro | Con |
|
|
|-------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------|
|
|
| Bessere **Ausführungsgeschwindigkeit** da weniger _Prozesswechsel_ notwendig sind | Abgestürzte Komponenten des Kerns können nicht separat neu gestartet werden -> können das gesamte BS zum Absturz bringen |
|
|
| Durch jahrelange Entwicklungstätigkeit ist eine gewachsene **Stabilität** vorhanden | |
|
|
|
|
## Minimale Kerne (Microkernel)
|
|
Hier befinden sich nur die nötigsten Funktionen im Kernel
|
|
|
|
| Pro | Con |
|
|
|--------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------|
|
|
| Alle weiteren Funktionalitäten laufen als _Dienste_ bzw. _Server_ im User-Modus | Abgestürzte Komponenten des Kerns können nicht separat neu gestartet werden -> können das gesamte BS zum Absturz bringen |
|
|
| Ausgelagerte Funktionalitäten sind leichter austauschbar, bietet bessere _Stabilität_ und _Sicherheit_ | |
|
|
|
|
|
|
## Hybride Kerne
|
|
Enthalten Komponenten, die, aus Geschwindigkeitsgründen, zusätzlich in den Kernel aufgenommen werden |