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

Schreibe den ersten Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.