diff --git a/Writerside/images/image_18.png b/Writerside/images/image_18.png new file mode 100644 index 0000000..8bd27f6 Binary files /dev/null and b/Writerside/images/image_18.png differ diff --git a/Writerside/images/image_19.png b/Writerside/images/image_19.png new file mode 100644 index 0000000..e2085c3 Binary files /dev/null and b/Writerside/images/image_19.png differ diff --git a/Writerside/in.tree b/Writerside/in.tree index cd451a7..6ce3ee5 100644 --- a/Writerside/in.tree +++ b/Writerside/in.tree @@ -4,11 +4,14 @@ - - - - - - + start-page="03_Betriebssysteme_heute.md"> + + + + + + + + + \ No newline at end of file diff --git a/Writerside/topics/Betriebssysteme_heute.md b/Writerside/topics/BS/03_Betriebssysteme_heute.md similarity index 83% rename from Writerside/topics/Betriebssysteme_heute.md rename to Writerside/topics/BS/03_Betriebssysteme_heute.md index 7144fe2..fcb9862 100644 --- a/Writerside/topics/Betriebssysteme_heute.md +++ b/Writerside/topics/BS/03_Betriebssysteme_heute.md @@ -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 diff --git a/Writerside/topics/Betriebssystemkerne.md b/Writerside/topics/BS/04_Betriebssystemkerne.md similarity index 64% rename from Writerside/topics/Betriebssystemkerne.md rename to Writerside/topics/BS/04_Betriebssystemkerne.md index d704af7..28c911a 100644 --- a/Writerside/topics/Betriebssystemkerne.md +++ b/Writerside/topics/BS/04_Betriebssystemkerne.md @@ -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 \ No newline at end of file +### 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 \ No newline at end of file diff --git a/Writerside/topics/05_prozesszustaende.md b/Writerside/topics/BS/05_prozesszustaende.md similarity index 99% rename from Writerside/topics/05_prozesszustaende.md rename to Writerside/topics/BS/05_prozesszustaende.md index 194d940..b15dbcb 100644 --- a/Writerside/topics/05_prozesszustaende.md +++ b/Writerside/topics/BS/05_prozesszustaende.md @@ -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 diff --git a/Writerside/topics/06_prozessstruktur.md b/Writerside/topics/BS/06_prozessstruktur.md similarity index 97% rename from Writerside/topics/06_prozessstruktur.md rename to Writerside/topics/BS/06_prozessstruktur.md index 41cfe5e..a885274 100644 --- a/Writerside/topics/06_prozessstruktur.md +++ b/Writerside/topics/BS/06_prozessstruktur.md @@ -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 diff --git a/Writerside/topics/RA/Historie.md b/Writerside/topics/RA/Historie.md new file mode 100644 index 0000000..ff2d1cc --- /dev/null +++ b/Writerside/topics/RA/Historie.md @@ -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 ++ + +``` \ No newline at end of file