• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/57

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

57 Cards in this Set

  • Front
  • Back
Kategorisieren Sie SW in Abhängigkeit von ihrer Hardwarenähe (Softwarekategorien):
Hardwarenah: BS, Werkzeuge wie Editor, Compiler, Interpreter , Assembler

Hardwarefern: Anwendersoftware
Nenne Sie typische Anwendersoftware:
MS Office, Gehaltsabrechnungen, Buchungssysteme
Nennen Sie typische Systemsoftware:
BS, Netzwerk-Protokolle, Tools wie Compiler, Linker, Debugger, Editor
Nennen Sie typische Aufgaben eines BS
Die Verwaltung der Computer-Betriebsmittel (Ressourcen) die vom Benutzer und von Aufträgen verwendet werden.
Nennen Sie Hardware Betriebsmittel:
Prozessor, Hauptspeicher, Hintergrundspeicher, E/A-Geräte
Nennen Sie Software Betriebsmittel
Daten, Anwendungen, Tools, betriebssystemnahe Anwendungen
Was ist der Compiler?
Der Compiler ist ein Programm, das die Anweisungen einer höheren Programmiersprache in binäre Anweisungen (Objektcode) umwandelt, die direkt vom Prozessor ausgeführt werden können.
Der Compiler besteht aus Präprozessor, Scanner, Parser, Code-Generator und Optimierer
Nennen Sie funktionale Ziele eines BS:
Interruptmanagement, Prozessmanagement, Hauptspeichermanagement, Gerätemanagement, Dateimanagement
Nennen Sie strategische Anforderungen an ein BS:
Ausnutzung neuer HW-Technologien, Verteilung, Objektorientierung, Flexible Adaptionsfähigkeit, Evolutionsfreundlichkeit
Charakterisieren Sie die Stapelverarbeitung:
Der Computer bekommt seine Aufträge nicht via Dialog, sondern als Stapel. Einzelne Programmläufe wurden aufeinander abgestimmt zu einer sequentiellen Gruppe zusammengefasst, dem sogenannten Batch-Job. Um dem System die Bearbeitung der einzelnen idividuelen Jobs mitzuteilen, werden Kontrollkarten mit Kammandos in einer Job Control Language (JCL) benutzt.
Was sind Single-User-Systeme?
Nur ein Benutzer kann das Computersystem benutzen; das BS kann nur einen Benutzer bedienen. Single-User-Systeme beherrschen meist nur die Einzelauftragsbearbeitung (Single-Tasking-System)
Was sind Multi-User-Systeme?
Die komplexe Verwaltung mehrerer Benutzer. Für die Benutzerverwaltung werden Schutzmechanismen benötigt.
Was sind Single-Tasking-Systeme?
Das Computersystem kann immer nur eine Aufgabe erledigen. Der Benutzer übergibt einzelne Aufträge sequentiell an das System, das die Aufträge in der Reihenfolge der Eingabe bearbeitet.
Charakterisieren Sie Multi-Tasking-Systeme:
Mehrere Aufgaben werden (quasi-) parallel erledigt. Mehrere Programme befinden sich im Hauptspeicher  Hauptsspeicherverwaltung, Strategien zur CPU-Zuteilung, Progr. müssen relokierbar sein
Was versteht man unter einem Time-Sharing-System?
Ein TSS ist dialogorientiert und multi-tasking zusammen. Jede Aufgabe bekommt kurzzeitig den Prozessor, so das jeder Benutzer den Eindruck hat, der Computer stehe ihm allein zur Verfügung.
Charakterisieren Sie Transaktionssysteme:
Mehrere User nutzen eine gemeinsame Datenbasis (DB, Reiseseiten…) Aktionen werden zusammengefasst und als eine behandelt. Diese jedoch aber entweder ganz oder gar nicht (von einem konsistenten Zustand in den anderen)
Nennen Sie typische Merkmale eines monolithischen BS:
Monolithische Systeme sind dadurch gekennzeichnet, dass das gesamte BS aus einem einzigen ausführbaren Programm besteht. Das BS ist eine Ansammlung von Funktionen, die sich bei Bedarf wechselseitig aufrufen.
Was kennzeichnet Schichtsysteme?
Schichtsysteme realisieren Hierarchien von abstrakten Maschinen. Jede Schicht realisiert eine abstrakte Maschine mit einem spezifischen Leistungsangebot, das von der darüber liegenden Schicht genutzt wird. Die unterste Schicht ist die HW und die oberste Schicht ist die Benutzerschnittstelle.
Wie unterscheiden sich Schalensysteme von Schichtsystemen?
Eine Verallgemeinerung der Schichtsysteme. Es dient weniger der Strukturierung, sonder mehr der Realisierung eines hierarchischen Schutzkonzeptes, bei denen die inneren Ringe höher privilegiert sind als die äußeren. Die Zugriffe von Prozessen sind nur auf den eigenen Speicherbereich/Ring begrenzt.
In welchen Architektur-Kategorien ordnen Sie Multics, VMS, OS/2, DOS, Windows/NT Unix ein?
Mikro-Kernsel-Systeme
Welche Ziele verfolgt das Konzept der virtuellen Maschine?
Das Konzept der virtuellen Maschine verfolgt das Ziel, für unterschiedliche Benutzer unterschiedliche BS auf der realen HW (Basismaschine) laufen lassen zu können. Damit ist nicht Multi-Tasking gemeint, sondern dass auf jeder VM ein BS laufen kann, wie auf der Basismaschine. Ein physik. Gerät, aber viele VM  viele BS. Die VM verwaltet alle dem ihr zugeordneten BSs sämtliche Computeraufträge und die dafür zugeordneten Betriebsmittel.
Verteilte Systeme lassen sich noch feiner unterscheiden, nehmen Sie eine Einteilung vor:
a) Vernetze autonome Systeme b) Netzwerkbetriebssysteme mit integriertem Netzwerk-Dateisystem c) Echte verteilte (offene) Systeme auf Mirco-Kernel Basis
In welchen Architektur-Kategorien ordnen Sie Mach, Plan 9, Chorus und Amoeba ein?
Micro-Kernsel-Basis
Welche HW-Voraussetzungen muss ein Prozessor erfüllen, um Interruptfähig zu sein?
Im Memory muss ein Unterbrechungsregistersatz und eine Unterbrechungstabelle vorhanden sein, sowie ein Unterbrechungsspeicher.
Beschreiben Sie die Rolle der Interruptverarbeitung als unterste Ebene eines BS.
Die erste Schicht über der HW; Umschaltung zwischen verschiedenen Programmen
Warum ist die Interruptverarbeitung innerhalb des Betriebssystems von so zentraler Bedeutung?
Die Interrptverarbeitung ermöglicht den Prozessor das Reagieren auf Ereignisse. Ohne diese Möglichkeit wäre ein Von-Neumann-Prozessor nur in der Lage im Rahmen von programmierten Anweisungen innerhalb des Fetch-Execute-Zykluses zu verweisen.
Was versteht man unter dem Fetch-Execute-Cycle des Prozessors?
Befehle werden aus dem Hauptspeicher in den Prozessor geholt. Operanden und Daten werden besorgt und in den Registern zur Verfügung gestellt. Die Befehle werden im Rechenwerk (ALU) ausgeführt.
Wozu ist der Unterbrechungsregistersatz notwendig?
Um bei einer Unterbrechung die Registerinhalte des Prozessors zu sichern.
Wozu dient die Unterbrechungssprungtabelle?
In der Unterbrechungssprungtabelle sind die Adressen der Unterbrechungsbehandlungsroutinen abgelegt.
Was kann dem Unterbrechungsspeicher entnommen werden?
Im Unterbrechungsspeicher ist erkennbar, welcher Interrupt gesetzt ist. (CPU-Interrupt, E/A-Interrupt, Clock-Interrupt, SW- Interrupt (Traps))
Wer löst externe Interrupts aus?
Externe Interrups werden von überwachenden oder steuernden Prozessen außerhalb des Computersystems ausgelöst, wenn gewisse Schwellenwerte über- oder unterschritten werden.
Was sind interne Interrupts?
CPU-Interrups; synchrone I.,während der Ausführung entdeckte Ereignisse (Division durch Null, Wertebereichsverletzung, Speicherbereichsfehler, Seitenfehler)
E/A-Interrups; Meldung von Verfügbarkeit der angeforderten Daten, Zustandsmeldungen (online, offline, papaer out..)
Clock-Interrups; alle 40 msec, auch Heartbeat genannt
SW-Interrups (Traps); synchrone Interrups, treten nur nach Abarbeitung eines Maschinenbefehls auf
o System Traps: Systemcalls, wenn von einer Applikation eine Diensleistung des BS verlangt wird
o Trace Traps: Unterbrechung wegen eines Debuggers an einer definierten Stelle (break point); es können alle aktuellen Variablen-, Register- und Speicherbelegungen analysiert und ggf. geändert werden
Was ist ein Prozess?
Ein aktives Image/Executetable, i.d.R. besteht ein Image aus den Segmenten Code, Data Stack, Heap und Environment. Es ist ein ablaufendes Programm mit statisch oder allokierten Daten, dem Programm Counter und dem Registerinhalten der CPU. Jeder Prozess hat seine eigene virtuelle CPU. Beim Umwechseln in die verschiedene Status werden die Registerinhalte gesichert.
Prozessmodell
Kann man sich wie einen Eintrag in einer verketteten Liste oder Array vorstellen, in dem jeder Eintrag Repräsentant eines Prozesses ist. Prozess-Managementfunktionen nutzen diese Datenstruktur. Diese Funktionen sind der Prozesskontrollblock (process control block PCB), der Task Control Block (TCB) und der Prozessleitblock.
Was ist der Prozesskontrollblock (PCB)?
Im PCB wird alles notiert was notwendig ist, damit ein Prozess nach dem Anhalten wieder so weiterlaufen kann, als wäre er nie unterbrochen worden.
Der Prozesskontrollblock (PCB) wird in einen HW- und in einen SW-Kontrollblock unterteilt. Benne beide!
HW: Prozessanfangsadresse, den aktuellen Befehlszähler, Zeiger auf die jeweils aktuelle Position des Prozess-Bereichs, des Speicherbereichs, des Arbeitsregisters und der lokalen Daten
SW: Verwaltungsinformationen wie Prozess Name/Nr, Scheduling Priorität, Accounting Daten (verbrauchte CPU Zeit), Speicherplatz, erzeugte Page-Faults, die vom Prozess eröffneten Daten
Und der Task Control Block?
Der Scheduler arbeitet auf dem TCBs. Hier sind die Informationen, die für die Scheduling-Strategien genutzt werden. Der Scheduler selbst wird zyklisch vom Clock-Interrupt aktiviert  verschiedene Strategien. Außerdem kümmert er sich um Unterbrechungsbehandlung, Starten, Stoppen und Zustandsübergänge des Prozesses.
Nennen und charakterisieren Sie drei Prozesszustände.
Running, Ready, Blocked
Welche Vorteile bringt das Prozessmodell für die Programmierung?
Komplexe Benutzeraufträge werden schon vom Programm-Designer in möglicherweise parallele Prozesse zerlegt.
Was bedeutet CPU-bound? Was I/O-bound?
CPU-bound: lange Zeit mit der CPU, wenig mit E/A-Geräten. Für rechenintensive Prozesse wie Simulationen.
I/O-bound: Kaum Zeit mit der CPU, mehr Interaktion mit den E/A-Geräten. Für Buchungssysteme, bei denen auf die Eingabe reagiert und Antworten erstellt werden müssen.
Was bedeutet Preemptiv und was Non-Preemptives Scheduling?
Preemptiv: Clock bzw. Time Interrupt; bei jedem Interrupt entscheidet der Scheduler, ob ein laufender Prozess weiterläuft oder die CPU abgegeben werden muss (interaktive Time-Sharing-Systeme). Problem: Kontext-Switch dauert
Non-Preemptive: Prozesse geben ‚freiwillig‘ die CPU ab (für CPU-bound Prozesse). Keine Kontext-Switch Kosten zu Lasten der Systemperformance
Welche Scheduling-Ziele gibt es?
- Fairness – gerechte Verteilung der CPU
- Effizienz – CPU soll ausgelastet sein
- Kurze Antwortzeit – minimale Wartezeit für inaktive Benutzer
- Kurze Turn-Around – Zeit: Minimale Wartezeiten für Batch-Benutzer
- Maximaler Durchsatz – Maximale Jobanzahl pro Stunde
Nennen Sie Scheduling-Strategien zur Verwaltung der Ressource CPU.
First in First Out (FIFO); non-preemtiv, für CPU-bound, meist nur in Kombination mit anderen. Unfair weil kurze auf lange, ‚wichtige‘ auf ‚unwichtige‘ warten müssen
Shortest Job First (SJF); non-preemtiv; für Batch-Systeme, geringste Laufzeit zuerst, sonst FIFO
Shortest Remaining Time Next (SRTN); preemptiv+non-preemtiv, für Time-Sharing-Syteme, CPU für den Prozess, der geschätzt am schnellsten fertig ist. Kann auch kurzfristig den Prozess wechseln, wenn ein neuer noch kürzerer Prozess hinzu kommt. Problem: Schätzen ist schwierig
Highest Response Ration Next (HRRN); non-preemtiv, löst Probelme von SJF, Priorität nimmt mit steigender Wartezeit zu, Prioritäten sind dynamisch ((Wartezeit+Laufzeit)/Laufzeit)
Round Robin; preemptiv, Prozess erhält eine bestimme Zeit die CPU und muss dann wechseln.
Round Robin mit Multi-Level Feedback-Scheduling; nur für Time-Sharing-Systeme. Intelligent, weil selbst erkannt wird, ob der Prozess I/O-bound oder CPU-bound ist. CPU Zeit ein ‚Quantum‘
- Neuer Prozess stellt sich an Level 1 an
a) Ist der Prozess vor Ablauf der CPU-Zeit/Zeitscheibe (Quantum) fertig, wird er terminiert
b) Gibt er vorher ab, wegen eines z.B. E/A-Interrupts, stellt er sich wieder an Level 1 an
c) Nutzt der Prozess die gesamte Zeit und wird nicht fertig, lander er am Ende von Level 2
- Level 2 wird erst abgearbeitet, wenn Level 1 durch ist
- Untere Level haben Langläufer; hier wird Round Robin angewendet
- Wechselt ein Prozess von I/O-bound zu CPU-bound reiht er sich in Level 1 ein
- Aufwand lohnt sich, weil die Antwortzeiten sehr gut sind

Das Quantum ist so groß, dass die überwiegende Mehrheit der interaktiven Prozesse weniger Zeit wie das Quantum braucht. Gesamtlänge der Zeitscheibe ist die CPU Zeit + Kontext-Switch Zeit.
HSM im Single-Tasking-System?
Ein Prozess hat ganzes RAM.
HSM im Multi-Tasking System?
Partitionierter Hauptspeicher (statisch o. dynamisch Partitionierung). Mehrere Prozesse sind im HS, welche relokierbar sind. Prozesse können während der Laufzeit aus dem RAM ausgelegt werden (blocked). Prozess-Teile werden ein-/ausgelagert.
Wie funktioniert das Speicherverwaltungsverfahren für Multi-Tasking-Systeme mit einem statisch partitionierten Speicher?
Statisch partitioniert bedeutet, dass es feste vorgegebene Bereiche sind, dass sie optimal groß sind, damit Prozesse darauf laufen können. Die Verwaltung ist einfach – Bitvektor (Bitmap) System zeigt an, ob eine Partition frei (0) oder belegt (1) ist. (Speichersegmente). Jedoch bringt es oft eine hohe Speicherplatzverschwendung.
Wann taucht das Problem des internen Verschnitts/Fragmentierung auf?
Speicherplatzverschwendung. Bsp.: Platz i wird gebraucht, Partition j gegeben; j-i = was übrig bleibt ist der interne Verschnitt/Fragmentierung.
Wozu müssen Prozesse verschiebbar sein?
Wen es nicht von Anfang an klar ist, wo ein Prozess ausgeführt, braucht es ein verschiebbares (relocatable format) Format.
Was versteht man unter statischer Verschiebbarkeit (statischer Relokierbarkeit) von Programmen?
Diese sind so gekennzeichnet, dass der Lader die logische Adresse vor oder während des Ladevorgangs als physikalische Adresse abbildet. Der Prozess ist fixiert und kann nicht verschoben werden.
Was versteht man unter dynamischer Verschiebbarkeit (dynamische Relokierbarkeit) von Programmen?
Die Umrechnung von logischer auf physikalische Adresse geschieht während des Ladens. Dazu wird das Basisregister genommen, wo am Anfang die Basisadresse der Partition aufgenommen wird. Die physikalische Adresse ergibt sich dann zur Laufzeit aus der Addition der logischen Adresse zur Basisadresse.
Welche Prozessoreinrichtungen sind notwendig, um bei der Anwendung von Relokationstechniken den Speicherschutz zu gewährleisten?
Vorbeugung vor Manipulation
Statische Relokierbarkeit: Zwei Grenzregister. Einer hat die kleinstmögliche, der andere die größtmögliche Adresse. Die physik. Adresse muss innerhalb dieser sein.
Dynamische Relokierbarkeit: Hier wird noch ein Limitregister benötigt.
Bei welcher Speicherverwaltungstechnik spielen Speicherbelegungsstrategien eine Rolle?
Bei der dynamischen Partitionierung des Speichers. Diese hat einen hohen Speicherverwaltungsaufwand, keine feste Anzahl von Partitionen, kein Bitfeld mehr sondern doppelt verkettete Listen (eine fasst freien, die andere belegten Speicher zusammen). Referenziert der Freispeicherkette durch Adresse und Größe.
Wann kann externe Fragmentierung auftreten?
Das Das Ergebnis von dynamischer Partitionierung sind freie und belegte Partitionen unterschiedlicher Länge. Neues Problem: viele kleine externe Verschnitte/Fragmentierung, die keinen Prozess zugeordnet werden.
Nennen Sie vier verschieden Speicherbelegungsstrategien:
First Fit Strategy – Wahl des ersten freien Segments, dass groß genug ist. Probleme: schnelle Häufung von externen Verschnitten, hat eine hohe Suchdauer und zerhackt unnötigerweise große Partitionen
Next Fit Strategy – Suche nach freien Segmenten startet dort, wo sie vorher aufgehört hat
Best Fit Strategy – wählt die mit exakter Größe oder die mit dem wenigsten Verschnitt
Worst Fit Strategy – Gegenteil von BFS: lässt am Ende eines Prozesses große Partitionen frei und vereinheitlicht die freien Partitionen (spaltet Große, schont Kleine)

BFS und FFS sind bessere Strategien
Bei welcher Speicherverwaltungstechnik spielt die Speicherreorganisation eine Rolle? Nenne 2:
Bei dynamischer und statischer Partitionierung:
Konkatenation: Zusammenfassen von benachbarten freien Partitionen; wenig Zeit und Aufwand, Operation auf der Freispeicherkette wo keine Daten zu verschieben sind
Moving: schreibt die belegte Partition an das Ende/Anfang; erzeugt einen freie zusammenhängende Partition, kostet Zeit weil Daten physikalisch umkopiert werden, währenddessen können keine Prozesse laufen und geht nur, wenn Prozesse dynamisch relokierbar sind
Zu welchem Zweck wird Swapping eingesetzt?
Blocked Prozesse verschwenden keinen HS für andere Prozesse, die ‚gestartet werden wollen‘.
Wie funktioniert Swapping?
- Swap out – Auslagerung von ‚blocked‘ Prozessen auf die Platte
- Swap in – Einlagerung, wenn der Prozess ‚ready‘ ist, dauert länger (Kontextswitch)
- Dafür ist außerhalb des normalen Dateisystems ein ‚Swap Space‘ reserviert, die nur vom BS zugänglich ist. Ladevorgang ist schneller als vom Dateisystem.
- Swapping: Image Transfer durch den Swapper/Swap Dämon zwischen den Platten und dem Hintergrundspeicher; dafür werden die Speicherbelegstrategien verwendet
- Swapping kann auch bei manchen BS für zeitkritische Prozesse ausgeschaltet werden (Locking)
- Ist die Swap Space voll, wird ins Dateisystem ausgelagert  Swapdatei