summaryrefslogtreecommitdiff
path: root/ws2015/oss/blaetter/10/abgabe.md
diff options
context:
space:
mode:
Diffstat (limited to 'ws2015/oss/blaetter/10/abgabe.md')
-rw-r--r--ws2015/oss/blaetter/10/abgabe.md111
1 files changed, 111 insertions, 0 deletions
diff --git a/ws2015/oss/blaetter/10/abgabe.md b/ws2015/oss/blaetter/10/abgabe.md
new file mode 100644
index 0000000..530ce2d
--- /dev/null
+++ b/ws2015/oss/blaetter/10/abgabe.md
@@ -0,0 +1,111 @@
1---
2header-includes:
3 - \usepackage{tikz}
4 - \usetikzlibrary{petri}
5 - \usepackage[ngerman]{babel}
6---
7# Petrinetze und Erreichsbarkeitsgraphen
8
9a)
10
11\begin{figure}[!h]
12\centering
13\begin{tikzpicture}
14\node [place, tokens=1, label=right:$BS$] (bs) at (0.5,0) {};
15\node [place] (p1) at (0, 2) {$P_1$};
16\node [place] (p2) at (1, 2) {$P_2$};
17
18\node [transition] (t1) at (0,1) {$T_1$}
19 edge [pre] (bs)
20 edge [post] (p1);
21
22\node [transition] (t3) at (1,1) {$T_3$}
23 edge [pre] (bs)
24 edge [post] (p2);
25
26\node [transition] (t4) at (1, 3) {$T_4$}
27 edge [pre] (p2)
28 edge [post, bend left=45] (bs);
29
30\node [transition] (t2) at (0, 3) {$T_2$}
31 edge [pre] (p1)
32 edge [post, bend right=45] (bs);
33\end{tikzpicture}
34\caption{Generisches preemptives Multitasking}
35\label{fig:45a}
36\end{figure}
37
38Die Stelle $BS$ steht für die Betriebsystemsfunktionen, $P_1$ für den ersten, und $P_2$ für den zweiten Prozess.
39Hat eine der Stellen eine Marke so heißt dies, dass der jeweilige Prozess bzw.\, die Funktionen momentan ausgeführt werden.
40
41Die Transitionen bezeichnen Prozesswechsel.
42
43b)
44
45\begin{figure}[!h]
46\centering
47\begin{tikzpicture}
48\node [place, tokens=1, label=right:$BS_1$] (bs1) at (1,0) {};
49\node [place, label=left:$BS_2$] (bs2) at (0,0) {};
50\node [place] (p1) at (0, 2) {$P_1$};
51\node [place] (p2) at (1, 2) {$P_2$};
52
53\node [transition] (t1) at (0,1) {$T_1$}
54 edge [pre] (bs1)
55 edge [post] (p1);
56
57\node [transition] (t3) at (1,1) {$T_3$}
58 edge [pre] (bs2)
59 edge [post] (p2);
60
61\node [transition] (t4) at (1, 3) {$T_4$}
62 edge [pre] (p2)
63 edge [post, bend left=45] (bs1);
64
65\node [transition] (t2) at (0, 3) {$T_2$}
66 edge [pre] (p1)
67 edge [post, bend right=45] (bs2);
68\end{tikzpicture}
69\caption{Round-Robin Scheduling}
70\label{fig:45b}
71\end{figure}
72
73Sowohl $BS_1$ als auch $BS_2$ bezeichnen hier Betriebssystemsfunktionen tragen jedoch zusätzlich die Information welcher Prozess vom Round-Robin Verfahren als nächstes ausgewählt wird.
74
75c)
76
77
78\begin{figure}[!h]
79\centering
80\begin{tikzpicture}
81\node (A) {$M_0 = (1, 0, 0, 0)$};
82\node (B) [below of=A] {$M_1 = (0, 0, 1, 0)$};
83\node (C) [below of=B] {$M_2 = (0, 1, 0, 0)$};
84\node (D) [below of=C] {$M_3 = (0, 0, 0, 1)$};
85
86\draw[thick, ->] (A) -- node[right] {$T_1$} ++ (B);
87\draw[thick, ->] (B) -- node[right] {$T_2$} ++ (C);
88\draw[thick, ->] (C) -- node[right] {$T_3$} ++ (D);
89\draw[thick, ->] (D) to [bend right=90] node[midway,left] {$T_4$} (A);
90\end{tikzpicture}
91\caption{Erreichbarkeitsgraph für das Petrinetz aus Abbildung \ref{fig:45b}. Das Format ist $M_n = (BS_1, BS_2, P_1, P_2)$}
92\label{fig:45c}
93\end{figure}
94
95d) Damit mindestens ein Prozess verhungern könnte müsste es einen Pfad geben, der nur endlich oft durch eine Markierung läuft, die eine Marke für den betrachteten Prozess gesetzt hat.
96
97Es gibt in Abbildung \ref{fig:45c} nur einen geschlossenen Pfad, der sowohl $M_1$ als auch $M_3$ trifft.
98Insbesondere ist obig beschriebene Situation für keinen der beiden Prozesse der Fall.
99
100e) Eine Verklemmung könnte genau dann auftreten, falls es in Abbildung \ref{fig:45c} eine Markierung gäbe, die keine Folgemarkierung hat---Dies ist nicht der Fall.
101
102Eine Teilweise Verklemmung könnte genau dann auftreten, falls es in Abbildung \ref{fig:45c} eine Markierung gäbe, die nicht durch das Schalten von endlich vielen Transaktionen von jeder anderen Markierung erreichbar wäre.
103Da der Erreichbarkeitsgraph genau aus einem zyklischen Pfad besteht, der alle Markierungen enthält, ist dies nicht der Fall.
104
105# Multiprocessing
106
107a) Die neu hinzukommenden Marken dürfen die Kapazität der Stelle nicht überschreiten
108b) $M(s) - W(s,t)$
109c) Der gemeinsam genutzte Speicherbereich muss immer genau zu 60% gefüllt sein
110d) (iii)
111e) Es enthält eine teilweise Verklemmung