From d4870180bcd7fa0dae03b21f4732ff7123d2b02f Mon Sep 17 00:00:00 2001 From: marcel Date: Mon, 20 Jan 2020 11:10:21 +0100 Subject: [PATCH] klausuraufgaben --- README.md | 187 ++++++++++++++++++++++++++++++++++++++++++++++ img/amdahl.png | Bin 0 -> 6177 bytes img/f1.png | Bin 0 -> 3588 bytes img/schaltung.png | Bin 0 -> 7979 bytes 4 files changed, 187 insertions(+) create mode 100644 README.md create mode 100644 img/amdahl.png create mode 100644 img/f1.png create mode 100644 img/schaltung.png diff --git a/README.md b/README.md new file mode 100644 index 0000000..34e2f94 --- /dev/null +++ b/README.md @@ -0,0 +1,187 @@ + +_Übungsaufgabe zur Veranstaltung [IT +Systeme](https://hsro-wif-it.github.io) im [Bachelorstudiengang +Wirtschaftsinformatik](https://www.th-rosenheim.de/technik/informatik-mathematik/wirtschaftsinformatik-bachelor/) an der [Hochschule Rosenheim](http://www.th-rosenheim.de)._ + +# 14 - Klausurvorbereitung + +Diese Übung dient speziell der Klausurvorbereitung und beinhaltet Aufgaben, die so ähnlich in der Klausur vorkommen könnten. + +> Note: **Lösungen im _Musterlösung_ Branch!** + +## Aufgabe 1: Rechnerarchitektur (5P) + +Beschreiben Sie die Grundzüge der _Harvard-Prozessorarchitektur_. + +## Aufgabe 2: Caching (8P + 8P) + +Sie haben zwei Caches: Einen mit 4 Plätzen und einen mit 5 Plätzen. Folgende Zahlen werden der Reihe nach angefragt + +1 3 5 4 2 4 3 2 1 0 5 3 5 0 4 3 5 4 3 2 1 3 4 5 + + +### a) +Schreiben Sie die Cache-Belegung auf, wenn die Ersetzungstrategie **Least Recently Used (LRU)** ist + +Wie sieht die Cache Belegung jeweils bei 4 Plätzen aus? +Wie hoch ist die **Hitrate** und die **Missrate**? + +Wie sieht die Cache Belegung jeweils bei 5 Plätzen aus? +Wie hoch ist die **Hitrate** und die **Missrate**? + +### b) +Schreiben Sie die Cache-Belegung auf, wenn die Ersetzungstrategie **First in First out (FIFO)** ist + +Wie sieht die Cache Belegung jeweils bei 4 Plätzen aus? +Wie hoch ist die **Hitrate** und die **Missrate**? + +Wie sieht die Cache Belegung jeweils bei 5 Plätzen aus? +Wie hoch ist die **Hitrate** und die **Missrate**? + +## Aufgabe 3: Schaltnetze (3P + 5P + 7P) + +### a) + +Skizzieren Sie das Schaltnetz eines **Halbaddierer** und schreiben Sie die Wertetabelle auf. + + +### b) + +Formen Sie folgende Schaltfunktion so um, daß sie aus schließlich mit NAND-Schaltgliedern realisiert werden kann: + +![](./img/f1.png) + +### c) + +1. Ermittle für die angegebene Schaltung die zugehörige Schaltgleichung. Vereinfache diese anschließend weitestmöglich. + +![](./img/schaltung.png) + + +2. Formen Sie die vereinfachte Schaltgleichung so um, dass sie nur eine Sorte Logikgatter enthält. + + +## Aufgabe 4: Betriebssysteme (3P + 5P + 7P) + +### a) + +Nennen Sie mindestens 4 Komponenten/ Aufgaben eines Betriebsystems. + +### b) + +Wie ist ein _Prozess_ definiert und welche _Prozesszustaende_ gibt es (Nennen Sie mindestes 3!). + +### c) + +Schreiben Sie ein Batch/Shell - Skript `create.sh`, das einen Parameter n übergeben bekommt und die Anzahl n Verzeichnisse erstellt und in jedem Verzeichnis 2 leere Dateien (`datei1.txt` und `datei2.txt`) ablegt. + +Verwenden sie die Shell-Befehle: `touch`, `mkdir`, `cd`, `for` + +Folgender Aufruf +```shell +$ create.sh 3 +``` + +erzeugt dann die folgende Struktur +```shell +- folder1 + - datei1.txt + - datei2.txt +- folder2 + - datei1.txt + - datei2.txt +- folder3 + - datei1.txt + - datei2.txt +``` + +## Aufgabe 5: Netzwerk (8P + 8P) + +### a) Link Layer + +Ein Link-Layer Protokoll verwendet folgende Zeichenkodierung: + +A 01000111 +B 11100011 +FLAG 01111110 +ESC 11100000 + +Es soll der 4-Character-Frame „A B ESC FLAG“ übertragen werden. + +Welche Bitsequenz wird auf der Physical Layer jeweils in folgenden Fällen übertragen? +- **Byte Count**: Am Anfang des Frames wird die Länge des Frames binär-kodiert übertragen. +- **Byte Stuffing**: Anfang und Ende des Frames wird durch FLAG Zeichen markiert. +- **Bit Stuffing**: Anfang und Endes des Frames wird durch FLAG Zeichen markiert. Der Link Layer verwendet Bit Stuffing, falls sie das Bit 1 fünfmal hintereinander senden muss. + +### b) Fehlererkennung und Fehlerkorrektur + +**CRC**: Gegeben sei das Generatorpolynom G = 1001. Es sollen die Datenbits 01101010101 übertragen werden. Berechnen Sie, welche CRC Bits mitgesendet werden müssen! + +Erklären Sie, was der Empfänger machen müsste um zu überprüfen, dass die CRC Prüfsumme mit dem Dateninhalt übereinstimmt. + + +## Aufgabe 6: HTTP und ReST (3P + 5P + 3P) + +### a) + +Nennen Sie die 4 wichtigsten HTTP Commands und deren Funktion. + +### b) + +Angenommen es gibt einen Rest Service unter der URL `https://openmensa.org/api/v2` + +- mit dem Pfad `/canteens` laesst sich die Liste der Kantinen abfragen +- mit dem Pfad `/canteens/:id` laesst sich eine spezielle Kantine abfragen (wobei `:id` eine Zahl zwischen 1 und 100 sein muss!) + +Aufgabe: +- Welche Shell-Commands kann man verwenden. Nennen Sie mindestens 1! +- Wie lauten die Aufrufe? + +### c) + +Angenommen Ihre Anfrage an einen Rest-Service schickt folgende Antwort: + +```java +{ + "id": 1, + "name": "Mensa UniCampus Magdeburg", + "city": "Magdeburg", + "addressen": "Pfälzer Str. 1, 39106 Magdeburg", +} +``` + +- Wie nennt sich das Datenformat? +- Was würde sich ändern, wenn eine Liste von Kantinen zurückgegeben würde? + +## Aufgabe 7: Cluster und Cloud (4P + 8P) + +### a) Cloud + +Welche 3 **Servicemodelle** gibt es als Cloud-Angebote? Benennen Sie diese und erklären Sie diese kurz. + +### b) Amdahl's Law + +Gegeben ist eine Aufgabe A, die sich in einen sequentiellen Anteil (grün markiert), einen parallelen Anteil, der sich nur auf GPUs ausführen lässt (rot markeiert) und einen parallelen Anteil, der sich nur auf CPU ausführen lässt (blau markiert). + +![](./img/amdahl.png) + +Wie gross ist der Anteil an der gesamten Aufgabe? +- seq +- paral. CPU +- paral. GPU + + +Die Anzahl der GPUs sei m, die Anzahl der CPUs sei n. + +Welche Geschwindigkeitsvorteile ergeben sich? Füllen Sie die folgende Matrix aus. + +m/n| 1 | 5 | 10 | 20 | +---|---------|----------|---------|----------| +1 | | | | | +5 | | | | | +10 | | | | | +20 | | | | | + + + +**Fertig!!!** \ No newline at end of file diff --git a/img/amdahl.png b/img/amdahl.png new file mode 100644 index 0000000000000000000000000000000000000000..2791adcd4703bbaa030dd92487cb453e42897bae GIT binary patch literal 6177 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 literal 0 HcmV?d00001 diff --git a/img/f1.png b/img/f1.png new file mode 100644 index 0000000000000000000000000000000000000000..f296f9e764acdbce8689e473c93f981069c2ceb1 GIT binary patch literal 3588 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 V`y)nQnd{FDps!=1-Jt0T{~!GE*hK&U literal 0 HcmV?d00001 diff --git a/img/schaltung.png b/img/schaltung.png new file mode 100644 index 0000000000000000000000000000000000000000..d0f1a2fa4f6d84804fe2140d6e1d5f4be6725cbc GIT binary patch literal 7979 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 literal 0 HcmV?d00001