From 492aaea31122dd9a5b93e2515cd84c5b6f084765 Mon Sep 17 00:00:00 2001 From: Robert Jeutter Date: Tue, 23 Feb 2021 09:45:56 +0100 Subject: [PATCH] =?UTF-8?q?Graphen=20=C3=BCbersichtlicher=20dargestellt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Betriebssysteme - Cheatsheet.pdf | Bin 463971 -> 484231 bytes Betriebssysteme - Cheatsheet.tex | 475 +++++++++++++++---------------- 2 files changed, 229 insertions(+), 246 deletions(-) diff --git a/Betriebssysteme - Cheatsheet.pdf b/Betriebssysteme - Cheatsheet.pdf index 0a3816be523243e15366efe966e6b94d330006bd..99634a7921b33a143fd4ea24f40dd7f2a6aef2fd 100644 GIT binary patch delta 59128 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%0DrEoNYJ65xdMTc^)bYB5Hci*I#?p=iXf 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 delta 38890 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 diff --git a/Betriebssysteme - Cheatsheet.tex b/Betriebssysteme - Cheatsheet.tex index 7303025..3a90618 100644 --- a/Betriebssysteme - Cheatsheet.tex +++ b/Betriebssysteme - Cheatsheet.tex @@ -85,6 +85,40 @@ %My Environments \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 \pagestyle{empty} \begin{document} @@ -437,75 +471,38 @@ \node[topic]{Betriebssysteme} % Subtopic and Themes child{ node [subtopic] {Prozessor-management} - child[theme,level1]{ node {Prozesserzeugung}} - child[theme,level2]{ node {Prozess-terminierung}} - child[theme,level3]{ node {Threads}} + child[theme,level distance=1cm]{ node {Prozesserzeugung}} + child[theme,level distance=2cm]{ node {Prozess-terminierung}} + child[theme,level distance=3cm]{ node {Threads}} } child{ node [subtopic] {Scheduling} - child[theme,level1]{ node {Scheduler-aktivierung}} - child[theme,level2]{ node {Scheduling Strategien}} + child[theme,level distance=1cm]{ node {Scheduler-aktivierung}} + child[theme,level distance=2cm]{ node {Scheduling Strategien}} } child{ node [subtopic] {Privilegierungs-ebenen}} child{ node [subtopic] {Kommunikation \& Synchronisation} - child[theme,level1]{ node {Elementare Konzepte}} - child[theme,level2]{ node {wechselseitiger Ausschluss}} - child[theme,level3]{ node {Mechanismen}} + child[theme,level distance=1cm]{ node {Elementare Konzepte}} + child[theme,level distance=2cm]{ node {wechselseitiger Ausschluss}} + child[theme,level distance=3cm]{ node {Mechanismen}} } child{ node [subtopic] {Speicher-management} - child[theme,level1]{ node {Speicher-technologien}} - child[theme,level2]{ node {Speicher-klassen}} - child[theme,level3]{ node {Relokation}} - child[theme,level4]{ node {Swapping}} - child[theme,level5]{ node {Virtueller Speicher}} - child[theme,level6]{ node {Segmentierung}} + child[theme,level distance=1cm]{ node {Speicher-technologien}} + child[theme,level distance=2cm]{ node {Speicher-klassen}} + child[theme,level distance=3cm]{ node {Relokation}} + child[theme,level distance=4cm]{ node {Swapping}} + child[theme,level distance=5cm]{ node {Virtueller Speicher}} + child[theme,level distance=6cm]{ node {Segmentierung}} } child{ node [subtopic] {Dateisystem} - child[theme,level1]{ node {Dateimodelle}} - child[theme,level2]{ node {Dateisysteme}} - child[theme,level3]{ node {Datenstrukturen \& Algorithmen}} + child[theme,level distance=1cm]{ node {Dateimodelle}} + child[theme,level distance=2cm]{ node {Dateisysteme}} + child[theme,level distance=3cm]{ node {Datenstrukturen \& Algorithmen}} }; \end{tikzpicture} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Prozessormanagement \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/.append style={level distance=2.5cm}, ] @@ -513,18 +510,18 @@ \node[topic]{Prozessormanagement} % Subtopic and Themes child{ node [subtopic] {Aufgaben} - child[theme, level1]{node{Prozess-identifikation}} - child[theme, level2]{node{Scheduling}} - child[theme, level3]{node{Ereignis-management}} - child[theme, level4]{node{Rechte-management}} - child[theme, level5]{node{Speicher-management}} - child[theme, level6]{node{Prozessor-management}} - child[theme, level7]{node{Kommunikations-management}} - child[theme, level8]{node{Virtueller Adressraum}} - child[theme, level9]{node{allg Ressourcen Management}} + child[theme,level distance=1cm]{node{Prozess-identifikation}} + child[theme,level distance=2cm]{node{Scheduling}} + child[theme,level distance=3cm]{node{Ereignis-management}} + child[theme,level distance=4cm]{node{Rechte-management}} + child[theme,level distance=5cm]{node{Speicher-management}} + child[theme,level distance=6cm]{node{Prozessor-management}} + child[theme,level distance=7cm]{node{Kommunikations-management}} + child[theme,level distance=8cm]{node{Virtueller Adressraum}} + child[theme,level distance=9cm]{node{allg Ressourcen Management}} } 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=2cm]{ node {Ressourcen Verfügbar}} child[description,level distance=3cm]{ node {Sicherheit}} @@ -580,218 +577,204 @@ }; \end{tikzpicture} -\end{document} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Scheduling -\begin{tikzpicture}[ mindmap, grow cyclic, every node/.style=concept, concept color=green!40, - level 1/.append style={level distance=4cm}, - level 2/.append style={level distance=3cm, sibling angle=30}, - every node/.append style={scale=0.8}] - \node{Scheduling} - child { node {Aktivierung} - child{node{Threadzustände im 3/5 Modell} - child{node{bereit: kann aktiv werden}} - child{node{aktiv: arbeitet}} - child{node{blockiert: wartet auf Ereignis}} - child{node{frisch: erzeugt, Rechte fehlen}} - child{node{beendet: in Freigabephase}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Scheduling +\begin{tikzpicture}[ + level 1/.style={sibling distance=4.6cm}, + level 1/.append style={level distance=3cm}, + ] + % Topic + \node[topic]{Scheduling} + % Subtopic and Themes + child{ node [subtopic] {Aktivierung} + child[theme,level distance=1cm]{node{Threadzustände im 3/5 Modell} + child[description,level distance=1cm]{node{bereit: kann aktiv werden}} + child[description,level distance=2cm]{node{aktiv: arbeitet}} + 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{node{Prozess/Thread Erzeugung/Terminierung}} - child{node{Ereignis eintritt}} - child{node{Wechsel von Prioritäten}} - child{node{periodisch}} + child[theme,level distance=7cm]{node{Entscheidung Überprüfen bei} + child[description,level distance=1.5cm]{node{Prozess/Thread Erzeugung/Terminierung}} + child[description,level distance=3cm]{node{Ereignis eintritt}} + child[description,level distance=4cm]{node{Wechsel von Prioritäten}} + child[description,level distance=5cm]{node{periodisch}} } } - child{node{Ziele} - child{node{abhängig von Einsatz des Betriebssystems}} - child{node{ergänzt durch allg Ziele}} - child{node{Einhaltung von Fristen}} - child{node{Minimieren der Thread/Prozess-wechsel}} + child{node[subtopic]{Ziele} + child[theme,level distance=1cm]{node{abhängig von Einsatz des Betriebssystems}} + child[theme,level distance=2.5cm]{node{ergänzt durch allg Ziele}} + child[theme,level distance=3.5cm]{node{Einhaltung von Fristen}} + child[theme,level distance=5cm]{node{Minimieren der Thread/Prozess-wechsel}} } - child { node {Scheduling Strategien} - child { node {Batch-System} - child{node{Auslastung teurer Betriebsmittel (CPU)}} - child{node{Minimierung der Scheduling Kosten (wenig Wechsel, kurze Laufzeiten)}} - child{node{Maximierung des Durchsatzes (erledigte Arbeit/Zeit)}} - child{node{First Come First Served} - child{node{in Reihenfolge der rechenbereiten}} - child{node{sehr einfach, guter durchsatz}} - 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 [subtopic]{Batch-System} + child[theme,level distance=1cm]{node{Auslastung teurer Betriebsmittel (CPU)}} + child[theme,level distance=3cm]{node{Minimierung der Scheduling Kosten (wenig Wechsel, kurze Laufzeiten)}} + child[theme,level distance=5cm]{node{Maximierung des Durchsatzes (erledigte Arbeit/Zeit)}} + child[theme,level distance=6.5cm]{node{First Come First Served} + child[description,level distance=1cm]{node{in Reihenfolge der rechenbereiten}} + child[description,level distance=2cm]{node{sehr einfach, guter durchsatz}} + child[description,level distance=3cm]{node{nicht immer klug}} } - child { node {Interaktives System} - child{node{Benutzer kann eingreifen}} - child{node{Minimierung von Reaktionszeiten}} - child{node{Fairness (mehrere Benutzer)}} - 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[theme,level distance=10cm]{node{Shortest Remaining Time Next} + child[description,level distance=1cm]{node{Thread mit vorr. kürzester Restrechenzeit}} + child[description,level distance=2.5cm]{node{preemtiv; konkurrrierende Threads verdrängen}} + child[description,level distance=4cm]{node{Restlaufzeit muss vorliegen}} } } - child{node{Prioritäten} - child{node{jeder Thread erhält indv. Priorität}} - child{node{höchste Prioritäten erhalten Prozessor}} - child{node{gleiche Priorität: Round Robin}} - } - child{node{in Echtzeitsystemen} - child{node{EDF: earliest deadline first} - child{node{dynamische Lasten; adaptiv}} - child{node{Threads nennen Deadline/Frist}} - child{node{kausale und zeitliche Unabhängigkeit}} - child{node{Priorität setzt kürzere Fristen}} + child { node [subtopic]{Interaktives System} + child[theme,level distance=1cm]{node{Benutzer kann eingreifen}} + child[theme,level distance=2cm]{node{Minimierung von Reaktionszeiten}} + child[theme,level distance=3cm]{node{Fairness (mehrere Benutzer)}} + child[theme,level distance=4cm]{node{Round Robin Varianten} + child[description,level distance=1cm]{node{jeder Thread gleicher Teil der Zeitscheibe}} + child[description,level distance=2.5cm]{node{einfach zu implementieren}} + child[description,level distance=3.5cm]{node{geringe Algorithmuskosten}} + child[description,level distance=4.5cm]{node{schnelle Entscheidungen}} + child[description,level distance=5.5cm]{node{geringes Wissen notwendig}} } - child{node{RMS: rate-monotonic scheduling} - child{node{periodische Lasten}} - child{node{Threads nennen Periodendauer}} - child{node{kürzeste Periodendauer aktiv}} - child{node{statische Prioritäten}} + } + child{node[subtopic]{Prioritäten} + child[theme,level distance=1cm]{node{jeder Thread erhält indv. Priorität}} + child[theme,level distance=2.5cm]{node{höchste Prioritäten erhalten Prozessor}} + 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} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Privilegierungsebenen -\begin{tikzpicture}[ mindmap, grow cyclic, every node/.style=concept, concept color=blue!40, - level 1/.append style={level distance=4cm}, - level 2/.append style={level distance=3cm, sibling angle=30}, - every node/.append style={scale=0.8}] - \node{Privilegierungsebenen} - child{node{Konzepte} - child{node{private Adressräume}} - child{node{Zugriffsschutz auf Arbeitsspeicherbereiche}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Privilegierungsebenen +\begin{tikzpicture}[ + level 1/.style={sibling distance=5cm}, + level 1/.append style={level distance=3cm}, + ] + % Topic + \node[topic]{Privilegierungsebenen} + % Subtopic and Themes + 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{Abschalten der Uhr}} - child{node{Abschalten des Ereignismanagement}} - child{node{Veränderung des Speicherlayouts}} - child{node{Veränderng kritischer Prozessorkontrollregister}} - child{node{Zugriff auf E/A Geräte}} + child{node[subtopic]{kritische Operationen} + child[theme,level distance=1cm]{node{Abschalten der Uhr}} + child[theme,level distance=2cm]{node{Abschalten des Ereignismanagement}} + child[theme,level distance=3cm]{node{Veränderung des Speicherlayouts}} + child[theme,level distance=4.3cm]{node{Veränderng kritischer Prozessorkontrollregister}} + child[theme,level distance=5.5cm]{node{Zugriff auf E/A Geräte}} } - child{node{P. Ebenen} - child{node{steuern Rechte} - child{node{zur Ausführung privilegierter Prozessorinstruktionen}} - child{node{zur Konfiguration des Arbeitsspeicher-Layouts}} - child{node{zum Zugriff auf Arbeitsspeicherbereiche}} - child{node{zum Zugriff auf E/A-Geräte}} + child{node[subtopic]{P. Ebenen} + child[theme,level distance=1cm]{node{steuern Rechte} + child[description,level distance=1cm]{node{zur Ausführung privilegierter Prozessorinstruktionen}} + child[description,level distance=2.5cm]{node{zur Konfiguration des Arbeitsspeicher-Layouts}} + child[description,level distance=3.8cm]{node{zum Zugriff auf Arbeitsspeicherbereiche}} + 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{Hardware Unterstützung}} - child{node{Teil "Current Privilege Level" (CPL)}} - child{node{permantente Überwachung}} - child{node{Änderung der CPL beschränken}} + child{node[subtopic]{Implementierung} + child[theme,level distance=1cm]{node{Hardware Unterstützung}} + child[theme,level distance=3cm]{node{Teil "Current Privilege Level" (CPL)}} + child[theme,level distance=5cm]{node{permantente Überwachung}} + child[theme,level distance=7cm]{node{Änderung der CPL beschränken}} } - child{node{Botschaften} - child{node{P.E. < 3 ablaufende Aktivität hat Zugriff auf kritische Ressourcen}} - child{node{P.E. 0 ablaufende Aktivität hat Zugriff auf} - child{node{Ressourcen eines Prozessors}} - child{node{MMU-Register zur Arbeitsspeicherkonfiguration}} - child{node{Register der E/A-Peripherie}} + child{node[subtopic]{Botschaften} + child[theme,level distance=1.3cm]{node{P.E. $< 3$ ablaufende Aktivität hat Zugriff auf kritische Ressourcen}} + child[theme,level distance=3cm]{node{P.E. 0 ablaufende Aktivität hat Zugriff auf} + child[description,level distance=1cm]{node{Ressourcen eines Prozessors}} + child[description,level distance=2.5cm]{node{MMU-Register zur Arbeitsspeicherkonfiguration}} + child[description,level distance=4cm]{node{Register der E/A-Peripherie}} } }; \end{tikzpicture} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Kommunikation und Synchronisation -\begin{tikzpicture}[ mindmap, grow cyclic, every node/.style=concept, concept color=yellow!40, - level 1/.append style={level distance=4cm}, - level 2/.append style={level distance=3cm, sibling angle=30}, - every node/.append style={scale=0.8}] - \node{Kommunikation und \\Synchronisation} - child { node {Elementare Konzepte} - child{node{Ziel} - child{node{nur 1 Thread darf zu einem Zeitpunkt mit best. Speicherbereich arbeiten}} - child{node{erst nach beendigung, darf ein anderer Thread damit arbeiten}} - } - child{node{Austausch von Daten zwischen Prozessen $\rightarrow$ Kommunikation}} - child{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{node{Kritische Abschnitte erfordern den wechselseitigen Ausschluss (die Isolation) konkurrierender Threads bzw. Prozesse.}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Kommunikation und Synchronisation +\begin{tikzpicture}[ + level 1/.style={sibling distance=5cm}, + level 1/.append style={level distance=3cm}, + ] + % Topic + \node[topic]{Kommunikation und Synchronisation} + % Subtopic and Themes + child { node [subtopic]{Elementare Konzepte} + child[theme,level distance=1.5cm]{node{nur 1 Thread pro Speicherbereich arbeiten}} + child[theme,level distance=3cm]{node{Austausch von Daten zwischen Prozessen $\rightarrow$ Kommunikation}} + child[theme,level distance=5cm]{node{Abweichende Geschwindigkeiten von Sender und Empfänger $\rightarrow$ Synchronisation}} + 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[theme,level distance=10cm]{node{Kritische Abschnitte erfordern den wechselseitigen Ausschluss (die Isolation) konkurrierender Threads bzw. Prozesse.}} } - child { node {wechselseitiger Ausschluss} - child{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{node{Verhungerungsfreiheit: Kein Thread wartet für immer vor einem kritischen Abschnitt}} + child { node [subtopic]{wechselseitiger Ausschluss} + child[theme,level distance=1.5cm]{node{Korrektheit: in kritischen Abschnitt höchstens ein Thread}} + child[theme,level distance=4cm]{node{Lebendigkeit: Falls ein Thread einen kritischen Abschnitt betreten möchte, dann betritt (irgendwann) ein Thread diesen 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 {(binäre) Semaphore} - child{node{2 Zustände: frei, belegt}} - child{node{2 atomare Operationen} - child{node{belegen: P}} - child{node{freigeben: V}} - } - 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[subtopic] {(binäre) Semaphore} + child[theme,level distance=1cm]{node{2 Zustände: frei, belegt}} + child[theme,level distance=2cm]{node{2 atomare Operationen P/V}} + child[theme,level distance=3.5cm]{node{Sämtliche Nutzer dieses kritischen Abschnitts müssen diese semaphore verwenden}} + child[theme,level distance=5cm]{node{Unterstützung durch Hardware: die TSL-Operation (TestAndSetLock)}} + 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 {weitere} - child { node {Trans-aktionaler Speicher} - child{node{keine Sperre bei Ausschluss $\rightarrow$ Parallelität}} - child{node{nach Operation untersuchen auf Fehler und Korrektur}} - child{node{Kombination mit Transaktionen}} + child { node [subtopic]{Hoare'sche Monitore} + child[theme,level distance=1.5cm]{node{Zusammenfassen von Daten/Operationen/Zugriff zu abstrakten Datentyp}} + child[theme,level distance=3.5cm]{node{Zugriff auf Daten über implizit synchronisierende Operation}} + child[theme,level distance=5.3cm]{node{kritischer Abschnitt und Daten in durch Monitor geschütztem Bereich}} + 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{node{für Kommunikation zwischen}} - child{node{Prozessen innerhalb eines Systems}} - child{node{Anwendungsprozessen}} - child{node{Senden/Empfangen von Botschaften}} - child{node{Kommunikationsparadigma}} + child [theme,level distance=6cm]{ node {Botschaften} + child[description,level distance=1cm]{node{Komm. zw. Prozessen innerhalb eines Systems}} + child[description,level distance=2cm]{node{Senden/Empfangen von Botschaften}} + child[description,level distance=3cm]{node{Kommunikationsparadigma}} } - child { node {Fernaufrufe (Remote Procedure Calls)}} - child { node {System-aufrufe}} - child { node {Ereignis-management}} - child { node {IPC Modell}} - child { node {pop-up-Thread-Modell}} + child [theme,level distance=10cm]{ node {Fernaufrufe (Remote Procedure Calls)}} + child [theme,level distance=11cm]{ node {System-aufrufe}} + child [theme,level distance=12cm]{ node {Ereignis-management}} + child [theme,level distance=13cm]{ node {IPC Modell}} + child [theme,level distance=14cm]{ node {pop-up-Thread-Modell}} }; \end{tikzpicture} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Speichermanagement -\begin{tikzpicture}[ mindmap, grow cyclic, every node/.style=concept, concept color=orange!40, - level 1/.append style={level distance=4cm}, - level 2/.append style={level distance=3cm, sibling angle=30}, - every node/.append style={scale=0.8}] - \node{Virtueller Speicher} - child { node {Virtuelles Speichermanagement}} - child { node {Begriffe}} - child { node {Abbildung}} - child { node {Memory Management Units}} - child { node {Seiten-abbildungs-tabellen}} - child { node {Seitenaustausch-Algorithmen} - child { node {FIFO}} - child { node {Second Chance}} - child { node {Least Recently Used}} - child { node {Working Set}} - child { node {WSClock}} - } - ; +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Speichermanagement +\begin{tikzpicture}[ + level 1/.style={sibling distance=5cm}, + level 1/.append style={level distance=3cm}, +] +% Topic +\node[topic]{Virtueller Speicher} +% Subtopic and Themes +child { node [subtopic]{Virtuelles Speichermanagement}} +child { node [subtopic]{Abbildung}} +child { node [subtopic]{Memory Management Units}} +child { node [subtopic]{Seiten-abbildungs-tabellen}} +child { node [subtopic]{Seiten-austausch-Algorithmen} + child [theme,level distance=1cm]{ node {FIFO}} + child [theme,level distance=2cm]{ node {Second Chance}} + child [theme,level distance=3cm]{ node {Least Recently Used}} + child [theme,level distance=4cm]{ node {Working Set}} + child [theme,level distance=5cm]{ node {WSClock}} + }; \end{tikzpicture} - - \end{document} \ No newline at end of file