From 822f938a89fca26e16b7260d165bb92679021a61 Mon Sep 17 00:00:00 2001
From: Gregor Kleen <gkleen@yggdrasil.li>
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/betriebssysteme')

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