Created by Sergej Seifert
almost 6 years ago
|
||
Was sind die Aufgaben der Speicherverwaltung?
Welcher Teil eines Rechensystems ist für die Verwaltung von:
1. primärem Cache
2. sekundärem Cache
3. Arbeitsspeicher
4. Festplatte
zuständig?
Welche Nachteile haben Rechensysteme ohne Speicherabstraktion?
Existieren Rechensysteme ohne Speicherabstraktion heutzutage noch?
Was ist abstrakter Speicher?
Was ist das Relokationsproblem?
Welche Probleme bereitet das Swapping?
Was sind die Nachteile der Speicherverwaltung mittels Bitmaps? Gibt es einen effizienteren Weg?
Erläutern Sie die folgenden Strategien zum Auffinden freier Speicherblöcke:
1. First Fit
2. Next Fit
3. Best Fit
4. Worst Fit
Wozu dienen Basis und Limitregister?
Der Intel 8086-Prozessor unterstützte keinen virtuellen Speicher.
Trotzdem wurden früher Systeme verkauft, die eine nicht modifizierte
8086-CPU enthielten und mit Paging arbeitetet. Wie konnte dies
funktionieren?
Erläutern sie die folgenden begriffe aus dem Bereich paging:
1. Seiten
2. Seitenrahmen
3. Seitentabellen
Gibt es beim Paging mehr Seiten oder mehr Seitenrahmen?
Erläutern Sie den Aufbau eines Eintrags der Seitentabelle.
Ein Computer mit 32-Bit-Adressen benutzt eine zweistufige Seitentabelle.
Virtuelle Adressen werden in ein 9-Bit-Feld für die erste Seitentabelle, 11
Bit für die zweite Seitentabelle und einen Offset unterteilt. Wie viele
Seiten sind im Adressraum und wie groß sind sie?
Eine virtuelle 32-Bit-Adresse wird in die vier Teile a, b, c und d aufgeteilt.
Die ersten drei Felder sind die Indizes für eine dreistufige Seitentabelle.
Das vierte Feld d ist der Offset. Hängt die Anzahl der Seiten von der Länge
aller vier Felder ab? Wenn nein, welche Felder sind unwichtig?
Eine Maschine hat virtuelle 48-Bit-Adressen und physische 32-BitAdressen.
Wie viele 8-KB-Seiten sind in der Seitentabelle?
Der TLB enthält keinen Eintrag für das r-Bit. Warum nicht?
Ein Student in einem Compilerkurs schlägt als Projekt vor, einen Compiler
zu schreiben, der eine Liste von Seitenreferenzen erzeugt, die benutzt
werden kann, um den optimalen Seitenersetzungsalgorithmus zu
implementieren. Ist das möglich? Begründen Sie ihre Antwort.
Auf allen derzeit verfügbaren Computern werden zumindest Teile der
Interruptroutinen in Assembler geschrieben. Warum?
Wenn ein Interrupt oder ein Systemaufruf die Kontrolle an das
Betriebssystem übergibt, wird im Allgemeinen ein Kernel-Stack benutzt,
der nicht im Stack des unterbrochenen Prozesses liegt. Warum?
Wenn sich ein Prozess, der aus mehreren Threads besteht, aufspaltet,
dann gibt es ein Problem, wenn alle Kindprozesse Kopien der Threads des
Elternprozesses mitbekommen. Angenommen, einer der ursprünglichen
Threads wartet auf eine Tastatureingabe. Jetzt warten zwei Threads auf
eine Tastatureingabe, einer in jedem Prozess. Kann dieses Problem auch
in Prozessen auftreten, die nur aus einem einzigen Thread bestehen?
Welches ist der größte Vorteil der Implementierung von Threads im
Benutzeradressraum? Welches ist der größte Nachteil?
Wie können Semaphoren realisiert werden:
• In einem Betriebssystem, das Interrupts ausschalten kann?
• mittels einer atomaren Operation?
Ein Schnellimbiss hat vier Arten von Angestellten:
• Bedienungen, die die Bestellung der Kunden aufnehmen
• Köche, die das Essen zubereiten
• Packer, die das Essen in Tüten einpacken
• Kassierer, die den Kunden die Tüten geben und das Geld
entgegennehmen
Jeder Angestellte kann als eine Art kommunizieren, sequenzielle Prozess
betrachtet werden. Welche Art von Kommunikation benutzen Sie? Setzen
Sie dieses Modell in Beziehung zu Prozessen in Unix.
Kann durch das analysieren des Quellcodes ein Maß dafür angegeben
werden, ob der Prozess voraussichtlich rechenintensiv oder Ein-/Ausgabeintensiv
ist? Wie lässt sich das zur Laufzeit bestimmen?
Fünf Aufgaben warten darauf, ausgeführt zu werden. Die erwarteten
Laufzeiten sind 9, 6, 3, 5 und X. In welcher Reihenfolge sollten Sie
abgearbeitet werden, um die durchschnittliche Antwortzeit zu
minimieren? Ihre Antwort wird von X abhängig sein.
Warum kann die Lösung von Petterson die Probleme des strikten
Wechsels beheben?
Was ist ein Prozess?
Was ist ein Programm?
Was ist Parallelität?
Was ist Pseudoparallelität?
Welche zwei Aspekte besitzt ein Prozess?
Nennen Sie einige Eigenschaften des PCB (Prozess Control Block)
Wo liegt die Position des PCB im Speicher?
Es gibt zwei Arten von Systemen, einfache und komplexe. Wie wird die Prozesserzeugung in dem jeweiligen System behandelt?
Welche drei Arten der Prozesserzeugung gibt es?
Welche Mechanismen zur Übergabe von Daten bei Prozesserzeugung gibt es?
Was ist ein Seiteneffekt bei Prozessen und welche Ursachen kann dieser haben?
Es gibt zwei Arten von Systemen, einfache und komplexe. Wie wird das Beenden von Prozessen in dem jeweiligen System behandelt?
Geben Sie Beispiele für die Terminierungsarten von Prozessen.
In welchen drei Zuständen kann sich ein Prozess befinden?
Was ist der Unterschied zwischen:
1. Rechenbereiten Prozess
2. Blockierten Prozess?
Stellen Sie das Modell eines "idealen" Betriebssystems dar.
Nennen Sie den Verlauf des speziellen Prozesses "Interrupt".
Welche Werkzeuge bietet Windows zur Steuerung von Prozessen? Benennen Sie die wichtigsten Optionen.
Nennen Sie die Motivation für Threads.
Vergleichen Sie Prozesse und Threads
Welche Elemente enthält ein Thread?
Was hat der Stack eines Threads für eine Bedeutung?
Nennen Sie Vor- und Nachteile von der Verwaltung von Threads durch Prozesse.
Nennen Sie Vor- und Nachteile von der Verwaltung von Threads durch den Kernel.
Nennen Sie problematische und unproblematische Eigenschaften von Threadsicherheit.
Nennen Sie Verwendungsgebiete von Threads.
Nennen Sie einige Beispiele für Threads in Windows.
Wie verhält sich ein Thread-basierter Webserver bei:
1. Multi-Threading?
2. Single-Threading?
Was sind Aufgaben der Interprozesskommunikation?
Erklären Sie folgende Begriffe:
1. Synchronisation
2. Kommunikation
Was ist POSIX?
Nennen Sie Eigenschaften der Unix-Pipes
Nennen Sie Eigenschaften der Namenlosen Pipes (unnamed pipes)
Wo werden namenlose Pipes verwendet?
Nennen Sie Eigenschaften von Benannten Pipes (names pipes, FIFOs)
Warum sollte eine Synchronisation zwischen Prozessen und Threads stattfinden?
Was ist eine Race Condition und wann tritt diese auf?
Was ist ein kritischer Abschnitt (critical region)?
Was ist ein Wechselseitiger Ausschluss (mutual exclusion)?
Nennen Sie die 4 Prinzipien der Synchronisation.
Erklären Sie das Busy Waiting.
Was ist TSL?
Was ist Schlafen und Aufwecken im Hinblick auf die Synchronisation?
Was ist ein Spinlock?
Erklären Sie Lese-/Schreibsperren in Bezug auf die Synchronisation und Race Conditions
Was ist das Problem der e Wiedereintrittsfähigkeit in Bezug auf Synchronisation?
Was versteht man bei der Synchronisation unter "Verhungern" (starvation)?
Welche Probleme können bei der Synchronisation auftreten?
Was ist der "Konflikt" bei den Race Conditions?
Was ist das Problem der Skalierbarkeit bei der Synchronisation?
Was ist das Problem der Verklemmung bei der Synchronisation?
Womit beschäftigt sich das Scheduling?
Nennen Sie einige Eigenschaften zum Taskwechsel beim Scheduling.
Nennen Sie die Ziele von Schedulingstrategien für die unterschiedlichen Systeme.
Nennen Sie die Vorteile und Nachteile von FCFS
Erklären Sie das Prioritätsscheduling.
Nennen Sie das mögliche Problem von Prioritätsscheduling.
Nennen Sie zwei Schedulingverfahren.
Erklären Sie das Multi-Level Feedback Schedulingverfahren.
Aus welchen Teilen besteht die Speicherhierarchie?
Wovon werden die einzelnen Speicherhierachieebenen verwaltet?
Welche Herausforderungen müssen gelöst werden, damit mehrere Prozesse gleichzeitig laufen können?
Nennen Sie einige Verwaltungsarten von Adressräumen.
Wie funktioniert die Verwaltung von Adressräumen mit BItmaps?
Wie funktioniert die Verwaltung von Adressräumen mit Freibereichslisten?
Welche Optimierungen für die Verwaltung des freien Speichers gibt es?
Was ist die Ursache und der Lösungsansatz für virtuellen Speicher?
Was ist Paging?
Wie kann das Paging beschleunigt werden?
Was ist der Unterschied von einer lokalen und einer globalen Ersetzungsstrategie?
Erklären Sie den Ablauf der Prozesserzeugung & -ausführung
Erklären Sie den Ablauf bei Festellung von Seitenfehlern.
Welche drei Segmentarten gibt es?
Welchen Ablauf hat die Auflösung einer virtuellen Adresse?
Welche Realisierungen von persistenter Speicherung gibt es? Nennen Sie Beispiele.
Was bedeutet hard link und soft link?
Was sind Log-basierte Dateisysteme?
Was sind Journaling Dateisysteme?
Was sind alternative Datenströme (alternate data streams) in Windows?
Wozu werden alternative Datenströme benutzt?
Ist der open()-Systemaufruf in Unix absolut notwendig? Der eigentliche
Lesezugriff wird ja mit read() durchgeführt. Was wäre die Konsequenz, wenn
open() nicht existieren würde?
Systeme, die sequentielle Dateien unterstützen, haben immer eine
Operation, um diese zurückzuspulen. Benötigen Systeme, die Dateien mit
wahlfreiem Zugriff unterstützen, dies auch?
Gib es einen Unterschied zwischen dem Resultat von rename() und
Umkopieren der Datei mit Löschung des Originals?
Nennen Sie ein modernes Gerät, dass Dateien speichern muss und für das
eine zusammenhängende Belegung von Blöcken für diese Datei sinnvoll ist.
Wie implementiert ein FAT-System den wahlfreien Zugriff auf Dateien?
Eine Datei hat eine I-Node, die die ersten 10 direkten Adressen verwendet.
Jeder Block ist 1 KB groß. Wie groß darf die Datei werden?
Nennen Sie einen Vorteil von hard links gegenüber soft links.
Nennen Sie einen Vorteil von soft links gegenüber hard links.
Was würde geschehen, wenn die Freibereichsbitmap oder die
Freibereichsliste nach einem Absturz komplett verloren geht? Betrachten Sie
Unix und FAT-Systeme getrennt.
Das Unix-Dateisystem hat 1 KB Blöcke und 4-Byte Plattenadressen. Was ist
die maximale Dateigröße, falls die I-Node 10 direkte Einträge, einen einfach,
einen doppelt und einen dreifach indirekten Eintrag besitzt?
Welche Arten von Ein-/Ausgabe Geräten gibt es?
Erklären Sie den Unterschied zwischen Interruptgesteuerter und DMA gesteuerter Ein-/Ausgabe.
Was ist der Nachteil der programmierten Ein-/Ausgabe?