Klausur-Checkliste für die Betriebssysteme-Klausur

Nachfolgend finden sich diverse Fragen, die bei der Überprüfung des gelernten Stoffes helfen sollen. Die meisten dieser Fragen könnten meines Erachtens so auch in einer Betriebssysteme-Klausur gestellt werden (zusätzlich zur Algorithmen-Anwendung).

Einführung

  • Welche der unten aufgeführten Punkte zählen zu dem Aufgabenbereich eines Betriebssystems?
    1. Anzeigen von Web-Pages
    2. Starten, Ausführen und Beenden von Programmen
    3. Erkennen von Viren
    4. Speicherverwaltung
    5. Verschicken von E-Mails
    6. Dateiverwaltung
    7. Verwalten von Netzwerkdiensten
    8. Verwalten von Datenbanken
    9. Ein-/Ausgabe-Verwaltung
    10. Ressourcenverwaltung
    11. Accounting
  • Was sind die Vorteile und was sind die Nachteile des VM-Konzepts?
  • Nennen Sie drei Vor- und drei Nachteile von verteilten gegenüber zentralen Systemen.

Computer-System Structures

  • Nennen Sie sieben Arten von Speicher und sortieren Sie diese nach ihrer Geschwindigkeit.
  • Nennen Sie drei Arten von Speicher, die flüchtig sind, und sortieren Sie diese nach ihrer Geschwindigkeit.
  • Wie verhalten sich im Allgemeinen die Kosten einer Speicherart im Verhältnis zur Geschwindigkeit?

Operating-System Structures

  • Warum bietet Java die Möglichkeit aus einem Java-Programm heraus native Methoden aufzurufen, die zum Beispiel in C oder C++ geschrieben sind? Geben Sie ein Beispiel für eine native Methode an.
  • Nennen Sie Sicherheitsaspekte, die beim Entwurf einer VM zu bedenken sind.

Processes

  • Nennen Sie die verschiedenen Prozess-Zustände.
  • Zeichnen Sie ein Diagramm, welches den „Life-cycle“ eines Prozesses darstellt.
  • Wie unterscheiden sich die Zustände wartend und bereit?
  • Was kann man tun, wenn die Prozesse zusammen mehr Hauptspeicher benötigen als vorhanden ist?

Threads

  • Nennen Sie Vorteile von Threads
  • Wie unterscheiden sich Prozesse und Threads?
  • Welche Nachteile hat ein Multi-Thread-Programm auf einem PC mit nur einer CPU mit nur einem Kern?
  • Was sind die Vorteile für den Endbenutzer eines Programms, das rechenintensive Operationen mithilfe von Threads erledigt?

CPU Scheduling

  • Was ist CPU-Scheduling und wofür ist es nötig?
  • Was bedeutet der Begriff Turnaround Time bezogen auf CPU-Scheduling?

Process Synchronisation

  • Woraus besteht das Critical Section Problem? Nennen Sie Beispiele dafür aus dem PC-Alltag.
  • Wie kann wechselseitiger Ausschluss (mutual exclusion) mit Hardware realisiert werden? Wie kann es mit Java gelöst werden?
  • Bedingungen für „Critical-Sections“
  • Beschreiben Sie einen Algorithmus, der das Critical-Section-Problem für zwei Prozesse löst.
  • Welches Problem löst der Bakery Algorithmus?

Deadlocks

  • Kriterien zur Deadlock-Charakterisierung
  • Enthält ein „Resource Allocation Graph“ einen Kreis, dann existiert ein Deadlock, wenn…
  • Enthält ein „Resource Allocation Graph“ einen Kreis, dann…
  • Welches Problem löst der Banker’s Algorithmus?
  • Beschreiben Sie die vier Arrays (ein Vektor und drei Matrizen) des Banker’s Algorithm

Memory Management

  • Wodurch unterscheiden sich „Virtual adress“ und „Physical adress“?
  • Geben Sie drei Verfahren zur Lösung des „Dynamic Storage-Allocation“-Problems an und beschreiben Sie diese jeweils kurz.
  • Was ist Internal Fragmentation, was External Fragmentation? Welche der beiden Arten lässt sich einfacher beheben und wie?
  • Nennen Sie drei Strukturen für Page Tables.

Virtual Memory

Quellen

  1. Vorlesungsfolien
  2. Übungsblätter

Sie befinden sich auf einer archivierten Version von karllorey.de. Diese Seite wird seit 2015 nicht mehr aktualisiert. Blog-Artikel haben jeweils den Stand des Veröffentlichungsdatums.

Weitere Informationen finden Sie im letzten Blog-Artikel. Meine Webseite finden Sie nun unter karllorey.com.