BS Übung 01 (Stefan Bosse) [10.2024]
Gruppe und Namen der Mitglieder
Punkte:Total/21./22./23./24./2

Einführung in Betriebssysteme

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.


C Programmierung

Hinweise

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:

  1. Typdefinitionen, Konstanten
  2. Globalen Variablen (Daten)
  3. Globalen Funktionen
  4. Lokalen Variablen (innerhalb von Funktionen oder Anweisungsblöcken)
  5. Die main Funktion:

Die main Funktion: Hello World!

 ▸ 
 ℙ 
[]
 ✗ 
 ≡ 

  1. Die printf Funktion: 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.

Variablendefinition und Ausdrücke

In diser Übung soll ein erster Einstieg in die C Programmierung erfolgen (Warm-up).

Es gibt nur folgende Elemente:

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).


Variablendefinition (Werte und Zeiger)

 ▸ 
 ℙ 
[]
 ✗ 
 ≡ 

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?



Created by the NoteBook Compiler Ver. 1.32.3 (c) Dr. Stefan Bosse (Tue Nov 12 2024 13:56:35 GMT+0100 (Central European Standard Time))