BS Übung 01 (Stefan Bosse) [10.2024] |
Punkte: | Total | /2 | 1. | /2 | 2. | /2 | 3. | /2 | 4. | /2 |
Aufgabe 1. Welche Rolle spielen Compiler in der Betriebssystementwicklung?
Aufgabe 2. Für welche digitalen Rechnersysteme sind Betriebssysteme geeignet und werden dort auch eingesetzt? Mache eine Recherche.
In dieser Überung wird ein eingebauter C-JS Transpiler verwendet. Die Ausführung der einzelnen Aufgaben wird unabhängig in einem eigen Kontext ausgeführt. jede teilaufgabe benötigt eine main Funktion! Es gibt nur eine C Stdlib Header Datei: clib.h. Diese muss immer eingebunden werden.
Ein C Programm besteht aus:
▸
ℙ
[] |
✗
≡
|
printf(<Formatstring>,<arg1>,<arg2>,...)
. Der Formatstring kann alle Textzeichen enthalten und Formatierungsplatzhalter. Für ganze Zahlen verwendet man %d
für dezimale und %x
für hexadezimale Ausgabe. Ein Zeilenumbruch wird wie in anderen Programmiersprachen auch mit dem Escape Zeichen \n
ausgeführt.In diser Übung soll ein erster Einstieg in die C Programmierung erfolgen (Warm-up).
Es gibt nur folgende Elemente:
int
Aufgabe 3. Es sollen drei Variablen a, b, und c vom Datentyp Ganzzahl definiert werden. a und b sind global, c ist lokal in der main Funktion zu definieren. a und b sollen mit den Werten 42 und 24 initialisiert werden. In der main Funktion sollen die Summe (+
), das Produkt (*
), und der Quotient (/
) berechnet werden. Die Werte aller drei Variablen sollen mit printf ausgegeben werden, jeweils für die drei berechnungen getrennt (und mit dem arithemtischen Symbol im Format String).
▸
ℙ
[] |
✗
≡
|
I2luY2x1ZGUgImNsaWIuaCIKaW50IGE9NDI7CmludCBiPTI0OwppbnQgbWFpbigpIHsKICBpbnQgYzsKICBjPWErYjsKICBwcmludGYoIiVkICsgJWQgPSAlZFxuIixhLGIsYyk7CiAgYz1hKmI7CiAgcHJpbnRmKCIlZCAqICVkID0gJWRcbiIsYSxiLGMpOwogIGM9YS9iOwogIHByaW50ZigiJWQgLyAlZCA9ICVkXG4iLGEsYixjKTsKfQ==
Aufgabe 4. Gebe die Speicheradressen von den drei Variablen a, b, und c aus indem der &
der Variable vorangestellt wird. Trage die Adressen nachfolgend ein. Die Frage: Wie sind die Variablen im Speicher angeordnet? Drücke die ℙ Taste und suche im JS Code nch der Allokation der Variablen. Welche Variablen belegen den Heap, welche den Stack?