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