Flashcards BS - Tabellenblatt1
Wie ist der Aufbau eines Universalrechners?
- Prozessor 2. Speicher 3. Ein-/Ausgabesysteme 4. Datenwege (Bus)
Wie ist der generelle Ablauf der Programmverarbeitung einer CPU?
- FETCH (Laden)
- DECODE (Dekodieren)
- FETCH OPERANDS (Operanden laden)
- EXECUTE (Ausführen)
ggfs. 4. WRITE BACK (Speichern)
Welche Eigenschaften kennzeichnen die Von-Neumann-Architektur?
- binäre Datencodierung
- Programmierbarkeit
- Daten und Programme im selben Speicher
- berechenbare Adressierung
- Erweiterbarkeit
Welche Probleme kennzeichnen die Von-Neumann-Architektur?
- nur eingeschränkt echtzeitfähig
- Sicherheit reduziert
- Geschwindigkeit submaximal
- Speicherzugriff ist Flaschenhals
Welche Registertypen unterscheidet man?
- Universalregister 2. Hilfsregister (Instruktionszähler, Stackpointer) 3. Statusregister (Flags, Prio, etc)
Was ist ein Betriebssystem?
Eine Menge von Programmen, welche die Ausführung von Benutzerprogrammen auf einem Rechner und den Gebrauch der vorhandenen Betriebsmittel steuert.
Welche Aufgaben übernimmt das Betriebssystem?
- Saubere Abstraktion der Betriebsmittel statt direktem Zugriff auf “unschöne” Hardware
- Verwaltung der Betriebsmittel
Welche typischen Abstraktionen bietet ein Betriebssystem?
- Rechner-Architektur
- Befehlssatz
- Speicherorganisation
- Ein-/Ausgabeeinheiten
- Busstruktur
Welche Betriebsmittel verwaltet ein Betriebssystem?
- Prozessoren, Speicher, Platten
- Mäuse, Drucker, Netzwerk
- Multi-program
- Multi-user
- Zeitlich: CPU, Drucker
- Räumlich: RAM, Festplatten
Was ist ein Prozess?
Ein Programm in Ausführung. Die Prozessabstraktion erlaubt Quasiparallelität durch ein Zeitmultiplexverfahren.
Was ist einem Prozess zugeordnet?
- Adressraum: Text-, Daten-, Stacksegment
- Menge von Ressourcen: Register (incl. IP, SP), geöffnete Dateien, offene Signale, verbundene Prozesse, sonstige Informationen
Was ist eine Datei?
Eine Abstraktion der Einzelheiten von Platten und sonstigen Ein-/Ausgabegeräten (wo und wie?). Besteht aus Name+Daten+Metadaten
Was ist errno?
Ein modifizierbarer, thread-lokaler lvalue vom Typ int.
Was geschieht beim Öffnen einer Datei?
- Überprüfen der Zugriffsrechte 2. Rückgabe eines Dateideskriptors bzw. Fehlercodes
Aus welchen Teilen besteht der POSIX-Standard?
- Basisdefinitionen 2. Systemschnittstellen (inkl. libc/Headerfiles) 3. Kommandozeileninterpreter und Hilfsprogramme 4. Erklärungen zum Standard
Welche Schritte durchläuft ein Systemaufruf per Bibliotheksfunktion?
- Ablegen der Argumente auf dem Stack 2. Sprung in Bibliotheksfunktion 3. Nummer des Systemaufrufs speichern 4. TRAP ausführen 5. Sprungadresse ermitteln (Index in Tabelle von Funktionen) 6. Durchführung des Systemaufrufs 7. Rückgabe an Bibliotheksfunktion 8. Rückgabe an Benutzerprogramm 9. Stack aufräumen
Welche Ereignisse verursachen das Erzeugen eines Prozesses?
- Initialisierung des Systems 2. Prozess erzeugt per Systemaufruf neuen Prozess 3. Benutzeranfrage 4. Initiierung einer Stapelverarbeitung
Welche Ereignisse verursachen das Beenden eines Prozesses?
Freiwillig: 1. Normales Beenden 2. Beenden aufgrund Fehler.
Unfreiwillig: 1. Beenden aufgrund schwerwiegendem Fehler 2. Beenden durch anderen Prozess
Welche Ziele verfolgt das Scheduling?
Alle Systeme: Fairness, Policy Enforcement, Balance
Batch: Durchsatz, Durchlaufzeit, CPU-Ausnutzung
Interaktive: Antwortzeit, Proportionalität Echtzeitsysteme: Einhalten von Deadlines, Vorhersagbarkeit
Wie errechnet sich die CPU-Auslastung bei der Multiprogrammierung?
A = 1 - p^n (p: IO-Wartezeit in %, n: Anzahl der parallelen Prozesse)
Welche Prozesszustände unterscheidet man?
- rechnend 2. rechenbereit 3. blockiert
Welche Herausforderungen bestehen bei der Nutzung von Multithreading?
- Umgang mit globalen Variablen 2. Verwendungen nicht ablaufinvarianter Bibliotheksfunktionen 3. Behandlung von Signalen 4. Stackverwaltung
Welche vier Kriterien gelten als sinnvoll im Bezug auf kritische Regionen?
- max. ein Prozess in der kR 2. keine Annahmen über Anzahl/Geschwindigkeit der CPUs 3. Prozesse außerhalb kR dürfen keine anderen Prozesse blockieren 4. Prozess sollte nicht ewig auf Eintritt in kR warten müssen
Welche Synchronisationsprimitiven unterscheidet man?
- Aktives Warten 2. Semaphor 3. Mutex 4. Monitor 5. Zustandsvariable 6. Nachrichtenaustausch 7. Barriere
Welche Aktivitäten gehören zum Kontextwechsel?
- Wechsel in Kern 2. Prozesszustand sichern 3. Speicherzuordnungstabelle sichern 4. Prozess auswählen 5. SZT laden 6. Prozesszustand wiederherstellen 7. Prozess starten (8. Cache aktualisieren)
Wann muss eine Scheduling-Entscheidung getroffen werden?
Erzeugen, Beenden, Blockieren, E/A-Interrupt, Timer-Interrupt
Welche grundsätzlichen Scheduling-Strategien unterscheidet man?
unterbrechend/nicht unterbrechend
Welche Hardware-Register werden zur dynamischen Relokation benötigt?
Basisregister, Limitregister
Welche prinzipiellen Methoden gibt es zur Speicherverwaltung?
Bitmaps und Freibereichslisten
Welche Algorithmen gibt es zur Reservierung eines Speicherbereichs?
- First Fit 2. Next Fit (nächste nach der zuletzt gefüllten) 3. Best Fit (kleinste passende) 4. Worst Fit (größte passende) 5. Quick Fit (Liste pro Größenklasse)
Was ist eine Seite?
Ein zusammenhängender Bereich von Adressen
Wie ist der Ablauf des Paging?
- Jede Seite ist durch Present-/Absent-Bit gekennzeichnet 2. Zugriff auf Absent-Seite erzeugt Seitenfehler 3. BS wählt Seitenrahmen zur Auslagerung aus, lädt die angeforderte Seite und passt Seitentabelle an 4. Erneute Ausführung des unterbrochenen Befehls
Welche Informationen enthält ein Eintrag in der Seitentabelle?
- Present-Bit 2. Protection-Bits 3. Dirty-Bit 4. Referenced-Bit 5. Caching-Bit 6. Rahmennummer
Was sind die Unterschiede zwischen Segmentierung und Paging?
Segmentierung muss Programmierer wissen, viele Adressräume, Prozeduren und Daten unterscheidbar
Was definiert das Dateisystem?
Art und Weise der a) Benennung b) Strukturierung c) Typisierung d) Zugriffe e) des Schutzes f) der Verwaltung g) Implementierung von Dateien
Welche mögliche Dateistrukturierungen unterscheidet man?
- Bytefolge 2. strukturierter Baum 3. Sequenz fixer Datensätze
Welche unterschiedlichen Arten der Implementierung von Dateien gibt es?
- Zusammenhängende Belegung 2. Verkettete Listen 3. Verkettete Liste mit Tabelle im RAM 4. I-Nodes
Wie können Ein-/Ausgaben erfolgen?
- Aktives Warten 2. Interruptsteuerung 3. DMA-Steuerung
Welche Schichten des E/A-Systems unterscheidet man?
- Benutzerprozess 2. Geräteunabhängig 3. Gerätetreiber 4. Interrupt-Routinen 5. Hardware
Was ist RAID Level 0?
Datenblöcke sukzessive verteilen (striping)
Was ist RAID Level 1?
Eins-zu-eins-Spiegelung mit zwei Plattenstapeln
Was ist RAID Level 5?
Striping mit verteilten Paritätsbits
Welche wichtigen UNIX-Signale gibt es?
- 15: TERM, mit Aufräumen
- 9: KILL, ohne Aufräumen
- 19: STOP: Unterbrechen
- 18: CONT: Fortsetzen, hebt STOP auf
- 1: HUP: hang-up, Konfiguration einlesen/Verbindung zum Terminal unterbrochen