summaryrefslogtreecommitdiff
path: root/ws2015
diff options
context:
space:
mode:
authorGregor Kleen <gkleen@yggdrasil.li>2016-01-11 02:30:41 +0000
committerGregor Kleen <gkleen@yggdrasil.li>2016-01-11 02:30:41 +0000
commite621ada27e4eb7b4495416a59741893a6003a20f (patch)
treea2d3937b9a7462534d3028cf3ed39a82249ac06b /ws2015
parentf487420143603e324d98e0adf14bc75ec2e33208 (diff)
downloaduni-e621ada27e4eb7b4495416a59741893a6003a20f.tar
uni-e621ada27e4eb7b4495416a59741893a6003a20f.tar.gz
uni-e621ada27e4eb7b4495416a59741893a6003a20f.tar.bz2
uni-e621ada27e4eb7b4495416a59741893a6003a20f.tar.xz
uni-e621ada27e4eb7b4495416a59741893a6003a20f.zip
OSS 10
Diffstat (limited to 'ws2015')
-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