This commit is contained in:
David Schirrmeister 2024-04-29 14:41:06 +02:00
parent 1ec1d18863
commit 6e1e649b56
3 changed files with 31 additions and 5 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@ -27,8 +27,8 @@
- 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
## Kernarten
### Monolitische Kerne
Ein Monolith enthält alle Funktionalitäten eines Betriebssystems
| Pro | Con |
@ -36,7 +36,7 @@ Ein Monolith enthält alle Funktionalitäten eines Betriebssystems
| 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)
### Minimale Kerne (Microkernel)
Hier befinden sich nur die nötigsten Funktionen im Kernel
| Pro | Con |
@ -45,5 +45,31 @@ Hier befinden sich nur die nötigsten Funktionen im Kernel
| 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
### Hybride Kerne
Enthalten Komponenten, die, aus Geschwindigkeitsgründen, zusätzlich in den Kernel aufgenommen werden
| Pro | Con |
|-------------------------------------------|-----------------------------------------------------------------------------------------------------------------|
| höhere Geschwindigkeit als minimale Kerne | keine klare Definition, was in den Kernel integiert wird |
| höhere Stabilität als monolithische Kerne | Systeme differieren stark -> kann zu einer fehlenden Unterstützung der Hardware- und Software-Hersteller führen |
### Vergleich monolithischer Kern / minimaler Kern
![image_18.png](image_18.png)
## Alternative Architekturen
_Flaschenhals_ alle bestehenden Systeme liegt in ihren Schichtenmodellen
- Anwendung hat _keinen direkten Zugriff auf Hardware_
- _Kommunikation und Datenfluss_ wird über Bibliotheken und deren Kernel abgewickelt
- _Zugangskontrolle_ weiterhin über Bibliotheken und Kernel
## Programmierschnittstellen
**Systemaufruf (System Call)** ist eine API, die es ermöglicht auf Dienste und Ressourcen des BS zuzugreifen
- Implementierung von Systemaufrufen hängt stark von _Hardware_, _Architektur_, _BS_ ab
- ![image_19.png](image_19.png)
- Wann werden die benutzt?
- Berechtigungen, Ressourcenverwaltung, Kommunikation mit Hardware, Prozesssteuerung, Netzwerkkommunikation, Zeitverwaltung
- Nutzung eines direkten Systemaufrufs **nicht empfehlenswert**
- Software ist schlecht portierbar
- Auf Funktionen von Bibliotheken zurückgreifen
- befinden sich mit entsprechenden Wrapper-Funktionen logisch zwischen Benutzer- und BS-Kern