CoboCards App FAQ & Wishes Feedback
Language: English Language
Sign up for free  Login

Get these flashcards, study & pass exams. For free! Even on iPhone/Android!

Enter your e-mail address and import flashcard set for free.  
Go!
All main topics / Betriebssysteme / Betriebssysteme

[2] Betriebssysteme Übungsaufgaben (92 Cards)

Say thanks
1
Cardlink
0
Nenne 5 Betriebssystemkategorien!
- Mainframes (IMB OS/390, heute IBM System z)
-Serverbetriebssysteme (Unix, Windows NT/2000/2003/XP)
-Echtzeitbetriebssysteme (VxWorks, QNX)
-PC-Betriebssysteme (Windows-Derivate,Linux)
-Embedden Systems (Steuerungssyteme)
-Handheld-Computer (Palm OS, Windows CE)
-Smartcart-Betriebssysteme
2
Cardlink
0
Was ist ein Vom-Neumann-Rechner?
Wie unterscheidet er sich von einem Harvard-Rechener?
Von-Neumann-Rechner:
4 Funktionseinheiten:
-Leitwerk (Control Unit)
-Rechenwerk (Processing Unit)
-Speicher (Memory)
-Ein-/Ausgabe (Input/Output)

Das Leitwerk("Befehlsprozessor") holt die Maschinenbefehle nacheinander in den Speicher un führt sie aus.
Das Rechenwerk ("Datenprozessor"/ ALU) führt logische und arithmetische Operationen durch.
Maschinenbefehle und die zu verarbeitenden Daten liegen in einem gemeinsamen Speicher.

Heute: Zusammenfassung des Leit- und Rechenwerks zur CPU

Harvard-Rechner:
-2 getrennte Speicher, für Daten und Maschinenbefehle
-beide Speicher werden über einen getrennten Bus mit der CPU verbunden

3
Cardlink
0
Wozu braucht man in Computern CPU-Register?
schnelle Speicher, benötigt um Maschinenbefehle auszuführen
Maschinenbefehle schreiben ihre Operanden in Register oder lesen Operanden aus Registern.

Typen von Registern:
Integerregister, Universalregister, Gleitkommaregister, Datenregister, Segmentregister

spezielles Register:
Programm Counter: enthält Hauptspeicheradresse des nächsten auszuführenden Befehls
4
Cardlink
0
Was ist ein Program Status Word (PSW) und woru wird es verwendet?
ein Statusregister, das für Vergleichsoperationen benutzt wird
enthält Kontrollbits
5
Cardlink
0
Was ist ein Mehrzweck- oder Universalbetriebssystem?
Betriebssystem, das für verschiedenste Anwendungen eingesetzt werden kann
Meist keine Realtime-Eigenschaften
Einsatzbereich: betriebliche und verwaltungstechnische Aufgabenstellungen
6
Cardlink
0
Was ist ein Mehrkernprozessor?
verfügen über mehrere vollständige CPUs
Ressourcen sind repliziert (kein Bus, nicht alle Caches)
7
Cardlink
0
Welche Unix-Standards kennen Sie und was standardisieren diese?
Wichtigste Unix-Standards:
-XPG SVID
-POSIX
-SUS

Sie standardisieren Schnittstellen (Kommando- und Programmierschnittstellen)
8
Cardlink
0
Was versteht man unter einem Mikrokern? 
leichtgewichtiger Kernel:
-Funktionalität wird in Anwendungsprozesse ausgelagert
-übernimmt Kommunikation zw. Client- und Serverprozessen

Clientprozesse greifen auf den Mikrokern über Service-Request-Schnittstelle zu. Der Mikrokern leitet Requests an Serverprozesse weiter und stellt Clientprozessen die Ergebnisse zu
9
Cardlink
0
Was versteht man unter einem „echt“ verteilten Betriebssystem im Gegensatz zu den heutigen Client-/Server-Systemen? 
In einem echt verteilten Betriebssystem ist der Kernel transparent auf mehrere Rechner im Netzwerk verteilt.
10
Cardlink
0
Was versteht man unter Kommunikations-Middleware?
-wird eingesetzt um verteilte Anwendungssysteme zu realisieren
-wird im Benutzermodus betrieben
-stellt dem Anwendungsprogramm Dienste zur Kommunikation bereit
11
Cardlink
0
Nennen Sie vier Betriebsmittel, welche das Betriebssystem verwaltet! Welche davon sind hardware- und welche softwaretechnische Betriebsmittel?
Betriebsmittel sind u. a.:
– Speicher (Hardware)
– Prozessor (Hardware)
– Gerät (Hardware)
– Datei (Software)
– Nachricht (Software)
– Prozess (Software)
12
Cardlink
0
Erläutern Sie den Unterschied zwischen Teilnehmer- und Teilhaberbetrieb! In welcher Betriebsart wird üblicherweise ein Transaktionsmonitor eingesetzt?
Teilnehmerbetrieb:
-jeder Anwender erhält seinen eigenen Benutzerprozess sowie weitere Betriebsmittel vom Betriebssystem zugeteilt
-Anmeldung des Benutzers über Login-Dialog beim System

Teilhaberbetrieb:
-Prozesse und Betriebsmittel werden über einen Transaktionsmonitor zugeteilt
-Im Gegensatz zum Teilnehmerbetrieb kommt der Teilhaberbetrieb mit wenigen Prozessen aus, um viele Dialoganwender zu unterstützen
-Prozesse werdem vom Transaktionsmonitor verwaltet und an Benutzer verteilt -> so als hätte jeder Benutzer seinen eigenen
-ideal für dialogorientierte Programme mit vielen parallel arbeitenden Anwendern mit kurzen schnellen Transaktionen
13
Cardlink
0
Welche Aufgaben erfüllt ein Transaktionsmonitor, welche ein Application-Server?
Transaktionsmonitor:
-Dienstprogramm, oberhalb des Kernels angesiedelt
-Aufgaben: Zugangskontrolle, Verteilung von Anfragen, Optimierung der Zugriffe, Verwaltung der Ressourcen, Zuordnung von Datenbankverbindungen
-Einsatz im Teilhaberbetrieb

Application-Server:
-ähnliche Aufgaben wie ein Transaktionsmonitor
-Anstelle von Transaktionsprogrammen laufen im Application-Server Komponenten verteilter Anwendungen ab
14
Cardlink
0
Nennen Sie einen Vorteil der Schichtenarchitektur bei Betriebssystemen!
Die Abhängigkeiten von der Hardware sind in einer Schicht gekapselt, was eine Portierung auf eine andere Hardwareplattform erleichtert.
15
Cardlink
0
Was versteht man unter Multiprogramming?
Möglichkeit der „gleichzeitigen“ oder aber auch „quasi-gleichzeitigen“ Ausführung von Programmen in einem Betriebssystem. 
16
Cardlink
0
Benötigt man für Multiprogramming mehrere CPUs?
Nein, nicht unbedingt.
Multiprogramming kann auch über eine CPU realisiert werden, die nach einer vorgegebenen Strategie des Betriebssystems (Scheduling und Dispatching) auf die nebenläufigen Programme (Prozesse) aufgeteilt wird.
17
Cardlink
0
Was bezeichnet man als Timesharing?
Die Zuordnung des Prozessors nach Zeitintervallen an die nebenläufigen Programme.
18
Cardlink
0
Wozu verwendet man Embedded Systems? Nennen Sie ein Beispiel!
Als Embedded System bezeichnet man ein Rechner- bzw. Steuerungssystem, das in Geräten, Robotern oder Fahrzeugen eingebaut ist und dort seine Aufgaben meist unsichtbar verrichtet.
-geschlossene Systeme ->übernehmen dezidierte Aufgabe
-kleines oder kein Betriebssysten, da geringe Ressourcen
-oft Echtzeitsysteme
19
Cardlink
0
Wozu dient ein Terminalserver?
-bedienen „dumme“ Clientrechner (sog. Thin Clients)
-Anwendungsprogramme laufen vollständig in den Servern ab
-Clientrechner werden nur noch für die Präsentation eingesetzt

Idee hinter Terminaldiensten:
-Zentralisierung von Betriebsmitteln
-Anwender arbeitet mit gewohnter Benutzeroberfläche, Anwendungen laufen aber komplett im Server ab
-nur Bildschirmänderungen werden im Client dargestellt
20
Cardlink
0
Welche Dienstmodelle im Cloud Computing kennen Sie?
-Infrastructure as a Service (IaaS) für die Bereitstellung ganzer Rechnersysteme
-Platform as a Service (PaaS) für die Bereitstellung von Entwicklungsumgebungen
-Software as a Service (SaaS) für die Bereitstellung von Anwendungssystemen
21
Cardlink
0
Was ist der Unterschied zwischen Polling und interruptgesteuerter Verarbeitung?
Polling:
-zyklisches Abfragen von einer/ mehrerer Ereignisquelle(n), um deren Kommunikationsbereitschaft festzustellen oder um anliegende Ereignisse oder Kommunikationswünsche abzufragen
-Nachteil: CPU muss ständig arbeiten-> beeinträchtigt Effizienz des Systems
-Vorteil: leicht zu implementieren

Interrupts:
-Betriebssystembedingungen oder asynchrone Ereignisse
  -> veranlassen Prozessor einen vordefinierten Code auszuführen, der außerhalb des normalen Programmflusses liegt
-keine ständige Abfrage, Ereignisquellen melden sich beim Auftreten eines Ereignissen
22
Cardlink
0
Was ist der Unterschied zwischen den Exception-Typen Fault und Trap? Nennen Sie jeweils ein Beispiel!
Faults sind Unterbrechungen vor der Befehsausführung wie z. B. Seitenfehler. 
Traps sind Unterbrechungen nach der Befehlsausführung, die z. B. bei einer Division durch 0 auftreten.
23
Cardlink
0
Wozu dient ein Systemcall und wie wird er üblicherweise von einem Betriebssystem wie Windows oder Unix ausgeführt?
-synchroner, also ein vorhersehbarer und reproduzierbarer Interrupt
-Dienstaufruf an das Betriebssystem, bei dessen Ausführung in den Kernelmodus gewechselt wird
-Der Kontrollfluss wird dabei meist von einem Anwendungsprogramm an den Kernel übergeben.
24
Cardlink
0
Was bedeutet „Maskierung“ von Unterbrechungsanforderungen?
-explizite Ausschalten eines Interrupts für ein bestimmtes Gerät
-erfolgt über ein Maskenregister (Interrupt Mask Register)

Für jede Interrupt-Quelle wird in dem Register ein Maskierungsbit verwaltet. Wird das Bit auf 1 gesetzt, ist der Interrupt ausgeschaltet.
25
Cardlink
0
Wie erkennt die CPU, dass eine Unterbrechungsanforderung ansteht?
-Die Prüfung, ob eine Unterbrechung ansteht, ist Teil des Befehlszyklus
-Nach Ausführung eines Maschinenbefehls wird überprüft, ob ein Interrupt-Request anliegt
26
Cardlink
0
Was versteht man unter einer Interrupt-Vektor-Tabelle?
-Tabelle, welche Interrupt-Vektoren enthält und an einer vordefinierten Stelle im Kernelspeicher liegt
-Der Index zur Adressierung innerhalb der Tabelle wird der CPU durch den Interrupt-Controller anhand der belegten Adressleitungen übermittelt
-Jeder Interrupt-Quelle wird ein fester Index auf diese Tabelle zugeordnet.
27
Cardlink
0
Was bedeutet Interrupt-Sharing?
-Beim Interrupt-Sharing teilen sich mehrere Geräte eine Interrupt-Nummer.
-Bei Auftreten eines Interrupts muss dann ermittelt werden, welches Gerät den Interrupt tatsächlich ausgelöst hat.
-Diese Aufgabe erledigt meist das Betriebssystem.
28
Cardlink
0
Was versteckt der Trap-Mechanismus zum Aufruf eines Systemdienstes vor dem Anwendungsprogramm?
-versteckt die Adresse der Systemroutine vor dem Anwendungsprogramm

Der Trap-Mechanismus dient dazu, dass der Aufruf eines Systemcalls von einem Anwendungsprogramm aus ermöglicht wird, ohne dass die tatsächliche Adresse der Systemroutine bekannt sein muss.
29
Cardlink
0
Erläutern Sie die Abwicklung eines Traps (Systemcalls)!
– Der aktuelle Kontext des laufenden Programms, also die Information, welche den aktuellen Status eines Prozesses beschreibt, wird gesichert
– Der Program Counter wird mit der Adresse der passenden Systemroutine belegt. 
– Vom Benutzermodus wird in den Kernelmodus geschaltet. – Die adressierte Systemroutine wird durchlaufen. 
– Anschließend wird wieder der alte Kontext des Prozesses hergestellt und der Program Counter mit der Adresse des Befehls nach dem Systemcall belegt.
30
Cardlink
0
Nennen Sie den Unterschied zwischen einem synchronen und asynchronen Interrupt!
synchroner Interrupt:
-tritt bei synchronem Ereignis (Ereignisse, die mit identischen Randbedingungen immer an der selben Stelle vorkommen) auf
-auch als Exception bezeichnet
-Ausnahmen werden von der CPU selbst ausgelöst und sind für das laufende Programm bestimmt

asynchroner Interrupt:
-nicht an laufendes Programm gebunden
-treten unabhängig vom System auf
-unterbrechen für kurze Zeit den Ablauf des laufenden Programms
- nicht vorhersehbar und können nicht ohne weiteres produziert werden
-zB: Ankunft einer Nachricht an einem Netzwerkadapter oder die Zustellung eines Plattenspeicherblocks an die CPU
31
Cardlink
0
Welche Aufgabe hat ein Interrupt-Controller?
-erzeugt aus einem IRQ (Interruptanforderung) eine Unterbrechung der CPU, die mit Hilfe eines passenden Programmstücks (ISR) bearbeitet werden muss
32
Cardlink
0
In welchem Interrupt-Request-Level wird die normale Programmausführung unter Windows durchgeführt und wie unterbrechbar ist dieser?
Die normale Programmausführung wird im niedrigsten Interrupt-Level, dem sog. Passive-Level, ausgeführt und ist damit durch alle anderen Interrupts unterbrechbar.
33
Cardlink
0
Was ist in der Prozessverwaltung ein PCB, wozu dient er und welche Inhalte hat er? Nennen Sie dabei drei wichtige Informationen, die im PCB verwaltet werden!
PCB = Process Control Block
->ein Eintrag in der Prozesstabelle

Informationen:
-zur Identifikation des Prozesses,
-die Information zum aktuellen Prozesszustand
-Informationen zu sonstigen Ressourcen, die dem Prozess zugeordnet sind (Dateien, offene Netzwerkverbindungen)
34
Cardlink
0
Threads werden heute von den meisten Betriebssystemen unterstützt. Was versteht man unter einem Thread?
-nebenläufige Ausführungseinheit innerhalb eines Prozesses
-light-weight Prozesse (LWP)
35
Cardlink
0
Wie verhalten sich Threads zu Prozessen im Hinblick auf die Nutzung des Prozessadressraums?
Threads erhalten den vollen Zugriff auf den zugehörigen Prozessadressraum.
36
Cardlink
0
Beschreiben Sie den groben Ablauf eines Prozess-Kontextwechsels und erläutern Sie, warum ein Thread-Kontextwechsel schneller sein kann, als ein Prozess-Kontextwechsel!
Prozess-Kontextwechsel:
-Unterbrechung eines aktiven Prozesses
-der Prozesskontext des unterbrochenen Prozesse wird gesichert und der Prozesskontext des neu aktivierten Prozesses in die Ablaufumgebung geladen.

Thread-Kontextwechsel( innerhalb eines laufenden P's):
-kann schneller sein als ein Prozess-Kontextwechsel, da meist die gleichen Speicherbereiche verwendet werden
-kein Austausch von Speicherbereichen notwendig, was  Betriebsystem-Overhead reduziert
37
Cardlink
0
Was versteht man unter User-Level-Threads im Vergleich zu  Kernel-Level-Threads und welche Beziehungen zwischen beiden sind möglich?
User-Level-Threads laufen auf der Benutzerebene (Benutzermodus),
Kernel-LevelThreads auf der Kernelebene (Kernelmodus, Systemmodus) ab.
38
Cardlink
0
Was bedeutet eine 1:n-Beziehung zwischen den Betriebsmitteln Prozess und Thread?
Ein Prozess kann mehrere Threads beherbergen. 1:n-Beziehungen, bei denen ein Prozess nahezu beliebig viele Threads enthalten kann, sind heute in Betriebssystemen üblich.
39
Cardlink
0
Welche Aufgabe hat ein Thread unter Windows?
Threads stellen die eigentliche Scheduling-Einheit des Windows-Betriebssystems dar.
40
Cardlink
0
Kann es unter Windows sein, dass ein Thread mehreren Prozessen zugeordnet ist? Begründen Sie Ihre Entscheidung!
Nein, ein Thread wird innerhalb eines Prozesses erzeugt und ist diesem bis zur Terminierung zugeordnet.
41
Cardlink
0
Warum ist der Einsatz von Threads sinnvoll?
-Threads sind leichtgewichtiger als Prozesse
-ein Thread-Kontextwechsel ist schneller als ein Prozess-KW
42
Cardlink
0
Welche zwei grundsätzlichen Implementierungsmöglichkeiten für Threads gibt es und welche Vor- bzw. Nachteile haben diese jeweils?
Implementierung auf Benutzerebene:
Vorteil: -hohe Effizienz
Nachteil: -Alle Threads eines Prozesses blockieren, wenn ein einzelner Thread blockiert

Implementierung auf der Kernelebene:
- Threads werden im Kernelmodus verwaltet
Vorteile: -Betriebssystem kann die Zuteilung der Rechenzeit über Threads gestalten und so einen Prozess nicht unnötig blockieren
              - Multiprozessorsysteme werden besser unterstützt
              - Prozess ist nicht blockiert wenn ein einzelner Thread
                blockiert ist

Nachteile: -nicht so effizient
- größere Systemabhängigkeit
43
Cardlink
0
Beschreiben Sie einen einfachen Zustandsautomaten eines Prozesses
4 Zustände:
1. bereit: der Prozessist zur Bearbeitung vorbereitet
2. aktiv: hat CPU
3. blockiert: wartet auf Ressourcen zum weitermachen
4. beendet: schon nicht mehr im System vorhanden

Zustandsübergänge:
– bereit → aktiv: Das Betriebssystem wählt den Prozess aus (Aktivieren) 
– aktiv→ bereit: Das Betriebssystem wählt einen anderen Prozess aus (Deaktivieren, Preemption, Vorrangunterbrechung)
– aktiv → blockiert: Der Prozess wird blockiert (z. B. wegen Warten auf Input, Betriebsmittel     wird angefordert)
– blockiert  → bereit: Der Blockierungsgrund wird aufgehoben (Betriebsmittel verfügbar)
– aktiv  beendet: Prozessbeendigung oder schwerwiegender Fehler (Terminieren des Prozesses)
44
Cardlink
0
Welche Scheduling-Algorithmen sind für Echtzeitbetriebssysteme (Realtime-System) sinnvoll und warum?
Minimal Deadline First:
- Prozess mit der nächsten Zeitschranke(deadline) wird ausgewählt
  
Polled Loop:
- alle Geräte werden zyklisch abgefragt,dieses wird dann bearbeitet

Interrupt-gesteuert:
-warten auf Interrupts von Eregnisquellen und führen dann die geeignete Interrupt-Service-Routine aus

Echtzeitsysteme erfordern eine schnelle und berechenbare Reaktion auf anstehende Ereignisse
45
Cardlink
0
Welche Aufgaben haben im Prozess-Management der Dispatcher und der Scheduler?
Scheduler:
Komponente im Prozessmanager, die für die Planung der Betriebsmittelzuteilung zuständig ist

Dispatcher:
Komponente, die einen tatsächlichen Prozesswechsel ausführt
46
Cardlink
0
Nennen Sie jeweils zwei geeignete Scheduling-Verfahren für Batch- und DialogSysteme und erläutern Sie diese kurz!
Batchsysteme:
– First Come First Served (FCFS): FCFS bearbeitet die im System ankommenden Aufträge in der Reihenfolge ihres Eintreffens. 
– Shortest Job First (SJF): SJF sucht sich dagegen immer den Job bzw. Prozess aus, von dem es die kürzeste Bedienzeit erwartet.


Dialogsysteme:
-Round Robin(RR):
  -FCFS in Verbindung mit einer Zeitscheibe (Quantum)
  - alle Prozesse gleich wichtig
  - Prozess erhält Quantum, wenn abgelaufen, wird er unterbrochen; kommt in Warteschleife; ein anderer Prozess erhält die CPU
  -unterbrochener Prozess kommt wieder drann, wenn die anderen Prozesse ihr Quantum verbraucht haben
  -Leistung des Systems hängt von dauer des Quantums ab
 
-Priotity Scheduling(PS):
  -wählt Prozess mit höchster Priorität aus
  - setzt Verwaltung von Prioritäten voraus
47
Cardlink
0
Erläutern Sie den Unterschied zwischen preemptive und non-preemptive Scheduling und nennen Sie jeweils zwei Scheduling-Strategien, die in diese Kategorien passen.
non-preemptive, auch „run-to-completion“-Verfahren:
- Prozess darf nicht unterbrochen werden, bis er seine Aufgaben vollständig erledigt hat.
ZB: FCFS, Shortest Job First (Batchsysteme)

preemptive Scheduling:
-Prozess darf unterbrochen werden ->rechenbreite Prozesse können suspendiert werden
- setzt Strategie zur Vergabe der CPU voraus, die vom Betriebsssystem unterstützt werden muss (basiert idR auf Zeitscheibentechnik)
-geeignet für Unterstützung konkurrierender Benutzer
ZB: Roun Robin (RR), Priority Scheduling (PS)(Dialogsysteme)
48
Cardlink
0
Nennen Sie Vergleichskriterien, nach denen Scheduling-Algorithmen verglichen werden
können und erläutern Sie diese!
Wartezeit: Zeit, die ein Prozess auf die Ausführung warten muss, also die Summe aller Zeiträume, in denen ein Prozess warten muss.
Bedienzeit (Servicezeit): Zeit, in der ein Prozess die CPU hält und arbeitenkann.
Antwortzeit: Zeit, in der ein Anwender auf die Bearbeitung seines Auftragswarten muss.
Durchsatz: Anzahl an Prozessen, die ein System in einer bestimmten Zeit bearbeiten kann.
CPU-Auslastung: Auslastung der CPU während der Berbeitung von Prozessen in % der Gesamtkapazität.
Durchlaufzeit = Verweilzeit: Gesamte Zeit, in der sich ein Prozess im System befindet (Servicezeiten + Wartezeiten).
49
Cardlink
0
Warum ist der Scheduling-Algorithmus Shortest Remaining Time First (SRTF) kaum zu realisieren?
-SRTF wählt den Prozess mit der kürzesten noch verbleibenden Zeit als nächstes aus -> für Dialogprozesse optimal
-Er ist kaum zu realisieren,da in Betriebssystemen keine Informationen über die verbleibende Prozesszeit
vorliegen.
50
Cardlink
0
Was bezeichnet man in der Prozessverwaltung als Blockieren, Verklemmen und Verhungern?
Blockieren: Ein Prozess P1 belegt ein Betriebsmittel, ein zweiter Prozess P2 benötigt dasselbe Betriebsmittel ebenfalls und wird daher blockiert, bis P1 sein belegtes
Betriebsmittel freigegeben hat.
Verhungern (Starvation): Ein Prozess erhält trotz Rechenbereitschaft keine CPUZeit zugeteilt, z. B. weil ihm immer wieder Prozesse mit höherer Priorität vorgezogen
werden.
Verklemmung: Zwei oder mehrere Prozesse halten jeder für sich ein oder mehrere Betriebsmittel belegt und versuchen ein weiteres zu belegen, das aber von einem anderen Prozess belegt ist. Es liegt ein Zyklus von Abhängigkeiten vor. Kein Prozess gibt seine Betriebsmittel frei und alle Prozesse warten daher ewig. Dieser Zustand wird auch als Deadlock bezeichnet
51
Cardlink
0
Was versteht man unter einem kritischen Abschnitt?
-Codeabschnitt, der zu einer Zeit nur durch einen
Prozess bzw. Thread durchlaufen und in dieser Zeit nicht durch andere nebenläufige Prozesse bzw. Threads betreten werden darf
-darf nicht unterbrochen werden
52
Cardlink
0
Welche Maßnahmen sind zu treffen, damit es beim Durchlaufen eines kritischen Abschnitts
nicht zu Inkonsistenzen kommt? Gehen Sie dabei auf den Begriff des gegenseitigen
Ausschlusses (mutual exclusion) ein!
Um Inkonsistenzen zu vermeiden, muss ein kritischer Abschnitt geschützt werden.
- durch gegenseitugen Ausschluss ->mutual exclusion
-> Prozesse die einen kritischen Abschnitt ausführen wollen, müssen warten bis dieser frei ist. ->Illusion einer Anweisungsfolge
53
Cardlink
0
Welche vier Kriterien sind nach Dijkstra für die Behandlung kritischer Abschnitte zu
beachten?
Mutual exclusion: Zwei oder mehr Prozesse dürfen sich nicht gleichzeitig im
gleichen kritischen Abschnitt befinden.
– Es dürfen keine Annahmen über die Abarbeitungsgeschwindigkeit und die
Anzahl der Prozesse bzw. Prozessoren gemacht werden. Der kritische Abschnitt muss unabhängig davon geschützt werden.
– Kein Prozess außerhalb eines kritischen Abschnitts darf einen anderen nebenläufigen Prozess blockieren.
Fairness Condition: Jeder Prozess, der am Eingang eines kritischen Abschnitts wartet, muss ihn irgendwann betreten dürfen (kein ewiges Warten).
54
Cardlink
0
Was sind Semaphore? Gehen Sie dabei kurz auf die Semaphoroperationen P() und V()
ein!
-Konzept zur Lösung des Mutual-Exclusion-Problems
auf Basis von Sperren
-Ein Semaphor verwaltet
  - Warteschlangefür die Prozesse bzw. Threads, die gerade am Eingang eines kritischen Abschnitts warten
  -Semaphorzähler
- wie viele Prozesse in den kritischen Abschnitt dürfen hängt von hängt von Initianlisierung des Semaphorzählers ab

2 Operationen:
-P() : beim Eintritt in einen kritischen Abschnitt
  -> Semaphorzähler wird um 1 reduziert (bei >0)
   bei SZ=0 -> kein Eintritt

-V() beim Verlassen des kA
   SZ wir um 1 erhöht -> weiterer Prozess kann in den kA
55
Cardlink
0
Warum müssen die Semaphor-Operationen P() und V() selbst wieder ununterbrechbar
sein?
Unterbrechungen können zu Inkonsistenzen in der Warteschlangenbearbeitung oder im Semaphorzähler führen
56
Cardlink
0
Semaphore zur Kontrolle des Eintritts in einen kritischen Abschnitt müssen effizient
implementiert werden. Nehmen Sie zu dieser Aussage Stellung und betrachten Sie dabei
die Implementierungsvariante mit Polling (Busy Waiting).
Semaphor-Operationen können bei ineffizienter Implementierung Auswirkungen auf die Leistung haben
Würde die P()-Operation mit Polling realisiert, so würde ein Prozess,
der gerade am Eingang des kritischen Abschnitts wartet, den Rechnerkern
nicht freigeben, bis sein Quantum abgelaufen ist. Daher ist Polling eine schlechte
Implementierungsvariante.
57
Cardlink
0
Nennen Sie die vier notwendigen und hinreichenden Bedingungen, die zu einem Deadlock
führen!
Ein Deadlock kann nur eintreten, wenn folgende vier Bedingungen eintreffen:
– Mutual Exclusion für die benötigten Betriebsmittel.
– Prozesse belegen Betriebsmittel und fordern weitere an.
– Kein Entzug eines Betriebsmittels ist möglich.
– Zwei oder mehrere Prozesse warten in einer Warteschleife (circular waiting)
auf weitere Betriebsmittel.
58
Cardlink
0
Warum lassen sich Deadlocks bei nebenläufigen Prozessen schwer ganz vermeiden?
Deadlock-Vermeidung wird durch die Aufweichung mindestens eines der Kriterien erreicht. Deadlocks lassen sich a priori aber nur schwer vermeiden, weil sonst nur jeder Prozess ohne Gefahr eines Deadlocks zum Ablauf kommen dürfte. Alle Betriebsmittel müssten im Vorfeld reserviert werden.
59
Cardlink
0
Welche Alternative zur Behandlung von Deadlocks kennen Sie?
-Betriebsmittelbelegungsgraphen zur Erkennung und Beseitigung von Deadlocks zur Laufzeit
-Abbrechen eines Prozesses
-Entziehen des Betriebsmittels
60
Cardlink
0
Was sind Race Conditions?
Situationen:
- zwei oder mehr Prozesse nutzen gemeinsame Betriebsmittel 
- Endergebnisse der Nutzung hängen von der zeitlichen Reihenfolge der Operationen ab
61
Cardlink
0
Was ist der Unterschied zwischen synchroner und asynchroner Kommunikation?
synchron:
-Sender und/oder Empfänger blockieren, um sich abzustimmen
zB Ein Sender sendet z. B. eine Nachricht über den
Aufruf eines Dienstes (send) ab und wartet so lange, bis der Empfänger die Nachricht
über einen weiteren Dienst (receive) gelesen hat

asynchron:
-Puffer im Kommunikationssystem
-Sender kann dort Nachricht ablegen und mit Aufgaben weiter machen ohne zu blockieren
62
Cardlink
0
Was ist Multicast-Kommunikation im Unterschied zu Broadcast und Anycast?
Multicast: Hier adressiert der Sender eine definierte Gruppe von Empfängern. Eine Nachricht wird also an die gesamte Gruppe gesendet (Beziehung1:n, wobei n die Anzahl der Gruppenmitglieder ist).
Broadcast: Bei dieser Adressierungsart sendet Nachrichten an alle möglichen Empfänger, z. B. alle Partner in einem Netzwerk (remote) oder auf einen bestimmten Rechner (lokal), (Beziehung 1:m, wobei m die Anzahl aller möglichen Partner ist).
Anycast: Diese Art der Empfängeradressierung wendet sich auch an eine Gruppe, allerdings nimmt hier mindestens ein Empfänger, aber nicht zwangsweise alle Empfänger die Nachrichten entgegen (Beziehung 1:1...n).
63
Cardlink
0
Was versteht man unter einem Halbduplex- im Gegensatz zu einem Vollduplex-
Betrieb?
nachrichtenbasierten Kommunikation

Vollduklexbetrieb: -beide Partner können gleichzeitig Nachrichten senden bidirektional

Halbduplexbetrieb: -nur einer nach dem anderen indirektional

64
Cardlink
0
Erläutern Sie kurz die Funktionsweise von Pipes!
-Datenstrom von einem Prozess zum anderen
-können gelesen werden
unindirektionaler Datenstrom
-Auslesen mit FIFO Prinzip
65
Cardlink
0
Welche grundlegenden Gedanken stecken hinter dem Konzept des virtuellen Speichers?
– Ein Prozess sollte auch dann ablaufen können, wenn er nur teilweise im Hauptspeicher ist. Wichtig ist hierbei, dass die Teile des Prozesses (Daten und Code) im physikalischen Speicher sind, die gerade benötigt werden.
– Der Speicherbedarf eines Programms sollte größer als der physikalisch vorhandene Hauptspeicher sein können.
– Ein Programmierer sollte am besten nur einen kontinuierlichen (linearen) Speicherbereich beginnend bei Adresse 0 sehen und sich nicht um die Zerstückelung (Fragmentierung) des Hauptspeichers auf mehrere Benutzer
kümmern.
66
Cardlink
0
Welche Aufgabe hat eine Verdrängungsstrategie und was ist ein Seitenfehler?
Verdrängungsstrategie:
-wird verwendet um eine zu verdrängende Seite auszuwählen

Seitenfehler (page fault):
-Trap, den die MMU erzeugt
-wenn von einem Prozess eine physikal. Adresse angesprochen wird, die nicht im Hauptspeicher geladen ist
-Betr.syst. springt in den Kernelmod. (auf spezielle Interruptroutine)
->Bearbeitet Seitenfehler und versucht die seite in einen Frame zu laden
67
Cardlink
0
Was bedeutet Demand-Paging und welche Alternative wäre denkbar?
-Abrufstrategie: Einlagerung nur auf Anforderung(wenn Daten benötigt werden)

Alternative: Prepaging: Seiten werden ohne Aufruf in Hauptsp. geladen
68
Cardlink
0
Wie viele Seitentabellen müssen bei virtueller Adressierung vom Betriebssystem verwaltet
werden, wenn mit einer einstufigen Seitentabelle gearbeitet wird und gerade 10
Prozesse aktiv sind?
Es müssen 10 Seitentabellen verwaltet werden, eine je Prozess.
69
Cardlink
0
Ein virtueller Adressraum wird mit 32 Bit langen virtuellen Adressen adressiert. Eine virtuelle Adresse enthält jeweils 10 Bit für den Index in der Top-Level-Seitentabelle und 10 Bit für den Index in der Second-Level-Seitentabelle.
a) Wie viele Second-Level-Seitentabellen gibt es maximal je Prozess?
b) Wie groß sind die Seitenrahmen im Hauptspeicher?
c) Wie groß ist der gesamte virtuelle Adressraum eines Prozesses?
a)
210 = 1024 je Prozess, da 10 Bit für den Index der Top-Level-Tabelle zur Verfügung stehen. Die 1024 Einträge verweisen auf 1024 Second-Level-Tabellen.

b)
212 Byte = 4096 Byte, da 12 Bit für die Größe einer virtuellen Seite zur Verfügung stehen und die Größe einer physikalischen Seite (Frame) der Größe der virtuellen Seite entspricht.

c)
232 Byte = 4 GiB, da insgesamt 32 Bit für die Adressierung zur Verfügung stehen.
70
Cardlink
0
Welcher Seitenersetzungsalgorithmus wäre theoretisch optimal und warum ist dieser praktisch nur schwer zu realisieren?
Algorithmus Belady:
die Seitenrahmen für eine Ersetzung auswählen, die am spätesten von allen belegten Seitenrahmen wieder benötigt werden

unmöglich da:
-man müsste Speicherzugriffe eines Prozesses sicher vorher bestimmen
-Das Betriebssystem kann zum Zeitpunkt des Seitenfehlers
nicht wissen, wann welche Seite als nächstes verwendet wird.
71
Cardlink
0
Warum ist der LRU-Algorithmus zur Seitenersetzung bei der virtuellen Adressierung schwer zu realisieren? Welcher Algorithmus ist eine gute Alternative hierzu?
großer Aufwand bei jedem Zugriff
-nach zeitlicher Nutzung sortierte Liste müsste verwaltet werden
am längsten nicht benuztes Element wäre ganz oben
-aktuell genutzte Seite müsste ganz nach unten
Daher werden Pseudo-LRU-Algorithmen implementiert
(Clock-Page/Second Chance)

Alternative:
NFU (Not Frequently Used)-Alg. in Verbindung mit Aging Alg
72
Cardlink
0
Welche Probleme ergeben sich bei sehr großen virtuellen Adressräumen in Bezug auf die Verwaltung der Seitentabellen?
-verschlechterte Leistungsfähigkeit
-mehrere Hauptspeicherzugriffe erforderlich
-mit wachsendem Adressraum wächst Speicherplatz für Verwaltung der Seitentabellen
73
Cardlink
0
Welche Möglichkeiten gibt es, die hohe Belastung der Seitentabellenverwaltung insbesondere bei großen Adressräumen zu optimieren?
Optimierung der Speicherzugriffe durch:
-Adressumsetzpuffer (Translation Lookaside Buffers, kurz: TLB)
- invertierte Seitentabellen
74
Cardlink
0
Erläutern Sie das Working-Set-Verfahren, das Windows einsetzt!
jeder Prozess erhält ein sog. Working-Set( Arbeitsmenge an Frames) -> von minimal 20-50 un max. 40-345 je nach verfügbarem Hauptspeicher
75
Cardlink
0
Erläutern Sie die Grundprinzipien des TLB und der invertierten Seitentabelle mit Hashing!
TLB (Adressumsatzpuffer):
- eigener, schneller Speicher, der Tabelle darstellt -> darin sind Zuordnungen von virtuellen auf reale Adressen verwaltet
-aktuell am häufigsten benutzte Seitennr. werden in Tabelle eingetragen
-bei Adressumsetzung wird erst geprüft ob virtuelle Adr. im TLB vorhanden, wenn ja (TLB hit) kein Zugriff auf Seitentabellen nötig, da reale adresse schon von Frames ermittelt worden ist
->Ersparung des Hauptsp.zugriffs

wenn nicht (LTB miss)
klassische Adressumsetzung: über Seitentabellen(n) wird Mapping auf physikal. Adr. vorgenommen

Invertierte Seitentabelle mit Hashing:

-Suche nach Seite über Hashtabelle, Suchkriterium: virtuelle Seriennr.
-komplett im Hauptsp.
76
Cardlink
0
Was versteht man unter einem Shared Memory? Nennen Sie Einsatzmöglichkeiten!
Shared Memory:
-von mehreren Prozessen gemeinsam genutzter Speicherbereich
-wird nur einmal in Hauptsp geladen
-mehrere Seitentabelleneinträge verschiedener Prozesse verweisen darauf

Nutzung:
-um Codeteile, die mehrere Prozesse benötigen, nur einmal in den Hauptspeicher zu laden ->shared Libraries
-merhreren Prozessen globale Datenbereiche zur Verfügung stellen ->Prozesskomunikation
77
Cardlink
0
Welche grundsätzlichen Speicherverwaltungsmechanismen sind in Unix-Systemen vorzufinden?
-virtuelle Speichertechnik mit Demand Paging für Einlesen von Daten
-zur Seitenersetzung :Clock-Page-Alg.
78
Cardlink
0
Welche Aufgaben hat ein Gerätetreiber?
–Er definiert ein Gerät-> macht es dem Betriebssystem bekannt, initialisiert also die Geräte-Controller beim Systemstart.
– Er stellt ein logisches Programmiermodell bereit und übersetzt es in gerätespezifische Anforderungen.
– Er dient der Pufferung von Daten auf dem Weg vom Gerät zum Hauptspeicher
und umgekehrt.
– Er übernimmt die Unterbrechungsbearbeitung für ein Gerät. In der Regel liegt im Treiber auch die passende Interrupt Service Routine (ISR) für das Gerät.
– Er dient der Koordination der nebenläufigen Zugriffe auf ein Gerät.
79
Cardlink
0
Was ist der Unterschied zwischen RAID-4 und RAID-5?
Bei RAID-4 werden die Datenbits wie bei RAID-5 zu Streifen zusammengefasst.
Pro Streifen wird eine Prüfsumme gebildet und auf einer eigenen Platte gespeichert.
In RAID-5-Systemen sind die Paritätsabschnitte auf alle Platten verteilt, um eine gleichmäßige Plattenauslastung zu erreichen. Ansonsten ist RAID-5 sehr ähnlich zu RAID-4.
80
Cardlink
0
Welchen wesentlichen Vorteil bietet RAID-6 im Vergleich zu RAID-5 und welcher
Nachteil wird dadurch erkauft?
RAID-6-Systeme sind wie RAID-5 aufgebaut, speichern aber mehr redundante Prüfdaten, so dass sogar der Ausfall von zwei Platten ohne Auswirkung bleibt.
Wenn n Festplatten für die Nutzdaten benötigt werden, ist ein RAID-6-System aus n+2 Platten aufgebaut.
RAID-6 zeichnet sich durch gute Leistung beim Lesen aus, die Schreibleistung ist allerdings schlechter als bei RAID-5.
81
Cardlink
0
Welche Vorteile bietet RAID-10?
RAID-10 vereinigt als Kombination von RAID-0 und RAID-1 die Vorteile beider Verfahren.
Es wird Striping und anschließend eine Spiegelung durchgeführt, d. h. RAID-10-Systeme sind schnell und ausfallsicher
82
Cardlink
0
Welchen Vorteil hat Software-RAID gegenüber Hardware-RAID?
Bei Software-RAID ist keine eigene Controller-Hardware erforderlich, da die Verwaltung
der RAID-Platten im Betriebssystem erfolgt
83
Cardlink
0
Zu welchen Problemen kann Caching von Plattenspeicherinhalten in Treiberpuffern bei Ausfall eines Systems führen?
-Inkonsistenzen, wenn zum Ausfallzeitpunkt noch nicht alle Daten aus dem Cache auf einen persistenten Speicher geschrieben wurden
84
Cardlink
0
Was ist der Unterschied zwischen Emulation und Virtualisierung?
Emulation: bildet komplette Hard- und Software nach

Virtualisierung: bildet nur geringen Teil des kompletten Befehlssatz nach
85
Cardlink
0
Was muss ein Prozessor nach Popek und Goldberg erfüllen, damit eine effiziente Virtualisierbarkeit
gegeben ist?
-alle sensitiven Operationen müssen privilegiert sein
-> dann kann ein Hypervisor konstruiert werden
86
Cardlink
0
Was ist im Sinne der Virtualisierung ein kritischer Maschinenbefehl?
-sensitiv, aber nicht prvilegiert -> verursachen bei der Betriebssystemvirtualisierung gewisse Probleme, weil das Gastgeberbetriebssystem nicht erkennen kann, ob sie vom Anwendungsprogramm oder vom Hostbetriebssystem
abgesetzt werden.
87
Cardlink
0
Was versteht man unter einem Typ-1-Hypervisor?
-dient der Betriebssystemvirtualisieriung
-direkt über der Hardware als kleines Minibetriebssystem platziert
-läuft im Kernelmodus(Ring 0) oder in speziellem, privilegierten Modus
88
Cardlink
0
Was versteht man unter einem Typ-2-Hypervisor?
-dient der Betriebssystemvirtualisieriung
-läuft als einfaches Benutzerprogramm über Gastgebersystem
-auch Hosted-Ansatz genannt
89
Cardlink
0
Was versteht man unter Paravirtualisierung?
-Technik der Betriebssystemvirtualisierung
- man verändert das Gastbetriebssystem
-Hypervisor ist ein reduziertes Betriebssystem
-Vom Gastbetriebssystem werden Hypervisor-Aufrufe über spezielle Systemaufrufe (API) an das Gastgeberbetriebssystem
abgesetzt.
90
Cardlink
0
Was ist eine Schattentabelle im Sinne der Betriebssystemvirtualisierung?
- setzt reale auf physikalische Adresse um
-Über Schattentabelle ist  direkte Umsetzung einer virtuellen Adresse auf eine physikalische möglich
91
Cardlink
0
Was bedeutet Ballooning bei der Speicherverwaltung eines Hypervisors?
-künstliche Speicheranforderung des Hypervisors
-er initiiert bei den Gastbetriebssystemen Replacement-Aktivitäten
92
Cardlink
0
Wozu dient der Virtual Processor Identifier bei der Verwaltung des TLB?
Virtual Processor Identifier (VPID):
-eindeutige Identifikation der VM, kann als Identifikationsmerkmal für Zuordnung der TLB-Einträge zu den VMs genutzt werden
-TLB muss nicht bei jedem VM-Wechsel vollständig entlehrt und neu belegt werden
Flashcard set info:
Author: @destructive_influen...
Main topic: Betriebssysteme
Topic: Betriebssysteme
School / Univ.: DHBW
City: Stuttgart
Published: 27.04.2016
Tags: Gödde
 
Card tags:
All cards (92)
no tags
Report abuse

Cancel
Email

Password

Login    

Forgot password?
Deutsch  English