Merge branch 'master' into 'main'

Master

See merge request david.schirrmeister/betriebssysteme-Mitschriften!4
This commit is contained in:
David Schirrmeister 2024-04-30 07:35:37 +00:00
commit df489c9905
8 changed files with 99 additions and 14 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@ -4,11 +4,14 @@
<instance-profile id="in"
name="Instance Name"
start-page="05_prozesszustaende.md">
<toc-element topic="05_prozesszustaende.md"/>
<toc-element topic="06_prozessstruktur.md"/>
<toc-element topic="Betriebssystemkerne.md"/>
<toc-element topic="03_betriebssysteme_heute.md"/>
<toc-element topic="Betriebssysteme_heute.md"/>
start-page="03_Betriebssysteme_heute.md">
<toc-element toc-title="Betriebssysteme">
<toc-element topic="03_Betriebssysteme_heute.md"/>
<toc-element topic="04_Betriebssystemkerne.md"/>
<toc-element topic="05_prozesszustaende.md"/>
<toc-element topic="06_prozessstruktur.md"/>
</toc-element>
<toc-element toc-title="Rechnerarchitektur">
<toc-element topic="Historie.md"/>
</toc-element>
</instance-profile>

View File

@ -25,4 +25,5 @@ Zur Vereinfachung der Programmierung existieren spezielle vom Betriebssystem ber
- Dateisystem
- Ein-/Ausgabe
- ...
Standardisierung ([POSIX](06_prozessstruktur.md#posix-api) ermöglicht Portierung von Anwendungen über Plattform-Grenzen hinweg
Standardisierung ([POSIX](06_prozessstruktur.md#posix-api) ermöglicht Portierung von Anwendungen über Plattform-Grenzen hinweg

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
### 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

View File

@ -9,6 +9,7 @@
Prozesse, die untätig werden, werden in einer Warteschlange gespeichert
- Wird nach Priorität / Wartezeit sortiert
![image_1.png](image_1.png)
#### Pro

View File

@ -1,7 +1,7 @@
# Prozessstruktur
## Prozessdarstellung
- Umfasst [_Zustände_](05_prozesszustaende) und _Struktur_ eines laufenden Programms
- Umfasst [_Zustände_](05_prozesszustaende.md) und _Struktur_ eines laufenden Programms
- Grundlegende Komponenten, die die _Speicherrepräsentation_ eines Prozesses vorhanden sein können
- Systemumgebung
- Stack

View File

@ -0,0 +1,54 @@
# Topic title
```timeline
[line-3, body-4, active-color-background-modifier-error-hover]
+ 1100 v.Chr
+ [[Abakus]]
+
+ 60 n.Chr
+ [[Die ersten Automaten]]
+
+ 12 - 14 Jahrhundert
+ [[Die Zeit der Uhrmacher]]
+
+ 17 Jahrhundert
+ [[Napierstäbchen]], [[Mechanische Rechenmaschine]],
+
+ 18 Jahrhundert
+ [[Die ersten Lochkartenautomation]]
+
+ 19 Jahrhundert
+ [[Charles Babbage|Differenzengine & Analytical Engine]], [[Vorlesungen_RA.pdf#page=49|Ada Lovelace]], [[Parallelisierung]]
+
+ 1927 - 1940
+ (Elektro-)mechanische Rechenmaschinen
+
+ 1940 -1955
+ Elektronenröhren, Relais, Steckfelder, [[Zuse Z3]], [[ENIAC]], [[EDSAC]], [[EDVAC]]
+
+ 1955 - 1965
+ [[Transistoren]], [[Stapelverarbeitung]], [[Mainframes]], [[Minicomputer]]
+
+ 1965 - 1980
+ Integrierte Schaltungen, Dialogbetrieb
+
+ 1980 - 2000
+ Hochintegrierte Schaltungen, [[Mikrocomputer|PCs/Workstations]]
+
+ 2000
+ Verteilte Systeme, Mobile Systeme
+
```