Graphen übersichtlicher dargestellt

This commit is contained in:
WieErWill 2021-02-23 09:45:56 +01:00
parent dbb88d782f
commit 492aaea311
2 changed files with 229 additions and 246 deletions

Binary file not shown.

View File

@ -85,6 +85,40 @@
%My Environments %My Environments
\newtheorem{example}[section]{Example} \newtheorem{example}[section]{Example}
%Tikz global setting
\tikzset{
topic/.style={
text centered,
text width=5cm,
level distance=1mm,
sibling distance=5mm,
rounded corners=2pt
},
subtopic/.style={
yshift=1.5cm,
text centered,
text width=3cm,
rounded corners=2pt,
fill=gray!10
},
theme/.style={
grow=down,
xshift=-0.6cm,
text centered,
text width=3cm,
edge from parent path={(\tikzparentnode.205) |- (\tikzchildnode.west)}
},
description/.style={
grow=down,
xshift=-0.5cm,
right,
text centered,
edge from parent path={(\tikzparentnode.200) |- (\tikzchildnode.west)}
},
level 1/.style={sibling distance=5.5cm},
level 1/.append style={level distance=2.5cm},
}
% Turn off header and footer % Turn off header and footer
\pagestyle{empty} \pagestyle{empty}
\begin{document} \begin{document}
@ -437,75 +471,38 @@
\node[topic]{Betriebssysteme} \node[topic]{Betriebssysteme}
% Subtopic and Themes % Subtopic and Themes
child{ node [subtopic] {Prozessor-management} child{ node [subtopic] {Prozessor-management}
child[theme,level1]{ node {Prozesserzeugung}} child[theme,level distance=1cm]{ node {Prozesserzeugung}}
child[theme,level2]{ node {Prozess-terminierung}} child[theme,level distance=2cm]{ node {Prozess-terminierung}}
child[theme,level3]{ node {Threads}} child[theme,level distance=3cm]{ node {Threads}}
} }
child{ node [subtopic] {Scheduling} child{ node [subtopic] {Scheduling}
child[theme,level1]{ node {Scheduler-aktivierung}} child[theme,level distance=1cm]{ node {Scheduler-aktivierung}}
child[theme,level2]{ node {Scheduling Strategien}} child[theme,level distance=2cm]{ node {Scheduling Strategien}}
} }
child{ node [subtopic] {Privilegierungs-ebenen}} child{ node [subtopic] {Privilegierungs-ebenen}}
child{ node [subtopic] {Kommunikation \& Synchronisation} child{ node [subtopic] {Kommunikation \& Synchronisation}
child[theme,level1]{ node {Elementare Konzepte}} child[theme,level distance=1cm]{ node {Elementare Konzepte}}
child[theme,level2]{ node {wechselseitiger Ausschluss}} child[theme,level distance=2cm]{ node {wechselseitiger Ausschluss}}
child[theme,level3]{ node {Mechanismen}} child[theme,level distance=3cm]{ node {Mechanismen}}
} }
child{ node [subtopic] {Speicher-management} child{ node [subtopic] {Speicher-management}
child[theme,level1]{ node {Speicher-technologien}} child[theme,level distance=1cm]{ node {Speicher-technologien}}
child[theme,level2]{ node {Speicher-klassen}} child[theme,level distance=2cm]{ node {Speicher-klassen}}
child[theme,level3]{ node {Relokation}} child[theme,level distance=3cm]{ node {Relokation}}
child[theme,level4]{ node {Swapping}} child[theme,level distance=4cm]{ node {Swapping}}
child[theme,level5]{ node {Virtueller Speicher}} child[theme,level distance=5cm]{ node {Virtueller Speicher}}
child[theme,level6]{ node {Segmentierung}} child[theme,level distance=6cm]{ node {Segmentierung}}
} }
child{ node [subtopic] {Dateisystem} child{ node [subtopic] {Dateisystem}
child[theme,level1]{ node {Dateimodelle}} child[theme,level distance=1cm]{ node {Dateimodelle}}
child[theme,level2]{ node {Dateisysteme}} child[theme,level distance=2cm]{ node {Dateisysteme}}
child[theme,level3]{ node {Datenstrukturen \& Algorithmen}} child[theme,level distance=3cm]{ node {Datenstrukturen \& Algorithmen}}
}; };
\end{tikzpicture} \end{tikzpicture}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Prozessormanagement %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Prozessormanagement
\begin{tikzpicture}[ \begin{tikzpicture}[
topic/.style={
text centered,
text width=5cm,
level distance=1mm,
sibling distance=5mm,
rounded corners=2pt
},
subtopic/.style={
yshift=1.5cm,
text centered,
text width=3cm,
rounded corners=2pt,
fill=gray!10
},
theme/.style={
grow=down,
xshift=-0.6cm,
text centered,
text width=3cm,
edge from parent path={(\tikzparentnode.205) |- (\tikzchildnode.west)}
},
description/.style={
grow=down,
xshift=-0.5cm,
right,
text centered,
edge from parent path={(\tikzparentnode.200) |- (\tikzchildnode.west)}
},
level1/.style ={level distance=1cm},
level2/.style ={level distance=2cm},
level3/.style ={level distance=3cm},
level4/.style ={level distance=4cm},
level5/.style ={level distance=5cm},
level6/.style ={level distance=6cm},
level7/.style ={level distance=7cm},
level8/.style ={level distance=8cm},
level9/.style ={level distance=9cm},
level 1/.style={sibling distance=5.5cm}, level 1/.style={sibling distance=5.5cm},
level 1/.append style={level distance=2.5cm}, level 1/.append style={level distance=2.5cm},
] ]
@ -513,18 +510,18 @@
\node[topic]{Prozessormanagement} \node[topic]{Prozessormanagement}
% Subtopic and Themes % Subtopic and Themes
child{ node [subtopic] {Aufgaben} child{ node [subtopic] {Aufgaben}
child[theme, level1]{node{Prozess-identifikation}} child[theme,level distance=1cm]{node{Prozess-identifikation}}
child[theme, level2]{node{Scheduling}} child[theme,level distance=2cm]{node{Scheduling}}
child[theme, level3]{node{Ereignis-management}} child[theme,level distance=3cm]{node{Ereignis-management}}
child[theme, level4]{node{Rechte-management}} child[theme,level distance=4cm]{node{Rechte-management}}
child[theme, level5]{node{Speicher-management}} child[theme,level distance=5cm]{node{Speicher-management}}
child[theme, level6]{node{Prozessor-management}} child[theme,level distance=6cm]{node{Prozessor-management}}
child[theme, level7]{node{Kommunikations-management}} child[theme,level distance=7cm]{node{Kommunikations-management}}
child[theme, level8]{node{Virtueller Adressraum}} child[theme,level distance=8cm]{node{Virtueller Adressraum}}
child[theme, level9]{node{allg Ressourcen Management}} child[theme,level distance=9cm]{node{allg Ressourcen Management}}
} }
child{ node [subtopic] {Prozesserzeugung} child{ node [subtopic] {Prozesserzeugung}
child[theme,level1]{ node {Vorraussetzungen} child[theme,level distance=1cm]{ node {Vorraussetzungen}
child[description,level distance=1cm]{ node {Rechte}} child[description,level distance=1cm]{ node {Rechte}}
child[description,level distance=2cm]{ node {Ressourcen Verfügbar}} child[description,level distance=2cm]{ node {Ressourcen Verfügbar}}
child[description,level distance=3cm]{ node {Sicherheit}} child[description,level distance=3cm]{ node {Sicherheit}}
@ -580,218 +577,204 @@
}; };
\end{tikzpicture} \end{tikzpicture}
\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Scheduling %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Scheduling
\begin{tikzpicture}[ mindmap, grow cyclic, every node/.style=concept, concept color=green!40, \begin{tikzpicture}[
level 1/.append style={level distance=4cm}, level 1/.style={sibling distance=4.6cm},
level 2/.append style={level distance=3cm, sibling angle=30}, level 1/.append style={level distance=3cm},
every node/.append style={scale=0.8}] ]
\node{Scheduling} % Topic
child { node {Aktivierung} \node[topic]{Scheduling}
child{node{Threadzustände im 3/5 Modell} % Subtopic and Themes
child{node{bereit: kann aktiv werden}} child{ node [subtopic] {Aktivierung}
child{node{aktiv: arbeitet}} child[theme,level distance=1cm]{node{Threadzustände im 3/5 Modell}
child{node{blockiert: wartet auf Ereignis}} child[description,level distance=1cm]{node{bereit: kann aktiv werden}}
child{node{frisch: erzeugt, Rechte fehlen}} child[description,level distance=2cm]{node{aktiv: arbeitet}}
child{node{beendet: in Freigabephase}} child[description,level distance=3cm]{node{blockiert: wartet auf Ereignis}}
child[description,level distance=4cm]{node{frisch: erzeugt, Rechte fehlen}}
child[description,level distance=5cm]{node{beendet: in Freigabephase}}
} }
child{node{Entscheidung Überprüfen bei} child[theme,level distance=7cm]{node{Entscheidung Überprüfen bei}
child{node{Prozess/Thread Erzeugung/Terminierung}} child[description,level distance=1.5cm]{node{Prozess/Thread Erzeugung/Terminierung}}
child{node{Ereignis eintritt}} child[description,level distance=3cm]{node{Ereignis eintritt}}
child{node{Wechsel von Prioritäten}} child[description,level distance=4cm]{node{Wechsel von Prioritäten}}
child{node{periodisch}} child[description,level distance=5cm]{node{periodisch}}
} }
} }
child{node{Ziele} child{node[subtopic]{Ziele}
child{node{abhängig von Einsatz des Betriebssystems}} child[theme,level distance=1cm]{node{abhängig von Einsatz des Betriebssystems}}
child{node{ergänzt durch allg Ziele}} child[theme,level distance=2.5cm]{node{ergänzt durch allg Ziele}}
child{node{Einhaltung von Fristen}} child[theme,level distance=3.5cm]{node{Einhaltung von Fristen}}
child{node{Minimieren der Thread/Prozess-wechsel}} child[theme,level distance=5cm]{node{Minimieren der Thread/Prozess-wechsel}}
} }
child { node {Scheduling Strategien} child { node [subtopic]{Batch-System}
child { node {Batch-System} child[theme,level distance=1cm]{node{Auslastung teurer Betriebsmittel (CPU)}}
child{node{Auslastung teurer Betriebsmittel (CPU)}} child[theme,level distance=3cm]{node{Minimierung der Scheduling Kosten (wenig Wechsel, kurze Laufzeiten)}}
child{node{Minimierung der Scheduling Kosten (wenig Wechsel, kurze Laufzeiten)}} child[theme,level distance=5cm]{node{Maximierung des Durchsatzes (erledigte Arbeit/Zeit)}}
child{node{Maximierung des Durchsatzes (erledigte Arbeit/Zeit)}} child[theme,level distance=6.5cm]{node{First Come First Served}
child{node{First Come First Served} child[description,level distance=1cm]{node{in Reihenfolge der rechenbereiten}}
child{node{in Reihenfolge der rechenbereiten}} child[description,level distance=2cm]{node{sehr einfach, guter durchsatz}}
child{node{sehr einfach, guter durchsatz}} child[description,level distance=3cm]{node{nicht immer klug}}
child{node{nicht immer klug}}
}
child{node{Shortest Remaining Time Next}
child{node{Thread mit vorr. kürzester Restrechenzeit}}
child{node{preemtiv; konkurrrierende Threads verdrängen}}
child{node{Restlaufzeit muss vorliegen}}
}
} }
child { node {Interaktives System} child[theme,level distance=10cm]{node{Shortest Remaining Time Next}
child{node{Benutzer kann eingreifen}} child[description,level distance=1cm]{node{Thread mit vorr. kürzester Restrechenzeit}}
child{node{Minimierung von Reaktionszeiten}} child[description,level distance=2.5cm]{node{preemtiv; konkurrrierende Threads verdrängen}}
child{node{Fairness (mehrere Benutzer)}} child[description,level distance=4cm]{node{Restlaufzeit muss vorliegen}}
child{node{Round Robin Varianten}
child{node{jeder Thread gleicher Teil der Zeitscheibe}}
child{node{einfach zu implementieren}}
child{node{geringe Algorithmuskosten}}
child{node{schnelle Entscheidungen}}
child{node{geringes Wissen notwendig}}
}
} }
} }
child{node{Prioritäten} child { node [subtopic]{Interaktives System}
child{node{jeder Thread erhält indv. Priorität}} child[theme,level distance=1cm]{node{Benutzer kann eingreifen}}
child{node{höchste Prioritäten erhalten Prozessor}} child[theme,level distance=2cm]{node{Minimierung von Reaktionszeiten}}
child{node{gleiche Priorität: Round Robin}} child[theme,level distance=3cm]{node{Fairness (mehrere Benutzer)}}
} child[theme,level distance=4cm]{node{Round Robin Varianten}
child{node{in Echtzeitsystemen} child[description,level distance=1cm]{node{jeder Thread gleicher Teil der Zeitscheibe}}
child{node{EDF: earliest deadline first} child[description,level distance=2.5cm]{node{einfach zu implementieren}}
child{node{dynamische Lasten; adaptiv}} child[description,level distance=3.5cm]{node{geringe Algorithmuskosten}}
child{node{Threads nennen Deadline/Frist}} child[description,level distance=4.5cm]{node{schnelle Entscheidungen}}
child{node{kausale und zeitliche Unabhängigkeit}} child[description,level distance=5.5cm]{node{geringes Wissen notwendig}}
child{node{Priorität setzt kürzere Fristen}}
} }
child{node{RMS: rate-monotonic scheduling} }
child{node{periodische Lasten}} child{node[subtopic]{Prioritäten}
child{node{Threads nennen Periodendauer}} child[theme,level distance=1cm]{node{jeder Thread erhält indv. Priorität}}
child{node{kürzeste Periodendauer aktiv}} child[theme,level distance=2.5cm]{node{höchste Prioritäten erhalten Prozessor}}
child{node{statische Prioritäten}} child[theme,level distance=4cm]{node{gleiche Priorität: Round Robin}}
}
child{node[subtopic]{in Echtzeitsystemen}
child[theme,level distance=1cm]{node{EDF: earliest deadline first}
child[description,level distance=1cm]{node{dynamische Lasten; adaptiv}}
child[description,level distance=2cm]{node{Threads nennen Deadline/Frist}}
child[description,level distance=3cm]{node{kausale und zeitliche Unabhängigkeit}}
child[description,level distance=4cm]{node{Priorität setzt kürzere Fristen}}
}
child[theme,level distance=7cm]{node{RMS: rate-monotonic scheduling}
child[description,level distance=1cm]{node{periodische Lasten}}
child[description,level distance=2cm]{node{Threads nennen Periodendauer}}
child[description,level distance=3cm]{node{kürzeste Periodendauer aktiv}}
child[description,level distance=4cm]{node{statische Prioritäten}}
} }
}; };
\end{tikzpicture} \end{tikzpicture}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Privilegierungsebenen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Privilegierungsebenen
\begin{tikzpicture}[ mindmap, grow cyclic, every node/.style=concept, concept color=blue!40, \begin{tikzpicture}[
level 1/.append style={level distance=4cm}, level 1/.style={sibling distance=5cm},
level 2/.append style={level distance=3cm, sibling angle=30}, level 1/.append style={level distance=3cm},
every node/.append style={scale=0.8}] ]
\node{Privilegierungsebenen} % Topic
child{node{Konzepte} \node[topic]{Privilegierungsebenen}
child{node{private Adressräume}} % Subtopic and Themes
child{node{Zugriffsschutz auf Arbeitsspeicherbereiche}} child{node[subtopic]{Konzepte}
child[theme,level distance=1cm]{node{private Adressräume}}
child[theme,level distance=3cm]{node{Zugriffsschutz auf Arbeitsspeicherbereiche}}
} }
child{node{kritische Operationen} child{node[subtopic]{kritische Operationen}
child{node{Abschalten der Uhr}} child[theme,level distance=1cm]{node{Abschalten der Uhr}}
child{node{Abschalten des Ereignismanagement}} child[theme,level distance=2cm]{node{Abschalten des Ereignismanagement}}
child{node{Veränderung des Speicherlayouts}} child[theme,level distance=3cm]{node{Veränderung des Speicherlayouts}}
child{node{Veränderng kritischer Prozessorkontrollregister}} child[theme,level distance=4.3cm]{node{Veränderng kritischer Prozessorkontrollregister}}
child{node{Zugriff auf E/A Geräte}} child[theme,level distance=5.5cm]{node{Zugriff auf E/A Geräte}}
} }
child{node{P. Ebenen} child{node[subtopic]{P. Ebenen}
child{node{steuern Rechte} child[theme,level distance=1cm]{node{steuern Rechte}
child{node{zur Ausführung privilegierter Prozessorinstruktionen}} child[description,level distance=1cm]{node{zur Ausführung privilegierter Prozessorinstruktionen}}
child{node{zur Konfiguration des Arbeitsspeicher-Layouts}} child[description,level distance=2.5cm]{node{zur Konfiguration des Arbeitsspeicher-Layouts}}
child{node{zum Zugriff auf Arbeitsspeicherbereiche}} child[description,level distance=3.8cm]{node{zum Zugriff auf Arbeitsspeicherbereiche}}
child{node{zum Zugriff auf E/A-Geräte}} child[description,level distance=5cm]{node{zum Zugriff auf E/A-Geräte}}
} }
child{node{realisiert in Ringen (0-3)}} child[theme,level distance=7cm]{node{realisiert in Ringen (0-3)}}
} }
child{node{Implementierung} child{node[subtopic]{Implementierung}
child{node{Hardware Unterstützung}} child[theme,level distance=1cm]{node{Hardware Unterstützung}}
child{node{Teil "Current Privilege Level" (CPL)}} child[theme,level distance=3cm]{node{Teil "Current Privilege Level" (CPL)}}
child{node{permantente Überwachung}} child[theme,level distance=5cm]{node{permantente Überwachung}}
child{node{Änderung der CPL beschränken}} child[theme,level distance=7cm]{node{Änderung der CPL beschränken}}
} }
child{node{Botschaften} child{node[subtopic]{Botschaften}
child{node{P.E. < 3 ablaufende Aktivität hat Zugriff auf kritische Ressourcen}} child[theme,level distance=1.3cm]{node{P.E. $< 3$ ablaufende Aktivität hat Zugriff auf kritische Ressourcen}}
child{node{P.E. 0 ablaufende Aktivität hat Zugriff auf} child[theme,level distance=3cm]{node{P.E. 0 ablaufende Aktivität hat Zugriff auf}
child{node{Ressourcen eines Prozessors}} child[description,level distance=1cm]{node{Ressourcen eines Prozessors}}
child{node{MMU-Register zur Arbeitsspeicherkonfiguration}} child[description,level distance=2.5cm]{node{MMU-Register zur Arbeitsspeicherkonfiguration}}
child{node{Register der E/A-Peripherie}} child[description,level distance=4cm]{node{Register der E/A-Peripherie}}
} }
}; };
\end{tikzpicture} \end{tikzpicture}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Kommunikation und Synchronisation
\begin{tikzpicture}[ mindmap, grow cyclic, every node/.style=concept, concept color=yellow!40, %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Kommunikation und Synchronisation
level 1/.append style={level distance=4cm}, \begin{tikzpicture}[
level 2/.append style={level distance=3cm, sibling angle=30}, level 1/.style={sibling distance=5cm},
every node/.append style={scale=0.8}] level 1/.append style={level distance=3cm},
\node{Kommunikation und \\Synchronisation} ]
child { node {Elementare Konzepte} % Topic
child{node{Ziel} \node[topic]{Kommunikation und Synchronisation}
child{node{nur 1 Thread darf zu einem Zeitpunkt mit best. Speicherbereich arbeiten}} % Subtopic and Themes
child{node{erst nach beendigung, darf ein anderer Thread damit arbeiten}} child { node [subtopic]{Elementare Konzepte}
} child[theme,level distance=1.5cm]{node{nur 1 Thread pro Speicherbereich arbeiten}}
child{node{Austausch von Daten zwischen Prozessen $\rightarrow$ Kommunikation}} child[theme,level distance=3cm]{node{Austausch von Daten zwischen Prozessen $\rightarrow$ Kommunikation}}
child{node{Abweichende Geschwindigkeiten von Sender und Empfänger $\rightarrow$ Synchronisation}} child[theme,level distance=5cm]{node{Abweichende Geschwindigkeiten von Sender und Empfänger $\rightarrow$ Synchronisation}}
child{node{Eine Phase, in der ein Thread eine exklusive Operation auf einer Ressource ausführt, heißt kritischer Abschnitt.}} child[theme,level distance=7.5cm]{node{Eine Phase, in der ein Thread eine exklusive Operation auf einer Ressource ausführt, heißt kritischer Abschnitt.}}
child{node{Kritische Abschnitte erfordern den wechselseitigen Ausschluss (die Isolation) konkurrierender Threads bzw. Prozesse.}} child[theme,level distance=10cm]{node{Kritische Abschnitte erfordern den wechselseitigen Ausschluss (die Isolation) konkurrierender Threads bzw. Prozesse.}}
} }
child { node {wechselseitiger Ausschluss} child { node [subtopic]{wechselseitiger Ausschluss}
child{node{Korrektheit: in kritischen Abschnitt höchstens ein Thread}} child[theme,level distance=1.5cm]{node{Korrektheit: in kritischen Abschnitt höchstens ein Thread}}
child{node{Lebendigkeit: Falls ein Thread einen kritischen Abschnitt betreten möchte, dann betritt (irgendwann) ein Thread diesen Abschnitt.}} child[theme,level distance=4cm]{node{Lebendigkeit: Falls ein Thread einen kritischen Abschnitt betreten möchte, dann betritt (irgendwann) ein Thread diesen Abschnitt.}}
child{node{Verhungerungsfreiheit: Kein Thread wartet für immer vor einem kritischen Abschnitt}} child[theme,level distance=7.5cm]{node{Verhungerungs-freiheit: Kein Thread wartet für immer vor einem kritischen Abschnitt}}
} }
child { node {Mechanismen} child { node[subtopic] {(binäre) Semaphore}
child { node {(binäre) Semaphore} child[theme,level distance=1cm]{node{2 Zustände: frei, belegt}}
child{node{2 Zustände: frei, belegt}} child[theme,level distance=2cm]{node{2 atomare Operationen P/V}}
child{node{2 atomare Operationen} child[theme,level distance=3.5cm]{node{Sämtliche Nutzer dieses kritischen Abschnitts müssen diese semaphore verwenden}}
child{node{belegen: P}} child[theme,level distance=5cm]{node{Unterstützung durch Hardware: die TSL-Operation (TestAndSetLock)}}
child{node{freigeben: V}} child[theme,level distance=6.5cm]{node{Implementierung im Ressourcenmanagement}}
} child[theme,level distance=9cm]{node{Mehrwertiger Semaphor: bestimmt maximale Anzahl von Threads, die gleichzeitig aktiv sein können}}
child{node{Sämtliche Nutzer dieses kritischen Abschnitts müssen diese semaphore verwenden}}
child{node{Unterstützung durch Hardware: die TSL-Operation (TestAndSetLock)}}
child{node{Implementierung im Ressourcenmanagement}}
child{node{Mehrwertiger Semaphor (oder Zählsemaphor) mit mehreren Semaphoren; maximaler Sem-Wert = n, bestimmt maximale Anzahl von Threads, die gleichzeitig aktiv sein können}}
}
child { node {Hoare'sche Monitore}
child{node{Zusammenfassen von Daten/Operationen/Zugriff zu abstrakten Datentyp}}
child{node{Zugriff auf Daten über implizit synchronisierende Operation}}
child{node{kritischer Abschnitt und Daten in durch Monitor geschütztem Bereich}}
child{node{wechselseitiger Ausschluss}
child{node{Türsteher an Eingang \& Ausgang}}
child{node{Betreten nur mit Monitor Zustimmung}}
child{node{falls Thread in Monitor aktiv, kein weiterer rein (P)}}
child{node{falls Thread Monitor verlässt, Wartenden rein (V)}}
child{node{Threads Verlassen statt Warten im Monitor}}
}
child{node{je Monitor eine Semaphor}}
child{node{am Eingang eine P-Operation}}
child{node{am Ausgang eine V-Operation}}
}
} }
child { node {weitere} child { node [subtopic]{Hoare'sche Monitore}
child { node {Trans-aktionaler Speicher} child[theme,level distance=1.5cm]{node{Zusammenfassen von Daten/Operationen/Zugriff zu abstrakten Datentyp}}
child{node{keine Sperre bei Ausschluss $\rightarrow$ Parallelität}} child[theme,level distance=3.5cm]{node{Zugriff auf Daten über implizit synchronisierende Operation}}
child{node{nach Operation untersuchen auf Fehler und Korrektur}} child[theme,level distance=5.3cm]{node{kritischer Abschnitt und Daten in durch Monitor geschütztem Bereich}}
child{node{Kombination mit Transaktionen}} child[theme,level distance=6.8cm]{node{wechselseitiger Ausschluss}}
child[theme,level distance=8cm]{node{je Monitor eine Semaphor}}
child[theme,level distance=9cm]{node{am Eingang eine P-Operation}}
child[theme,level distance=10cm]{node{am Ausgang eine V-Operation}}
}
child { node[subtopic] {weitere Mechanismen}
child [theme,level distance=1cm]{ node {Trans-aktionaler Speicher}
child[description,level distance=1cm]{node{keine Sperre bei Ausschluss $\rightarrow$ Parallelität}}
child[description,level distance=2.5cm]{node{nach Operation untersuchen auf Fehler und Korrektur}}
child[description,level distance=4cm]{node{Kombination mit Transaktionen}}
} }
child { node {Botschaften} child [theme,level distance=6cm]{ node {Botschaften}
child{node{für Kommunikation zwischen}} child[description,level distance=1cm]{node{Komm. zw. Prozessen innerhalb eines Systems}}
child{node{Prozessen innerhalb eines Systems}} child[description,level distance=2cm]{node{Senden/Empfangen von Botschaften}}
child{node{Anwendungsprozessen}} child[description,level distance=3cm]{node{Kommunikationsparadigma}}
child{node{Senden/Empfangen von Botschaften}}
child{node{Kommunikationsparadigma}}
} }
child { node {Fernaufrufe (Remote Procedure Calls)}} child [theme,level distance=10cm]{ node {Fernaufrufe (Remote Procedure Calls)}}
child { node {System-aufrufe}} child [theme,level distance=11cm]{ node {System-aufrufe}}
child { node {Ereignis-management}} child [theme,level distance=12cm]{ node {Ereignis-management}}
child { node {IPC Modell}} child [theme,level distance=13cm]{ node {IPC Modell}}
child { node {pop-up-Thread-Modell}} child [theme,level distance=14cm]{ node {pop-up-Thread-Modell}}
}; };
\end{tikzpicture} \end{tikzpicture}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Speichermanagement %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Speichermanagement
\begin{tikzpicture}[ mindmap, grow cyclic, every node/.style=concept, concept color=orange!40, \begin{tikzpicture}[
level 1/.append style={level distance=4cm}, level 1/.style={sibling distance=5cm},
level 2/.append style={level distance=3cm, sibling angle=30}, level 1/.append style={level distance=3cm},
every node/.append style={scale=0.8}] ]
\node{Virtueller Speicher} % Topic
child { node {Virtuelles Speichermanagement}} \node[topic]{Virtueller Speicher}
child { node {Begriffe}} % Subtopic and Themes
child { node {Abbildung}} child { node [subtopic]{Virtuelles Speichermanagement}}
child { node {Memory Management Units}} child { node [subtopic]{Abbildung}}
child { node {Seiten-abbildungs-tabellen}} child { node [subtopic]{Memory Management Units}}
child { node {Seitenaustausch-Algorithmen} child { node [subtopic]{Seiten-abbildungs-tabellen}}
child { node {FIFO}} child { node [subtopic]{Seiten-austausch-Algorithmen}
child { node {Second Chance}} child [theme,level distance=1cm]{ node {FIFO}}
child { node {Least Recently Used}} child [theme,level distance=2cm]{ node {Second Chance}}
child { node {Working Set}} child [theme,level distance=3cm]{ node {Least Recently Used}}
child { node {WSClock}} child [theme,level distance=4cm]{ node {Working Set}}
} child [theme,level distance=5cm]{ node {WSClock}}
; };
\end{tikzpicture} \end{tikzpicture}
\end{document} \end{document}