CS计算机代考程序代写 algorithm ER 0 1

0 1
0 1
0
1 2
Aufgabe1 3,2,1,Hexdump!(8Punkte)
Es sei folgender Hexdump der Speicheradressen 0x0020-0x014f gegeben:
0x0020 19ab4d0080892295 5b8131003a008b89 0x0030 58b796010f0000ed 10482401f8000100 0x0040 d163f504b000c62f 78c7e6e1a6fea398 0x0050 01a3010031b05f40 510045ab6078b02e 0x0060 044ffac844f1ef1d 1445a5e9e6765b50 0x0070 2343875700109c01 274d06a24b3c4c28 0x0080 d85a83fc0cc9dd31 d13cee8aff6fc800 0x0090 96bf66d1a39c27a2 b8c0d9651eec5eff 0x00a0 75b3dcd4f31278f9 0fe21c09bc280000 0x00b0 713fc8b83b6ba087 990001a204474102 0x00c0 b1009aa517b1011a 7a6e3c0063b9be3c 0x00d0 7a65726f008204a9 cae093852ef45c3d 0x00e0 2f31aa8c2c29f4ad 21a76b495ba0e391 0x00f0 bce7ca44859ffc01 21778e00e932c669 0x0100 766f6964000060c9 4760ad0042eca786 0x0110 6e656c6c00818d2d 9b26a5d04bf90351 0x0120 920086920010afb3 f654f0f5c600c548 0x0130 f7583b197238fbdf beabc77d8a466c5b 0x0140 eb1680abea7e7314 6fc0f7357b650015
Wir befinden uns auf einer fiktiven 16-bit little-endian Architektur (die Werte werden demnach in der umgekehrten Bytefolge interpretiert). Eine Speicheradresse ist somit 16 bit breit. Ein Char sei 8 bit breit, ein Integer sei 16 bit breit, ein Long 32 bit. Auf den Speicher kann beliebig byteweise zugegriffen werden, es wird kein Alignment enforced.
Hinweis: Sie müssen die Lösung in keiner der Teilaufgaben dieser Aufgabe begründen. Sie können Ihre Lösung durch skizzenhafte Angabe von Zwischenschritten jedoch nachvollziehbar machen.
a)* Wie viele Hex-Zeichen umfasst eine Speicheradresse im obigen Hexdump?
b) An der Adresse 0xa6 ist ein Pointer gespeichert. Geben Sie den Pointer in big-endian als Hexadezimalwert an.
Wir betrachten folgenden Code, ausgeführt im obigen Speicherkontext:
1 int* i = (int*) 0x10a;
2
3int*a=&i[2];
4 long b = *(long*)*(int*)*i; 5 char* c = ((char*)i)+0x6;
c)* Welcher Wert wird der Variablen a (Zeile 3) zugewiesen? Geben Sie den Wert als Hexadezimalwert in big-endian
an.
IN-gbs-3-20210304-E5714-02 – Seite 2 / 20 – Seite leer

d) Welcher Wert wird der Variablen b (Zeile 4) zugewiesen? Geben Sie den Wert als Hexadezimalwert in big-endian an.
e) Geben Sie den String an, der durch die Variable c (Zeile 5) referenziert wird. (Hinweis: Nutzen Sie man 7 ascii oder Abbildung 1.1)
234567 ————-
0: 0@Pp 1: ! 1 A Q a q 2: ” 2 B R b r 3: # 3 C S c s 4: $ 4 D T d t 5: % 5 E U e u 6: & 6 F V f v 7: 7 G W g w 8: ( 8 H X h x 9: ) 9 I Y i y A: * : J Z j z B: + ; K [ k { C: , < L \ l | D: - = M ] m } E: . > N ^ n ~ F: / ? O _ o DEL
Abbildung 1.1: ASCII-Zeichen und zugehörige Hexadezimalwerte (z.B. 0x21 = ‘!’)
Abbildung 1.2: xkcd: https://xkcd.com/138/
0 1 2
0 1 2
Seite leer – Seite 3 / 20 – IN-gbs-3-20210304-E5714-03

0 1 2 3 4 5 6
a)* Benennen Sie die vier Deadlock-Bedingungen nach Coffman und beschreiben Sie, in welcher Form sich diese in Abbildung 2.1 zeigen.
Aufgabe2 GenerischeFragen(14Punkte)
Street 0
Street 2
IN-gbs-3-20210304-E5714-04
– Seite 4 / 20 –
Seite leer
Street 1
Abbildung 2.1: Deadlock
Street 3

b)* Geben Sie eine konkrete Lösung zur Auflösung/Vermeidung des Deadlocks aus Abbildung 2.1 an und nennen Sie die Deadlock Bedingung, die dabei außer Kraft gesetzt wird.
c)* Für welche Seiten (Pages) könnte es sinnvoll sein, dass sie von zwei Prozessen gleichzeitig genutzt werden (von Interprozesskommunikation abgesehen), wenn beide Prozesse auf dem gleichen Programm basieren?
d)* Nennen und beschreiben Sie drei gängige Speicherschutzmaßnahmen auf Betriebssystemebene, die das Ausnutzen von Speicherfehlern (zum Beispiel: Buffer-Overflow, . . . ) erschweren.
0 1
0 1 2
0 1 2 3
Seite leer – Seite 5 / 20 – IN-gbs-3-20210304-E5714-05

0 1 2
e)* Ordnen Sie die folgenden Virtualisierungsmöglichkeiten den am besten passenden Szenarien zu. Tragen Sie dazu die Nummer der Virtualisierungstechnik bei dem jeweiligen Szenario ein.
1. Para Virtualization
2. Linux Container
3. Hardware-assisted virtualization
4. Binary Translation
• Dedizierte Gerätetreiber kommunizieren mit dem Hypervisor durch sog. Hypercalls
• Hypervisor interpretiert/emuliert (Teile des) Binärcode(s) der Gast-VM in Software
• Nutzt Linux cgroups und namespaces zur Abschottung
• Benutzung von Intel VT-x, AMD-V, etc.
IN-gbs-3-20210304-E5714-06 – Seite 6 / 20 – Seite leer

Aufgabe3 3,2,1,Speicherverwaltung!(4Punkte)
Die 65536 = 0x10000 Bytes eines gegebenen virtuellen Speichers sollen mittels eines zweistufigen Paging- Verfahrens auf Kacheln der Größe 256 = 0x100 Bytes abgebildet werden. Insgesamt stehen 16384 = 0x4000 Bytes vollständig adressierbaren physischen Hauptspeichers zur Verfügung.
Nehmen Sie an, dass die nicht auf den Seitenoffset entfallenden Bits einer virtuellen Adresse gleichmäßig für die Auswahl der Einträge der ersten und der zweiten Ebene der Seitentabellen verwendet werden. Gehen Sie ferner
davon aus, dass die Seitengröße der Kachelgröße (Page Size = Frame Size) entspricht. Vereinfachend nehmen wir
an, dass in den Seitentabellen ausschließlich Adressinformationen (d.h. keine zusätzlichen Bits wie present, dirty,
…) gespeichert werden. Berechnen Sie auf Basis dieser Informationen die folgenden Werte: 4
Zahl der Bits einer physischen Adresse:
Zahl der Bits einer virtuellen Adresse:
Zahl der Bits einer virtuellen Adresse, die auf das Offset innerhalb einer Seite entfallen:
Zahl der Bits einer virtuellen Adresse, die pro Paging-Stufe verwendet werden:
Zahl der Seiten (Pages) im virtuellen Speicher bei Vollbelegung:
Zahl der Kacheln (Frames) im physischen Speicher bei Vollbelegung:
Zahl der Einträge in der Tabelle, die für den ersten Schritt der Adressübersetzung verwendet wird: Größe einer Tabelle, die für den zweiten Schritt der Adressübersetzung verwendet wird in Bits:
Platz für Nebenrechnungen: (unbewertet!)
Seite leer – Seite 7 / 20 – IN-gbs-3-20210304-E5714-07
0 1 2 3

Aufgabe4 Dateisysteme(9Punkte)
Auf einem ext4-Dateisystem wird im Verzeichnis /home/joe/documents vom Benutzer joe der Befehl ls -la ausgeführt. Der Befehl liefert folgende Ausgabe:
0 1
0 1
0 1
Der Benutzer joe führt anschließend eine Reihe von Befehlen auf den Dateien im Verzeichnis aus. Erläutern Sie, welche Änderungen das Betriebsystem jeweils an den i-nodes der Dateien im Verzeichnis vornehmen muss, um die gewünschte Änderung herbeizuführen. Erwähnen Sie dabei explizit, welche Felder in den i-nodes welcher Dateien wie verändert werden müssen. Änderungen an den i-nodes von Verzeichnissen und an deren Directory Entries müssen nicht erläutert werden. Änderungen an den Time-Feldern (z.B. accessed, modified, changed) dürfen ignoriert werden.
a)* chmod 666 names.txt (Ändern der Berechtigungen von names.txt.)
b)* ln names.txt people.txt (Erstellen eines Hardlinks people.txt für die Datei names.txt.)
c) rm people.txt (Löschen des Hardlinks people.txt aus Aufgabe b).)
total 16 drwxr≠xr≠≠ 2 joe drwxrwxrwx 31 joe
≠rwx≠≠x≠≠x 1 bob ≠rw≠≠w≠≠w≠ 1 joe ≠r≠≠r≠≠r≠≠ 1 joe ≠ r w ≠ r w ≠ r ≠≠ 1 joe
users users users users users users
120 Jan 16 593 May 19 689 Jan 16 102 Jan 17
3630 Jan 16 59 Jan 16
10:02 2018 11:10 14:14 11:10 16:20
. ..
backup . sh issues.txt
names.txt private . txt
IN-gbs-3-20210304-E5714-08 – Seite 8 / 20 – Seite leer

Gehen Sie in den folgenden Teilaufgaben davon aus, dass die Nutzer joe und bob Mitglied in der Gruppe users sind.
d)* Kann der Nutzer bob die Datei backup.sh löschen? Begründen Sie Ihre Antwort.
e)* Kann der Nutzer joe den Inhalt der Datei backup.sh ändern? Begründen Sie Ihre Antwort.
f)* Kann der Nutzer bob in die Datei issues.txt schreiben? Begründen Sie Ihre Antwort.
Auf den System befindet sich ebenfalls der Benutzer deamon, dieser ist nicht Mitglied in der Gruppe users. g)* Kann der Nutzer deamon die Datei backup.sh ausführen? Begründen Sie Ihre Antwort.
0 1
0 1
0 1
0 1
Seite leer – Seite 9 / 20 – IN-gbs-3-20210304-E5714-09

0 1 2
Der Benutzer joe möchte nun dafür sorgen, dass nur er selbst sich den Inhalt des Verzeichnisses /home/joe/documents ausgeben lassen kann. Zugleich soll niemand die Datei private.txt lesen können, mit Ausßnahme von joe und den Mitgliedern der Gruppe users, wobei joe zudem der einzige Benutzer mit Schreibrechten auf der Datei sein soll.
h)* Geben Sie die Zugriffsrechte des Verzeichnisses /home/joe/documents und die der darin befindlichen Datei private.txt an, die benötigt werden, um die gewünschten Berechtigungs-Eigenschaften auf dem Dateisystem durchzusetzen. Achten Sie darauf, dass alle hierfür nicht relevanten Berechtigungen möglichst unverändert bleiben.
IN-gbs-3-20210304-E5714-10 – Seite 10 / 20 – Seite leer

Aufgabe5 Speicherverwaltung(11Punkte)
a) Gegeben sei der Buddy-Allocator-Algorithmus gemäß Vorlesung, sowie der Pseudocode des folgenden Pro- gramms. Gehen Sie von einer minimalen Blockgröße (B0) von 8192 Bytes (8 KiB) und einer Gesamtspeichergröße von 131072 Bytes (128 KiB) aus.
0 1 2 3 4
6 7 8
1 A = allocate (40960);
2 B = allocate (16384);
3 C = allocate (8194);
4 D = allocate (5000);
5 E = allocate (9000); 5 6 free(D);
7 free(C); 8F=allocate(1);
Zeichnen Sie die gesamte Belegung des Speichers nach der Ausführung jedes Statements aus dem obigen Pseudocode auf. Kennzeichnen Sie belegte Blöcke mit dem Buchstaben der Belegung, lassen Sie unbelegte Blöcke frei. Trennen Sie Blöcke mittels senkrechter Striche.
Geben Sie bei jeder von ihnen verwendeten Vorlage an, welche Zeile des Pseudocodes sie abbildet.
Zeilennummer:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB
Zeilennummer:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB
Zeilennummer:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB
Zeilennummer:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB
Zeilennummer:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB
Zeilennummer:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB
Zeilennummer:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB
Zeilennummer:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB
Zeilennummer:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB
Zeilennummer:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB
Zeilennummer:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB
Zeilennummer:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB
Zeilennummer:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB
Zeilennummer:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB 8KiB
Seite leer – Seite 11 / 20 – IN-gbs-3-20210304-E5714-11

0 b) Ein Least Recently Used (LRU) Seitenersetzungsalgorithmus wird auf einem System mit 4 Kacheln (f0-f3)
1 2 3
und 9 Seiten (0-8) verwendet. Zu beginn sind alle Kacheln (f0-f3) leer. Geben Sie die Seiten (in Reihenfolge des Auftretens) an, welche einen Pagefault auslösen.
Zugriffsreihenfolge: 0, 8, 4, 6, 6, 5, 0, 6, 1
Pagefaults (in Reihenfolge des Auftretens):
Sie können diese Tabelle als Hilfe verwenden. Diese wird aber nicht bewertet! Anfrage f0, t f1, t f2, t f3, t Pagefault?
IN-gbs-3-20210304-E5714-12
– Seite 12 / 20 –
Seite leer

Aufgabe 6 Petris Netze again (16 Punkte)
Gegeben ist folgendes natürlichzahliges Petrinetz. Das Petrinetz zeigt drei Datei Deskriptoren (fd1, fd2 und fd3), die gleichzeitig versuchen auf eine Datei lesend und schreibend zuzugreifen.
Dabei ist die Benennung der Stellen wie folgt:
• fdi_idle: Der i-te Datei Descriptor wird gerade nicht verwendet.
• fdi_w: Der i-te Datei Descriptor greift gerade auf die Datei schreibend zu (write). • fdi_r: Der i-te Datei Descriptor greift gerade auf die Datei lesend zu (read).
Erweitern Sie das gegebene Petri-Netz so, dass es alle der folgenden Anforderungen erfüllt. Alle hinzugefügten Erweiterungen müssen benannt werden und ohne das Verwenden weiterer Kapazitätsangaben an den Stellen umgesetzt werden.
a)* Es dürfen maximal zwei der unten gegebenen Datei Deskriptoren gleichzeitig lesend auf die Datei zugreifen.
b)* Es darf maximal einer der unten gegebenen Datei Deskriptoren gleichzeitig schreibend auf die Datei zugreifen. 1
c) Erweitern Sie ihre Lösung so, dass immer entweder geschrieben oder gelesen werden kann. Beides zusammen soll nicht erlaubt sein. Es muss dabei kein faires Netz erzeugt werden.
0
2 3 4
0 1 2 3 4
0 1 2 3
Seite leer
– Seite 13 / 20 –
IN-gbs-3-20210304-E5714-13
t0
fd1_idle
t1
t8
fd3_idle
t9
fd1_w
t2 t3
fd1_r
fd3_w
t10 t11
fd3_r
t4
fd2_idle
t5
fd2_w
t6 t7
fd2_r

0 1 2 3
d)* Geben Sie den Erreichbarkeitsgraphen zu folgendem Petrinetz an.
S0 t0 S1
3
12
t1
t3
3
t2
S2
0 1
0 1
e) Ist das Petri-Netz aus d) verklemmungsfrei? Begründen Sie.
f)* Erweitern Sie das folgende Petrinetz so, dass es unfair ist. Falls es schon unfair ist, umkreisen Sie den dafür verantwortlichen Teil des Netzes.
2
S0 3 S2 S3
t3
t2
t0 S1 t1
IN-gbs-3-20210304-E5714-14
– Seite 14 / 20 –
Seite leer

Aufgabe7 Scheduling(15Punkte)
Ein Finanzdienstleister ermöglicht seinen Kunden, an einer Wertpapierbörse gehandelte Unternehmensanteile zu kaufen und zu verkaufen. Für jeden Vorgang (Kauf oder Verkauf) wird hierfür beim Finanzdienstleister ein Prozess erstellt, dessen Ausführung sich in vier Phasen einteilen lässt:
1. Abfrage des Kontostands des Kunden in der Datenbank des Finanzdienstleisters
2. Abfrage des Börsenkurses über die Webschnittstelle der Wertpapierbörse
3. Verrechnung des (Ver-)Kaufspreises mit dem Kontostand und Berechnung einer kryptographischen Prüfsum- me für den Vorgang.
4. EintragungdesVorgangs(inkl.Prüfsumme)undneuenKontostandsindieDatenbankdesFinanzdienstleisters
Um die Systeme des Finanzdienstleisters möglichst effizient auszulasten, sollen die Prozesse die CPU freiwillig abgeben, wenn diese gerade nicht akut benötigt wird.
a)* Welche Phase eignet sich besonders gut für diese freiwillige Abgabe? Begründen Sie Ihre Antwort kurz.
b)* Der Scheduler in diesem System verwaltet eine Liste der neu angekommenen Prozesse, um diesen bei der nächsten regulären Schedulingentscheidung die CPU für ihre erste Phase zuzuteilen. Die Ankunft eines neuen Prozesses führt nicht zur Unterbrechung des aktuell rechnenden Prozesses. Schildern Sie, wie sich hieraus ein Problem ergeben kann
0 1
0 1 2
c)* Gegeben sei eine Implementierung des Round Robin Schedulingverfahrens, die eine Liste mit Pointern auf PCBs verwaltet. Das Zeitquantum ist hierbei hardcoded, kann also nicht verändert werden. Wie kann rechenlastigen Prozessen dennoch mehr Rechenzeit eingeräumt werden?
0 1
d)* Nennen Sie zwei nicht unterbrechende Scheduling-Strategien.
0 1
Seite leer – Seite 15 / 20 – IN-gbs-3-20210304-E5714-15

0 1 2
e)* Beschreiben Sie stichpunktartig den Ablauf eines Kontextwechsels in vier Schritten. Welche Komponente des Betriebssystems übernimmt diese Aufgabe?
0 1 2
f)* Threads werden des Öfteren als leichtgewichtige Prozesse beschrieben. Nennen Sie zwei Aspekte, die diese Bezeichnung rechtfertigen.
0 g)* Gegeben sei folgender, unvollständiger Schedule der Prozesse P1 bis P4, die folgende Eigenschaften haben:
1
2
3
4
5
Prozess Ankunftszeit Benötigte Rechenzeit P1 11 2
P2 14 5
P3 0 14
P4 2 4
Verwendet werde ein Round Robin Verfahren, dessen Parameter Sie dem Schedule entnehmen können. Wird der Scheduler aktiv, so benötigt er eine Zeiteinheit. Ein Kontextwechsel benötige eine weitere Zeiteinheit (beides in Zeile S./D.).
Vervollständigen Sie den Schedule, indem Sie Wartezeiten mit einem – und Rechenzeiten mit einem x markieren. Nutzen Sie den zweiten Vordruck, falls Sie Fehler im ersten Vordruck korrigieren möchten. Streichen Sie deutlich durch, was nicht gewertet werden soll (sonst keine Wertung möglich)!
0 5 10 15 20 25 30 35 40 P1 —-xx
P2 —- P3 xxx——-xxx—– P4 —xxx———- S./D. xx xx xx x
0 5 10 15 20 25 30 35 40 P1 —-xx
P2 —- P3 xxx——-xxx—– P4 —xxx———- S./D. xx xx xx x
IN-gbs-3-20210304-E5714-16 – Seite 16 / 20 – Seite leer

Aufgabe8 MultipleChoice(13Punkte)
Kreuzen Sie richtige Antworten an × Kreuze können durch vollständiges Ausfüllen gestrichen werden ⌅ Gestrichene Antworten können durch nebenstehende Markierung erneut angekreuzt werden ×⌅
Es müssen alle Antworten pro Teilaufgabe korrekt angekreuzt sein. Es ist mindestens eine Antwort korrekt.
a) Es sei folgende Ordnerstruktur in einem ext4 Dateisystem gegeben:
gbs
exam
main.tex
Makefile
Figures
petrinet.tikz
scheduler.tikz
Sie befinden sich in der Shell im Ordner Figures. In einer zweiten Shell wird der Ordner Figures in den Ordner exam verschoben.
Kreuzen Sie die zutreffenden Aussagen an:
Der Befehl cd .. resultiert im Ordner gbs.
Das Verschieben schlägt fehl, weil der Ordner noch durch die Shell benutzt wird. Der Befehl cd .. resultiert im Ordner Figures.
Der Befehl cd .. resultiert im Ordner exam.
b) Nehmen Sie an, eine Datei “Klausur.pdf” mit dem Rechtevektor rwxrwxrwx befindet sich in einem Ordner mit dem Rechtevektor rw-rw-rw-.
Kreuzen Sie die zutreffenden Aussagen an:
Ein Nutzer kann durch einen Softlink, der auf die Datei “Klausur.pdf” verweist und auf den er Zugriff hat, auf die Datei zugreifen.
Der Nutzer kann die Datei löschen.
Ein Nutzer kann durch einen Hardlink, der auf die Datei “Klausur.pdf” verweist und auf den er Zugriff hat, auf die Datei zugreifen.
Der Nutzer kann die Datei umbennen.
c) Welche Aussagen treffen zu, wenn die Basisblockgröße bei dem Buddy-Allocator Algorithmus verdoppelt wird: Der interne Verschnitt wird größer oder bleibt gleich.
Es werden gleich viele Freibereichslisten benötigt.
Der Verwaltungsaufwand nimmt ab.
Es werden weniger Freibereichslisten benötigt.
Bei gleichen Speicheranfragen bleibt der belegte Speicherplatz im Vergleich zu kleineren Basisblöcken gleich oder wird größer.
d) Kreuzen Sie die zutreffenden Aussagen an:
Die Anzahl von gleichzeitig gesetzten Hardtimern wird duch die Hardware limitiert. Das Ablaufen eines Hardtimers löst einen Interrupt aus.
Das Ablaufen eines Softtimers löst einen Interrupt aus.
Softtimer sind min. so genau wie Hardtimer.
Seite leer – Seite 17 / 20 – IN-gbs-3-20210304-E5714-17

e) Was sind charakteristische Eigenschaften eines Mikrokernel-Systems?
Vergleichsweise kleiner Betriebssystemkern.
Linux ist ein Bsp. für ein Mikrokernel-System.
In einer höheren Programmiersprache geschrieben. Dateisystem-Treiber läuft im User Space.
f) Wenn der Vaterprozess vor seinem Kindprozess terminiert, welche Aussagen treffen auf den Kindprozess zu? Der Kindprozess ist ein Deamon.
Der Kindprozess wird vom init Prozess adoptiert.
Der Kindprozess ist ein Waise.
Der Kindprozess wird beendet, sobald das Betriebssystem den PCB des Vaters entfernt. Der Kindprozess ist ein Zombie.
g) Sie befinden sich im Verzeichniss /var/tmp. In diesem befindet sich der Unterordner dir. Was sind gültige Pfade zum Verzeichniss /etc?
../../etc
/././etc
./../../etc
./etc
dir/../../../etc
dir/./../../../etc
h) Welche Art von Interprozesskommunikation wird bei dem Shell Befehl grep -r -e “GBS”* | less verwendet? Memory Mapped IO
Port Pipe Socket
i) Welche Verfahren werden zur Kommunikation / zum Datenaustausch mit anderen Geräten verwendet? Direct Memory Access (DMA)
Memory Mapped IO
Direct Media Access (DMA)
Random Access Memory Digital Media Controller (RAM DMC) Interrupts
IO Ports
IN-gbs-3-20210304-E5714-18 – Seite 18 / 20 – Seite leer

j) Warum sollte nach malloc(…) im späteren Verlauf des Programms immer free(…) aufgerufen werden? Es kann sonst zu einem Segmentation Fault kommen.
Es kann sonst zu einem Stack Overflow kommen.
Es kann sonst zu einem Memory Leak kommen.
Es kann sonst zu einem Buffer Overflow kommen.
k) Gegeben sei der unten zu sehende Code-Abschnitt. Bitte markieren Sie alle Aussagen, die für den Code zutreffen.
Gehen Sie davon aus, dass der Code in einem 64 Bit System kompiliert und ausgeführt wird, sowie das gilt sizeof(int) == 4
#include
void main() {
int (*p)[100];
}
printf(“%lu\n”, sizeof(*p));
Bei der Variable p handelt es sich um einen Pointer auf ein Array der Größe 100 vom Typ int. Die Ausgabe lautet: 100 .
Die Ausgabe lautet: 8
Die Ausgabe lautet: 800 .
Die Ausgabe lautet: 400
Bei der Variable p handelt es sich um ein Array von Pointern int.
l) Was soll in der Regel durch den Einsatz von Zertifikaten sichergestellt werden? Das ein öff. Schlüssel einer Instanz zugeordnet werden kann.
Das ein öff. Schlüssel noch aktuell ist.
Das ein öff. Schlüssel einem privaten Schlüssel zugeordnet werden kann. Das eine Signatur zu einem öff. Schlüssel gehört.
m) Kleines Kopfrechnen mit verschiedenen Zahlenbasen. 425 = 0x16
27 = 0b1000000 0x01000 = 4096 = 212 0b10001 = 0x11
Seite leer – Seite 19 / 20 – IN-gbs-3-20210304-E5714-19

Zusätzlicher Platz für Lösungen. Markieren Sie deutlich die Zuordnung zur jeweiligen (Teil-)Aufgabe. Ver- gessen Sie nicht, ungültige Lösungen zu streichen.
IN-gbs-3-20210304-E5714-20 – Seite 20 / 20 – Seite leer