Jetzt loslegen. Gratis!
oder registrieren mit Ihrer E-Mail-Adresse
Rocket clouds
Betriebsysteme von Mind Map: Betriebsysteme

1. 8/16/32/64 Bit

2. Betriebsarten

2.1. Stapelbetrieb (batch processing)

2.2. Dialogbetrieb (time sharing)

2.3. Einzelprogrammbetrieb (Single Tasking)

2.4. Mehrprogrammbetrieb (Multitasking)

2.4.1. Echtzeitbetriebsysteme

2.4.1.1. Harte Echtzeitbetriebsysteme

2.4.1.2. Weiche Echtzeitbetriebsysteme

2.4.1.3. Architekturen

2.4.1.3.1. Thin Kernel Architektur

2.4.1.3.2. Nano Kernel Architektur

2.5. Einzelbenutzerbetrieb

2.6. Mehrbenutzerbetrieb

3. Verteilte Betriebsysteme

4. Kernel

4.1. Architektur des Kernels

4.1.1. Monolithischer Kern

4.1.2. Minimaler Kern

4.1.3. Hybrider Kern

4.2. Funktionen

4.2.1. Bereitstellung von Systemaufrufen

4.2.2. Benutzerverwaltung

4.2.3. Ausführungsreihenfolge (sheduling)

4.2.4. Interprozesskomunikation

4.2.5. Prozessverwaltung

4.2.6. Prozessumschalter (Dispatcher)

4.2.7. Gerätetreiber

4.2.8. Speicherverwaltung

4.2.9. Dateisysteme

4.3. Schichten des kernels

4.3.1. User Space

4.3.2. Kernel Space

5. Prozessverwaltung

5.1. Systemaufrufe

5.1.1. Benutzermodus

5.1.2. Kernelmodus

5.2. Prozesskontext

5.2.1. Systemkontext

5.2.2. Hardwarekontext

5.2.3. Benutzerkontext

5.3. Prozesszustände

5.3.1. 2 - Zustands - Prozessmodell

5.3.1.1. rechnend

5.3.1.2. untätig

5.3.2. 3 - zustands - prozessmodell

5.3.2.1. rechnend

5.3.2.2. untätig

5.3.2.3. blockiert

5.3.3. 5 - zustands - prozessmodell

5.3.3.1. rechnend

5.3.3.2. untätig

5.3.3.3. blockiert

5.3.3.4. neu

5.3.3.5. beendet

5.3.4. 6 - Zustands Prozessmodell

5.3.4.1. rechnend

5.3.4.2. untätig

5.3.4.3. blockiert

5.3.4.4. neu

5.3.4.5. beendet

5.3.4.6. suspendiert

5.3.5. 7 - Zustands - Prozessmodell

5.3.5.1. rechnend

5.3.5.2. kernel rechnend

5.3.5.3. untätig

5.3.5.4. blockiert

5.3.5.5. neu

5.3.5.6. beendet

5.3.5.7. suspendiert

5.3.6. Dispatcher

5.4. Prozesstabelle

5.4.1. Prozesskontrollblock

5.5. Sheduling

5.5.1. Sheduling Kriterien

5.5.2. Klassen von Sheduling Verfahren

5.5.2.1. Präemptives (verdrängendes) Sheduling

5.5.2.2. Nicht-präemptives (nicht verdrängendes) Sheduling

5.5.3. Shedulingverfahren

5.5.3.1. PrioritätengesteuertesScheduling

5.5.3.1.1. Statische Prioritäten

5.5.3.1.2. Dynamische Prioriäten

5.5.3.2. First come Frist Served

5.5.3.3. Round Robin

5.5.3.4. Shortes Job FIrst/Shortest Process Next

5.5.3.5. Longest Job First

5.5.3.6. Multilevel Sheduling

5.5.3.6.1. Multilevel Feedback Sheduling

5.5.3.7. Echtzeit Scheduling

5.5.3.7.1. Earliest Deadline First

5.5.3.7.2. Monotonic Raid

5.6. Interprozesskommunikation

5.6.1. Wettlaufsituationen

5.6.1.1. Kritische Abschnitte

5.6.1.2. Unkritische Abschnitte

5.6.1.3. Race Condition

5.6.2. Synchronisation von Prozessen

5.6.2.1. Signalisierung

5.6.2.1.1. Aktives warten

5.6.2.1.2. Passives warten

5.6.2.2. Schutz kritischer Abschnitte durch Sperren

5.6.2.2.1. Sperren

5.6.2.3. Deadlock

5.6.2.3.1. Bedingungen für ein Deadlock

5.6.2.3.2. Betriebsmittel Graphen

5.6.3. Kommunikation von Prozessen (kommunikationskonzepte)

5.6.3.1. Gemeinsamer Speicher

5.6.3.2. Nachrichtenwarteschlangen

5.6.3.3. Pipes

5.6.3.3.1. Anonyme Pipes

5.6.3.3.2. Benannte Pipes

5.6.3.4. Sockets

5.6.3.4.1. Verbindungslose Sockets (UDP)

5.6.3.4.2. Verbindungsorientierte Sockets (TCP)

5.6.3.5. Synchrone Kommunikation

5.6.3.6. Asynchrone Kommunikation

5.6.4. Kooperation von Prozessen und Threads

5.6.4.1. Semaphor

5.6.4.1.1. starke Semaphor

5.6.4.1.2. schwache Semaphor

5.6.4.1.3. Erzeuger Verbraucher Beispiel

5.6.4.2. Mutex

5.6.4.3. Monitor

5.6.4.4. Kooperation

5.6.4.4.1. Kommunikation

5.7. Thread

5.7.1. Thread vs Prozess

5.7.2. Multithreading

5.7.2.1. Vorteile

5.7.2.1.1. Empfänglich für User Input

5.7.2.2. Nachteile

5.7.2.3. Kommunikation zwischen Threads

5.7.2.4. Atomare Operationen

5.7.3. Scheduling

5.7.3.1. Klassen von Sheduling Verfahren

5.7.3.1.1. Präemptives (verdrängendes) Sheduling

5.7.3.1.2. Nicht-präemptives (nicht verdrängendes) Sheduling

5.7.4. Modelle

5.7.4.1. Kerne-Level-Threading (1:1)

5.7.4.2. User-Level Threading (N:1)

5.7.4.3. Hybrid Threading

5.8. Adressraum

5.8.1. Speicherungs Segmente

5.8.1.1. Stack

5.8.1.2. Heap

5.8.1.3. Data

5.8.1.4. Text

5.8.2. Fork

5.8.3. Programm Counter

5.9. Dispatching

6. Hardwareverwaltung

7. Speicherverwaltung

7.1. Konzepte

7.1.1. Statische Partitionierung

7.1.2. Dynamische Paritionierung

7.1.2.1. Zuteilungskonzepte

7.1.2.1.1. First Fit

7.1.2.1.2. Next Fit

7.1.2.1.3. Best Fit

7.1.3. Buddy Speichwerverwaltung

7.2. Fragmentierung

7.2.1. interne Fragmentierung

7.2.2. externe Fragmentierung

7.3. Speicheradressierung

7.3.1. Real Mode

7.3.2. Protected Mode

7.3.2.1. Implementierungsvarianten

7.3.2.1.1. Seitenorientierter Speicher (Paging)

7.3.2.1.2. Segmentorientierter Speicher (Segmentierung)

7.3.2.2. Anforderungen

7.3.2.2.1. Relokation

7.3.2.2.2. Schutz

7.3.2.2.3. Gemeinsame Nutzung

7.3.2.2.4. Größere Speicherkapazität

7.3.2.2.5. Mapping

7.3.2.2.6. Swapping

7.4. Seitenersetzungsstrategien

7.4.1. Optimale Strategie

7.4.2. Last Recently Used (LRU)

7.4.3. Least Frequently Used (LFU)

7.4.4. First in First Out (FIFO)

7.4.5. Random

8. Dateisysteme

8.1. Blockadressierung bei Linux-Dateisysteme

8.1.1. Inodes

8.1.2. Metadaten

8.1.3. Cluster

8.2. Ext 2/3

8.3. Dateizuordnungstabellen

9. Unterschied zwischen Programm und Prozess

9.1. Ein Programm besteht nur aus Programm Code

9.2. Ein Prozess ist ein Programm in ausführung

9.3. Ein Prozess hält außerdem status informationen die den aktuellen status des laufenden Programms beschreiben

9.4. Ein Progamm kann mehere male ausgeführt werden daraus resultieren mehere Prozesse

10. Wie wechselt man einen Prozess ?

10.1. 1. alle Laufzeit Daten des Prozesses speichern (Programm counter, Stack, etc.)

10.2. 2. Sicherstellen das der prozess an der selben stelle seine arbeit vorführen kann wo er unterbrochen wurde

10.3. 3. Viele abschnitte des Prozess wechsels sind in Assambly Implenmentiert und nutzen den Kernel Mode mit seinen Rechten. Zum Beispiel zum speichern und laden con cpu registern und dem stack pointer

10.4. 4. Der Prozesswechsel verbraucht auch CPU Zeit