Skip to content
Snippets Groups Projects
Commit f4bd756a authored by er04yjek's avatar er04yjek
Browse files

restlichen Fragen aus WS20 hinzugefügt

parent da6df8e2
No related branches found
No related tags found
No related merge requests found
......@@ -66,3 +66,62 @@ Nein. Das Unterdrücken von Interrupts ist eine privilegierte Operation, die dem
+ Normale Rechenoperationen können zu einem Trap führen.
Ja, wenn z. B. [Division auf x86_64](https://www.felixcloutier.com/x86/div) mit einem Divisor von 0 ausgeführt wird.
.
0 Bei Demand-Paging kann der Effekt des Seitenflatterns (Thrashing) auftreten. Welche Aussage ist richtig?
+ Wird eine eben ausgelagerte Seite gleich wieder angesprochen, so muss diese wieder eingelagert werden. Tritt dieser Effekt häufig auf, so spricht man von Seitenflattern.
Wahr.
- Seitenflattern tritt auf, wenn Seiten zur Defragementierung im Speicher verschoben werden.
Nein, Seitenflattern tritt bei ständigem Aus- und Einlagerung einer Seite auf.
- Bei der Ersetzungsstrategie Second Chance (SC) wird bei einem Zugriff auf eine Seite ein Referenzbit gesetzt. Wird die Seite längere Zeit nicht angesprochen, so wird dieses Bit gelöscht. Da dieses Bit ständig den Wert ändert, spricht man von Seitenflattern.
- Seitenflattern kann nur auftreten, wenn der dynamisch genutzte Speicher eines Prozesses größer ist, als der physikalisch vorhandene Speicher des Systems.
.
0 Welche Aussage zum Thema Speicherzuteilung ist richtig?
+ Bei allen listenbasierten Zuteilungsverfahren (First-, Next-, Best-, Worst-Fit) kann externer Verschnitt auftreten.
Wahr, weil es immer vorkommen kann, dass ein Speicherblock nicht komplett gefüllt ist.
- Die Worst-Fit-Strategie ist lediglich theoretisch interessant, da es in der Praxis nie sinnvoll ist, den am schlechtesten passenden Speicherplatz zuzuweisen.
Doch, da der Suchaufwand sehr klein sein kann.
- Beim Next-Fit-Verfahren muss entstehender Verschnitt immer am Ende der Freispeicherliste einsortiert werden.
Nein, es wird immer das erst passende Loch genutzt.
- Beim First-Fit-Verfahren ist die Liste der freien Speicherbereiche aufsteigend nach der Größe der jeweiligen Bereiche sortiert.
Nein, die Liste ist nach Adressen sortiert.
.
1 Konzeptionell ist der Speicher eines UNIX-Prozesses in Text-, Daten- und Stack-Segment untergliedert. Welche der folgenden Aussagen treffen zu?
+ Lokale automatic Variablen einer Funktion werden im Stack-Segment abgelegt.
Wahr.
+ Das Text-Segment enthält sowohl den Programmcode als auch konstante Zeichenketten.
Wahr.
- Dynamisch allozierte Zeichenketten werden in das Text-Segment gelegt.
Nein, werden in den Heap gelegt.
- Variablen der Speicherklasse automatic werden durch den Übersetzer mit dem Wert 0 initialisiert.
Nein, "automatic" Variablen werden nicht initialisiert.
+ Zeigervariablen können auf Daten aus allen Segmenten verweisen.
Wahr.
- Vor Ausführung einer Funktion wird das Daten-Segment vergrößert, um den Speicher für lokale Variablen zu reservieren.
Nein, lokale Variablen werden im Stack gespeichert.
+ Variablen der Speicherklasse static liegen im Daten-Segment.
Wahr.
- Lokale Variablen der Speicherklasse static werden beim Betreten der zugehörigen Funktion neu initialisiert.
Nein, werden nicht neu initialisiert.
.
1 Man unterscheidet die Begriffe Programm und Prozess. Welche der folgenden
Aussagen zu diesem Themengebiet sind richtig?
- Der Prozess ist der statische Teil (Rechte, Speicher, etc.), das Programm der aktive Teil (Programmzähler, Register, Stack).
Nein, ein Prozess ist ein Programm in Ausführung.
+ Der Systemaufruf exec(3) ersetzt das bestehende Programm im aktuell laufenden Prozess.
Wahr.
- Der Übersetzer (Compiler) erzeugt aus mehreren Programmen (Modulen) einen Prozess.
Nein, der Übersetzer ist ein Programm, das maschinenlesbaren Code erzeugt, keine Prozesse.
- Ein Programm kann immer nur einen Prozess ausführen.
Nein, ein Prozess für ein Programm aus.
+ Der Systemaufruf fork(3) erstellt einen neuen Prozess, der das gleiche Programm ausführt.
Wahr.
+ Der Binder erzeugt aus einer oder mehreren Objekt-Dateien ein Programm.
Wahr.
- Ein Prozess kann mit Hilfe von Threads mehrere Programme gleichzeitig ausführen.
Nein. Ein Prozess kann maximal ein Programm _gleichzeitig_ ausführen. Allerdings in seiner Lebensspanne mehrere Programme (z.B. mit exec(3))
+ Ein Programm kann durch mehrere Prozesse gleichzeitig ausgeführt werden.
Wahr, da ein Prozess nur ein Programm in Ausführung ist.
.
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment