Skip to content

Latest commit

 

History

History
644 lines (343 loc) · 14.1 KB

Betriebssysteme - Fragen.md

File metadata and controls

644 lines (343 loc) · 14.1 KB

Fragen und Fragestellungen zum Verständnis zur Vorlesung

Einführung

Wo sind Betriebssysteme zu finden?


Welches Spektrum decken sie ab?


Welche Arten von Betriebssystemen gibt es?


Welche funktionalen und nichtfunktionalen Eigenschaften spielen dabei eine Rolle?

Prozesszustände und Zustandsmodelle

Warum existieren Prozesszustände? Gehen Sie speziell auf die Prozesszustände „bereit“ und „blockiert“ ein.


Welches sind die in praktisch jedem Betriebssystem implementierten (grundlegenden) Prozesszustände?


Nennen Sie Gründe für die Einführung weiterer Prozesszustände. Welche weiteren Prozesszustände sind Ihnen bekannt?


Was ist die Aufgabe von Zustandsmodellen?


Charakterisieren Sie das 3/5- und das 7-Zustandsmodell.


Welchen Zusammenhang gibt es zwischen Prozesszuständen, Zustandsmodellen und der Automatentheorie?

Scheduler

Aus welchen Gründen existiert im Betriebssystem die Komponente „Scheduler“ und welche Aufgaben hat diese?


Besitzt jedes Betriebssystem einen Scheduler?


Charakterisieren Sie die Arbeitsweise eines Schedulers.


Welche Vorkommnisse können allgemein zu einer Aktivierung des Schedulers führen?

Scheduling-Strategie und Scheduling-Algorithmus

Nennen Sie mögliche strategische Ziele des Scheduling.


Was ist der Unterschied zwischen Scheduling-Strategie und Scheduling-Algorithmus?

Kontextwechsel

Was bedeutet es, einen Kontextwechsel auszuführen? Was muss dabei alles getan werden?


Wodurch entstehen die Kosten eines Kontextwechsels und worauf wirken sich diese aus?

Last und Lastmuster

Was ist unter „Last“ in einem Computer-System zu verstehen?


Welche charakteristischen Lastmuster könnten dabei vorliegen?


Welcher mögliche Zusammenhang existiert zwischen verschiedenen Lastmustern und verschiedenen Schedulingstrategien?

Batch-Systeme, Interaktive Systeme und Echtzeitsysteme

Wodurch sind die genannten Systeme jeweils charakterisiert?


Nennen Sie jeweils geeignete Scheduling-Strategien und charakterisieren Sie diese.

Privilegierungsebenen

Welchen Sinn haben Privilegierungsebenen?


Welches sind die grundlegenden, typischerweise verwendeten Privilegierungsebenen?


Wie wirkt sich die Ausführung einer Aktivität in einer bestimmten Privilegierungsebene auf deren Arbeitsweise aus?

Synchronisation & Kommunikation

Was versteht man unter einem kritischen Abschnitt?


Warum darf sich in einem kritischen Abschnitt immer nur 1 Thread aufhalten?


Wie können kritische Abschnitte geschützt werden?


Was ist eine exklusiv nutzbare Ressource?


Welchen Zusammenhang gibt es zu kritischen Abschnitten?


Welcher Zusammenhang existiert zwischen „exkluviv nutzbarer Ressource“, „kritischer Abschnitt“ und „race conditions“?

Semaphor

Beschreiben Sie einen Semaphor?


Wozu wird er verwendet?

Monitor (Hoar‘scher)

Beschreiben Sie einen Monitor?


Wozu wird dieser verwendet?


Welche Vorteile bieten Monitore gegenüber Semaphoren?

Was bedeutet Atomarität (von Anweisungen)?


Wo ist Atomarität bei Semaphoren notwendig?


Wie kann Atomarität durch Maschinenbefehle unterstützt werden?


Wozu dienen Bedingungsvariable? a) bei Monitoren

b) Welche Verwendungsmöglichkeiten sind noch denkbar?


Transaktionaler Speicher

Welche Entwicklungen führten zu Entwicklungsarbeiten bezüglich dieses Konzepts?


Verbirgt sich hinter diesem Konzept eine pessimistische oder eine optimistische Herangehensweise an die Synchronisationsproblematik – und warum?

Botschaften und botschaftenbasierte Kommunikation

Unter welchen Bedingungen muss botschaftenbasierte Kommunikation zur Anwendung kommen?


Charakterisieren Sie die 2 elementaren Methoden zur Realisierung botschaftenbasierter Kommunikation!

Fernaufrufe

Warum wird unter den entsprechenden Bedingungen (siehe oben) nicht alle Kommunikation über Botschaften abgewickelt – was ist das Besondere an den stattdessen auch verwendeten Prozedurfernaufrufen bzw. Methodenfernaufrufen?


Wie ist die Kommunikation in Mikrokern-Betriebssystemen organisiert?

Systemaufrufe

Welchem Zweck dienen Systemaufrufe?


Welche Beispiele von Systemaufrufen sind Ihnen bekannt? – Wozu dienen diese jeweils?


Warum realisieren Systemaufrufe keinen direkten Einsprung in den Betriebssystemkern?


Mit welchen Problemen muss bei der Realisierung von Systemaufrufen umgegangen werden – und wie sehen die Lösungen aus?

Ereignisse und Ereignismanagement

Welche Dinge sind im Betriebssystemkontext Ereignisse?


Welche Möglichkeiten gibt es, mit Ereignissen umzugehen?


Welche Vorteile bieten Interrupts (Unterbrechungen)?


Welche drei Modelle gibt es zum Umgang mit Interrupts?


Was sind Interruptvektor, Interruptvektortabelle und Interrupt-Service-Routinen?


Warum und inwieweit ist die Rechner-Hardware in die Interrupt-Bearbeitung involviert?


Was versteht man unter Interrupts auf Anwendungsebene und wie kann damit umgegangen werden?

Speichermanagement

Welche Eigenschaften sollte ein idealer Speicher haben?


Warum gibt es stattdessen in der Praxis Speicher-Hierarchien?


Charakterisieren Sie (grob) die bei Speicherhierarchien zum Einsatz kommenden Technologien und Speicherklassen.


Was sollte ein Arbeitsspeicher können?


Aus welchem Grund wurde die Relokation von Prozessen erforderlich – und was wird hierdurch erreicht?


Welche Nachteile bringt die Relokation mit sich?


Wie „funktioniert“ Relokation – technisch gesehen?


Welche Technik „steckt“ hinter dem Begriff „Swapping“?


Welche Probleme werden hiermit gelöst – welche nicht?


Welche neuen Probleme entstehen durch diese Technik (Swapping)?


Welche Verfahren der Speicherverwaltung werden als Realspeicherverwaltung (im Gegensatz zu virtueller Speicherverwaltung) bezeichnet?


Welches sind Grundidee und Zweck des virtuellen Speichers?


Wie wird virtueller Speicher implementiert?


Welche Rolle spielt dabei eine Memory Management Unit (MMU)?


Was versteht man unter „virtueller Speicher“ und „virtuelles Speichermanagement“?


Was versteht man ganz allgemein unter einem Adressraum?


Erklären Sie die Begriffe „Adressraum eines Prozesses“, „physischer Adressraum“ und „virtueller Adressraum“ in ausreichender Tiefe.


Welchem Zweck dient die genannte Abbildung $vm_p$?


Warum wird für jeden virtuellen Adressraum eine individuelle Abbildung benötigt?


Aus welchem Grund gibt es unbenutzte bzw. undefinierte Adressbereiche?


Wieso realisiert vm p nur eine partielle Abbildung des virtuellen in den physischen Adressraum?


Durch welchen Effekt wird durch vm p die Isolation verschiedener virtueller Adressräume erreicht?


Warum kann es Ausnahmen von dieser Isolation geben – und was soll hierdurch ermöglicht werden?


Welche Aufgaben hat eine MMU?


Könnten die Aufgaben einer MMU auch ohne eine solche gelöst werden – und welche Nachteile hätte dies gegebenenfalls?


Was versteht man jeweils unter „Seite“ (page) und Seitenrahmen (page frame) im Kontext der virtuellen Speicherverwaltung?


Welche Aufgaben hat die Seiten(abbildungs)tabelle?


Welche Struktur hat ein Seitentabelleneintrag?


Welche Problemfelder existieren bei der virtuellen Speicherverwaltung (VMM)?


Welche Lösungsmöglichkeiten existieren für die Probleme 1 bis 3?


Was ist unter einem Seitenfehler zu verstehen – und wie kommt ein solcher zustande?


Was ist ein Seitenfehler-Interrupt – und welchem Zweck dient er?


Welche Aufgaben lösen jeweils die Hardware bzw. die Software im Zusammenhang mit einem Seitenfehler-Interrupt?


Was ist der Translation Look-aside Buffer und welche Funktion hat er?


Was ist bei der Verwaltung (Management) des TLB zu beachten?


Welche prinzipielle Frage stellt sich bei den Seitenaustausch-Algorithmen?


Was versteht man unter der optimalen Seitenaustausch-Strategie – und warum wendet man diese aber nicht an?


Worin besteht die Grundannahme bei der First-In-First-Out-Strategie und was ist von dieser zu halten?


Welche Vorteile besitzt sie trotzdem?


Wodurch verbessert die Second-Chance-Strategie die FIFO-Strategie?


Welche Vor- und Nachteile besitzt die Second-Chance-Strategie?


Wie unterscheidet sich die Grundannahme der LRU-Strategie von derder Second-Chance-Strategie?


Warum sind die Voraussetzungen zur Realisierung von LRU „teuer“ – und wie sehen tatsächliche technische Realisierungen aus?


Welche Komponenten eines Seitentabelleneintrags sind für die technischen Realisierungen von LRU erforderlich?


Was versteht man unter dem Working Set („Arbeitsmenge“) eines Prozesses?


Von welcher Grundannahme geht die Working-Set-Strategie aus – und welcher Typ von Seiten sind hier Auslagerungskandidaten?


Wie ist die Arbeitsmenge eines Prozesses definiert?


Welche Komponenten eines Seitentabelleneintrags sind zu einer technischen Realisierung der Working-Set-Strategie erforderlich?


Wie ist die Working-Set-Strategie einzuschätzen (Bewertung)?


Wie funktioniert die WSClock-Strategie?


Welche (schon vorher bekannten) Ideen wurden für die WSClock verwendet?


Welche Probleme werden mittels Segmentierung gelöst?


Wie funktioniert Segmentierung mit Paging – und wozu ist diese Verfahrensweise gut?

Dateisysteme

Wozu werden Dateien benutzt?


Wie ist eine Datei definiert?


Welche wichtigen Eigenschaften sollten Dateien haben – und warum?


Welche Aufgabe haben Dateimodelle?


Wodurch unterscheiden sich verschiedene Dateimodelle?


Wozu werden (symbolische) Dateinamen benutzt?


Welche Transparenzeigenschaften können durch die Gestaltung der Dateinamen ausgedrückt werden?


Was ist ein hierarchischer Namensraum und welche vorteilhafte


Eigenschaft besitzt dieser?


Welche Vorteile besitzen unstrukturierte Dateien?


Warum gibt es trotzdem strukturierte Dateien?


Nennen Sie typische Dateiattribute.


Was sind Sicherheitsattribute und wie können diese aussehen?


Welche Dateioperationen werden in jedem Dateisystem benötigt?


Welche Funktion haben die Operationen „lseek“ und „mmap“ – und käme man auch ohne diese beiden Funktionen aus?


Welche Aufgaben haben Dateisysteme?


Was ist Ihnen über das physische Layout von Magnetplatten bekannt?


Charakterisieren Sie den Begriff „Sektor“ – warum ist er wichtig?


Welches sind wichtige Parameter von Speichermedien?


Wie unterscheiden sich die Eigenschaften von Magnetplatten und SSDs prinzipiell?


Welche prinzipiellen Management-Datenstrukturen gibt es?


Welche Informationen enthält ein i-Node?


Welche Aufgaben haben Verzeichnisse?


Wie kann ein symbolischer hierarchischer Namensraum dargestellt werden?


Durch welche 2 Formen können freie Speicherbereiche beschrieben werden?


Was wird durch den Superblock beschrieben?


Welche prinzipiellen Informationen sind hier zu finden?


Beschreiben Sie die einzelnen Schritte verschiedener Dateizugriffsarten


Welche Management-Datenstrukturen sind dabei und zu welchem Zweck beteiligt?

Netzwerkmanagement

Wie sind Sockets definiert?


In welchem Zusammenhang werden Sockets benutzt?


Wie kann man sich Sockets – symbolisch gesehen – vorstellen?


Warum treten Sockets immer paarweise auf?


Beschreiben Sie das durch Sockets implementierte Kommunikationsmodell.


Wie und wozu sind Sockets konfigurierbar?


Nennen Sie Beispiele für räumlich verteilte Systeme (Hardware) und verteilte Dienste und Anwendungen (Software).


Wozu dient das Socketframework des Betriebssystems?


Aus welchen Ebenen (levels) besteht die Implementierung dieses Frameworks?

E/A Systeme

Welche Aufgaben erledigt ein Geräte-Treiber?


Wie muss man sich seine Arbeitsweise vorstellen?


Welcher Zusammenhang besteht zwischen Geräte-Treibern und dem Interrupt-System?


Warum sind die Geräte-Treiber der fehleranfälligste Teil der Betriebssystem-Software?


In welcher Form werden Geräte-Register im Betriebssystem sichtbar?


Wie kann man sich prinzipiell die E/A-Arbeitsweise bei Verwendung eines eigenen E/A-Adressraums vorstellen?


Welche Probleme existieren in diesem Zusammenhang?


Wie funktioniert prinzipiell E/A unter Verwendung von Memory-Mapped-E/A?


Was ist von dem hierbei implementierten Schutzkonzept – auch im Vergleich zu E/A-Adressräumen zu halten?


Was sind in diesem Zusammenhang „nicht-cachebare Seiten“ und wodurch entstehen diese?

High End Betriebssysteme

Welche Entwicklungen und Erkenntnisse der Betriebssystem-Forschung zeichnen aktuelle „High-End-Betriebssysteme“ aus?


Welche Ziele sind mit diesen „modernen“ Entwicklungen verbunden – und warum ist dies wichtig und notwendig?


Welche nichtfunktionalen Eigenschaften von Betriebssystemen sind für gesellschaftlich relevante Industriezweige und Einrichtungen von herausgehobener Bedeutung – und warum?


Warum reichen die Sicherheitseigenschaften herkömmlicher Betriebssysteme für heutige Anforderungen nicht mehr aus – und was soll durch verbesserte


Sicherheitseigenschaften erreicht werden?


Durch welche Maßnahmen wird SELinux zu einem Beispiel eines „zeitgemäßen“ Betriebssystem mit verbesserten Sicherheitseigenschaften?


Welche Rolle spielt der Security-Server bei SELinux?


Wie kann man sich prinzipiell die Sicherheitspolitik von SELinux vorstellen?


Was ist unter Robustheit zu verstehen?


Wodurch unterscheiden sich monolithische und Mikrokern-Architekturen von Betriebssystemen?


Durch welche prinzipiellen Gegebenheiten sind Mikrokern-Architekturen robuster als monolithische Betriebssystemarchitekturen?