From 822f938a89fca26e16b7260d165bb92679021a61 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Sat, 17 Oct 2015 16:18:38 +0200 Subject: Betriebssysteme - Blatt 1 --- ws2015/betriebssysteme/blaetter/01/abgabe.md | 31 +++++++++++++++++++++++ ws2015/betriebssysteme/blaetter/01/default.pdf.do | 1 + 2 files changed, 32 insertions(+) create mode 100644 ws2015/betriebssysteme/blaetter/01/abgabe.md create mode 120000 ws2015/betriebssysteme/blaetter/01/default.pdf.do (limited to 'ws2015') 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 @@ +% Betriebssysteme -- Blatt 1 +% Gregor Kleen +% 2015-10-17 + +# Aufgabe 4 -- Realisierung von Unterprogrammen + +a) + - Code duplication -- Etwaige spätere Änderungen müssen manuell an alle Stellen kopiert werden. + - Argumente müssen manuell an jede Stelle eingepflegt werden. +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. +c) + - Die Parameter können auf den Stack gepusht werden, bevor in das Unterprogramm gesprungen wird. + - Manche Maschinen bieten spezielle Register für diesen Zweck. +d) Während der Ausführung unterhält die Maschine ein Register, das die Adresse des nächsten auszuführenden Befehls enthält. + Diese kann beliebig überschrieben werden. +e) + `JMP` + ~ überschreibt nur das Adress-Register. + + `CALL` + ~ speichert vor dem Überschreiben des Adressregisters noch eine Adresse an die, nach Ausführung des Unterprogramms, in das gesprungen wird, zurückgesprungen werden soll. +f) `RET` muss so implementiert werden, dass es die Rücksprungadresse aus dem selben Register zu lesen versucht, in das `CALL` sie speichert. + `CALL` speichert die Adresse entweder in einem speziellen Register oder auf dem Stack. + +# Aufgabe 5 -- Das Betriebssystem + +a) $2^n \cdot m~\text{Byte}$ +b) Maschinensprache +c) Textverabeitung +d) Gerätetreiber +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 -- cgit v1.2.3