diff options
| author | Gregor Kleen <gkleen@yggdrasil.li> | 2015-10-17 16:18:38 +0200 |
|---|---|---|
| committer | Gregor Kleen <gkleen@yggdrasil.li> | 2015-10-17 16:18:38 +0200 |
| commit | 822f938a89fca26e16b7260d165bb92679021a61 (patch) | |
| tree | bcb302400b93f148e0d3e1a479225839f1c2bc59 | |
| parent | 5386a51cf67b8b62c6fd985a69e7864c9c1ab2b2 (diff) | |
| download | uni-822f938a89fca26e16b7260d165bb92679021a61.tar uni-822f938a89fca26e16b7260d165bb92679021a61.tar.gz uni-822f938a89fca26e16b7260d165bb92679021a61.tar.bz2 uni-822f938a89fca26e16b7260d165bb92679021a61.tar.xz uni-822f938a89fca26e16b7260d165bb92679021a61.zip | |
Betriebssysteme - Blatt 1
| -rw-r--r-- | ws2015/betriebssysteme/blaetter/01/abgabe.md | 31 | ||||
| l--------- | ws2015/betriebssysteme/blaetter/01/default.pdf.do | 1 |
2 files changed, 32 insertions, 0 deletions
diff --git a/ws2015/betriebssysteme/blaetter/01/abgabe.md b/ws2015/betriebssysteme/blaetter/01/abgabe.md new file mode 100644 index 0000000..3b83a94 --- /dev/null +++ b/ws2015/betriebssysteme/blaetter/01/abgabe.md | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | % Betriebssysteme -- Blatt 1 | ||
| 2 | % Gregor Kleen | ||
| 3 | % 2015-10-17 | ||
| 4 | |||
| 5 | # Aufgabe 4 -- Realisierung von Unterprogrammen | ||
| 6 | |||
| 7 | a) | ||
| 8 | - Code duplication -- Etwaige spätere Änderungen müssen manuell an alle Stellen kopiert werden. | ||
| 9 | - Argumente müssen manuell an jede Stelle eingepflegt werden. | ||
| 10 | b) Die Kosten der Befehle für das Springen ins Unterprogramm und das kopieren der Argumente/Return-Values können groß sein gegen die Kosten des Unterprogramms. | ||
| 11 | c) | ||
| 12 | - Die Parameter können auf den Stack gepusht werden, bevor in das Unterprogramm gesprungen wird. | ||
| 13 | - Manche Maschinen bieten spezielle Register für diesen Zweck. | ||
| 14 | d) Während der Ausführung unterhält die Maschine ein Register, das die Adresse des nächsten auszuführenden Befehls enthält. | ||
| 15 | Diese kann beliebig überschrieben werden. | ||
| 16 | e) | ||
| 17 | `JMP` | ||
| 18 | ~ überschreibt nur das Adress-Register. | ||
| 19 | |||
| 20 | `CALL` | ||
| 21 | ~ speichert vor dem Überschreiben des Adressregisters noch eine Adresse an die, nach Ausführung des Unterprogramms, in das gesprungen wird, zurückgesprungen werden soll. | ||
| 22 | f) `RET` muss so implementiert werden, dass es die Rücksprungadresse aus dem selben Register zu lesen versucht, in das `CALL` sie speichert. | ||
| 23 | `CALL` speichert die Adresse entweder in einem speziellen Register oder auf dem Stack. | ||
| 24 | |||
| 25 | # Aufgabe 5 -- Das Betriebssystem | ||
| 26 | |||
| 27 | a) $2^n \cdot m~\text{Byte}$ | ||
| 28 | b) Maschinensprache | ||
| 29 | c) Textverabeitung | ||
| 30 | d) Gerätetreiber | ||
| 31 | e) offene | ||
diff --git a/ws2015/betriebssysteme/blaetter/01/default.pdf.do b/ws2015/betriebssysteme/blaetter/01/default.pdf.do new file mode 120000 index 0000000..a3ec235 --- /dev/null +++ b/ws2015/betriebssysteme/blaetter/01/default.pdf.do | |||
| @@ -0,0 +1 @@ | |||
| ../../../../default.pdf.do \ No newline at end of file | |||
