Premium Partner

Betriebssysteme

FOM D Betriebsysteme

FOM D Betriebsysteme

Nicht sichtbar

Nicht sichtbar

Kartei Details

Karten 96
Lernende 12
Sprache Deutsch
Kategorie Informatik
Stufe Universität
Erstellt / Aktualisiert 30.05.2014 / 08.12.2020
Lizenzierung Keine Angabe    (Betriebssysteme I Ullrich Krause)
Weblink
https://card2brain.ch/box/betriebssysteme5
Einbinden
<iframe src="https://card2brain.ch/box/betriebssysteme5/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Prozesse & Threads

Was ist ein Thread und was ist ein Masterthread?

Masterthread:

  1. erster Thread innerhalb eines Prozesses
  2. erzeugt andere Threads und wartet auf deren Beendigung
  3. ist der Masterthread weg, ist der Prozess beendet

Thread:

  1. Teil eines Prozesses
  2. Einheit der Ausführung (Prozessorzuteilung)
  3. Ausfuhrungsfaden, leichtgewichtiger Prozeß

Prozesse & Threads

Worin besteht der Unterschied zwischen einem Prozess und einem Thread?

 

Prozess: Einheit des Ressourcenbesitzes und Schutzes

Thread: Einheit der Ausführung (Prozessorzuteilung)

Dem Prozess wird der Hauptspeicher sowie Prioritäten und weitere Ressourcen zugeteilt. Dem Betriebssystem selbst ist nur der Prozess bekannt. Der Thread ist die Einheit der Ausführung innerhalb eines Prozesses. Ein Prozess kann mehrere Threads beinhalten. Stürzt ein Thread ab bleibt der Prozess am Leben (Ausnahme Masterthread). Ein Thread besitzt nur seinen eigenen Befehlszähler und Keller.

Prozesse & Threads

Teilhaber / Teilnehmerbetrieb. In welches Umfeld gehört es und worin liegt der Unterschied?

 

Teilnehmerbetrieb: Ein Prozess mit einem Thread

Teilhaberbetrieb: Ein Prozess mit mehreren Thread

Umfeld: große Anwendungssysteme wie z.B. SAP

Prozesse & Threads

Welche Systemkomponente verwaltet die Prozesse und woher weiß die Komponente welche Prozesse existieren?

Der Scheduler verwaltet die Prozesse.

Dieser weiß über die Prozesstabelle, welche im residenten Bereich des BS liegt, welche Prozesse existieren.

Prozesse & Threads

Ein neuer Prozess soll erzeugt werden. Was muss in welcher Reihenfolge getan werden?

  1. Eintrag in Prozesstabelle (Zuweisung Prozesskennung)
  2. Zuteilung von Speicherplatz an den Prozess (für Programmcode, Daten, Keller)
  3. Initialisierung des Prozesskontrollblocks (PC und SP, Prozeßzustand, evtl. geerbte Ressourcen)
  4. Adresse des Codes im Prozesskontrollblock (Seitentabelle)
  5. Scheduler stellt Prozessstatus von "neu" auf "bereit"
  6. Einhängen des Prozesses in Warteschlange

Prozesse & Threads

Wofür gibt es einen IFR und einen IMR?

IFR: Interrupt Flag Register

Das IFR bestimmt die Priorität der Interrupts.

Der Interrupt Handler greift das Interruptbit aus dem IFR ab.

IMR: Interrupt Mask register

Verhindert die Verarbeitung von neuen Interrupts

Prozesse & Threads

Wie werden Hintergrundprozesse des BS noch genannt?

Daemons (Serviceprozess des BS), Service, Dienst

Prozesse & Threads

Welche 5 Stati kann ein Prozess einnehmen und bringen Sie dazu ein Beispiel

Neu    --> Prozess wurde kreiert und in Kontrollblock geschrieben. Memory Manager wird aktiv

Bereit --> Wartet auf Scheduler, bis Prozess anhand der Priorität dran ist

Rechnend -->  Immer nur ein Prozess, der grade die CPU besetzt

Blockiert --> Wartet auf anderes Event

Beendet --> Prozess beendet, Verwaltungsdaten noch vorhanden

Prozesse & Threads

Wer kann eine Prozesserzeugung initiieren?

  1. Benutzer durch Programmstart
  2. System
  3. Prozess
  4. Batch Job (Stappelverarbeitung)

Prozesse & Threads

Welche Informationen stehen im Prozesskontrollblock und wo liegt er?

Als Prozesskontrollblock wird der Eintrag in die Prozesstabelle bezeichnet. Diese liegt im residenten Teil des Betriebssystems.

Prozeßidentifikation:

  • Kennung des Prozesses
  • Kennung des Elternprozesses
  • Benutzerkennung

Prozessorstatus-Information:

  • Datenregister
  • Steuer- und Statusregister: PC, PSW, ...
  • Kellerzeiger (SP)

Prozeßkotroll-Information:

  • Scheduling- und Zustandsinformationen
  • Daten für Interprozeßkommunikation
  • Prozeßprivilegien
  • Speicherverwaltung
  • Ressourcenbesitz und -nutzung

Prozesse & Threads

Was ist eine Threadtabelle, wozu dient sie und wo liegt sie?

 

Jeder Prozess benötigt seine eigene private Threadtabelle, daher wird diese vom Laufzeitsystem verwaltet.

Dient der Kontrolle und dem Überblick der einzelnen Threads.

Elemente pro Thread: Befehlszähler, Kellerregister, Register, Zustand.

I/O Ein-/Ausgabe

In welchem Zusammenhang steht der Begriff Aufzug-Algorithmus, was besagt er und welche Alternativen gibt es?

Zusammenhang: Ein-/Ausgabe Scheduling von Festplattenzugriffen

Begriff: "Der Aufzug-Algorithmus heißt so, weil er sich ähnlich verhält wie ein Aufzug. Die momentane Position des Festplattenarms sowie seine Bewegungsrichtung sind bekannt. Nach jedem abgeschlossenen Lese-/Schreibauftrag fährt er zum nächsten in dieser Richtung liegenden Auftrag weiter, so lange, bis in dieser Richtung kein Auftrag mehr zu erledigen ist. Dann wird die Bewegungsrichtung umgekehrt."

Alternativen:

  1. Sägezahn-Algorithmus
  2. Shortest seek first
  3. First come, first served (FCFS)

I/O Ein-/Ausgabe

Welche Aufgaben hat ein DMA-Controller und welche ein normaler Controller. Wo befinden sich diese jeweils? (Siehe auch Einführung Bereich Ein-/Ausgabe)

  • DMA Controller (Direct Memory Access)befindet sich meist im Geräte Controller

Aufgabe: Transport der Daten zwischen Controller und Speicher direkt ohne die CPU in Anspruch zu nehmen

  • Normaler Controller :

Aufgaben: Steuerung des Gerätes, Entkopplung der Bus Geschwindigkeit

Befindet sich in den Chipsätzen, separaten Steckkarten oder den Geräten selbst

I/O Ein-/Ausgabe

Worin besteht der Unterschied zwischen einem Terminal / Terminalbetrieb und einem PC.

Terminal gehört zur Klasse der blockorientierten E/A Geräte

Pc gehört zur Klasse der zeichenorientierten E/A Geräte

I/O Ein-/Ausgabe

Welchen Nachteil hat ein waited I/O?

waited I/O belegt und blockiert die CPU bis der Prozess abgearbeitet ist.

Alternativen: Interrupt gesteuerte I/O, DMA gesteuerte I/O

I/O Ein-/Ausgabe

Was ist ein Prefetch, warum benutzt man ihn?

Performancesteigerung der Zugriffszeit. Komplette Spur wird eingelesen, da aufeinanderfolgende Sektoren i.d.R. auch benötigt werden.

I/O Ein-/Ausgabe

Wie kommen die von der Platte gelesenen Daten in Ihren Adressraum?

(In Ihren Programmbereich – Daten)

 

Folie 9

Speicherverwaltung

Erläutern Sie den Unterschied zwischen physischen und virtuellen Adressraum. Bitte mit erläuternder Skizze

Bild einfügen

Speicherverwaltung

Beschreiben Sie die Aufgaben der Speicherverwaltung und wie heißt der englische Begriff für Speicherverwaltung?

  1. Memory Manager
  2. Optimierung Speicherverwaltung
  3. Zuweisung von Speicher für einzelne Prozesse
  1. Hauptspeichermanagement (Speicher bereitstellen, auslagern),
  2. Speicherschutz (Prozesse -> Seitentabellen)
  3. MMU wird von Memory M beschickt und wandelt virtuelle in physikalische Adressen um

Speicherverwaltung

Was ist Swapping und wie funktioniert es?

Gesamtes Programm wird aus dem HS ausgelagert, damit neues Programm Platz hat

Es werden länger nicht benutzte Seiten ausgelagert.

Speicherverwaltung

Welche Verfahren gibt es bei der dynamischen Speicherverwaltung und wird es bei swapping oder paging angewendet

Wird bei Swapping angewendet:

  1. First Fit
  2. Best Fit
  3. Next Fit

Speicherverwaltung

Was ist Paging und wie funktioniert es?

Teile eines Programmes (einzelne Seiten) werden aus dem HS ausgelagert, damit neue Programme Platz haben

Speicherverwaltung

Worin besteht der Unterschied zwischen einer Page und einer Seite bei der Speicherverwaltung?

Beides ist derselbe Block jedoch:

Im HS spreche ich von Seite

Bin ich auf der Festplatte spreche ich von Page

 

Beide 4 K Block groß

Speicherverwaltung

Was ist die Seitentabelle und wo steht sie im Betriebssystem

Sie steht in der Prozesstabelle und sagt aus welche Seiten zu dem Prozess gehören

Speicherverwaltung

Wie verhindert das Betreibssystem, dass ich nicht auf andere Prozesse zugreifen kann? Gibt es Ausnahmen, wenn ja, wie?

Zu jedem Prozess gibt es eine entsprechende Seitentabelle. Jeder Prozess kann nur auf die Seiten zugreifen die in seiner Seitentabelle stehen.

Ausnahme: In C kann Pointer falsch gesetzt werden. Da zu diesem Prozess die Seite fehlt wird der Prozess abgebrochen.

Speicherverwaltung

Beschreiben Sie den Aufbau eines Seitentabellenaufbaus und erläutern Sie wozu die einzelnen Teile in den Headern dienen

Bild einfügen

Speicherverwaltung

Welche Aufgabe hat die MMU und wo liegt sie?

Befindet sich in der CPU

Aufgaben:

Umrechnung virtueller Adresse in physische Adresse

Speicherschutzfunktion (Zugriff nur durch Prozess)

Speicherverwaltung

Beschreiben Sie vereinfacht den Ablauf eines Seitenwechsels.

Ablauf eines Seitenwechsels

  1. MMU hat Seitenfehler (Ausnahme) ausgelöst
  2. BS ermittelt virtuelle Adresse (--> Seite S) und Grund der Ausnahme
  3. Falls Schutzverletzung vorlag: Prozess abbrechen, Ende.
  4. Sonst: zu verdrängende Seite S' bestimmen
  5. Falls S' modifiziert (Modified-Bit =1): S' auf Platte schreiben
  6. Seitentabelleneintrag für S' aktualisieren (u.a. Present-Bit =0)
  7. Seite S von Platte in die nun freie Kachel von S' laden
  8. Seitentabelleneintrag für S aktualisieren
  9. Prozess fortsetzen --> abgebrochener Befehl wird weitergeführt oder wiederholt

Refresh: Transistoren werden wieder aufgeladen

Interrupt setzen, Interrupt Händler analysiert Seitenwechsel, führt der MMU neue Seitenadresse zu, Prozess wird auf wartend gesetzt und setzt die im jeweiligen Prozess wieder auf Bereit

Probeklausur

Wie läuft eine Ein-/Ausgabe ab? Ausgangspunkt ist ein Anwenderprogramm, was einen write abgesetzt hat

Write

  • Übergang zum System Procedure Call
  • Übergang an das BS durch Interrupt
  • Analyse des Interrupts
  • Aufruf der BS Service Routine
  • Abarbeiten => Kontakt Controller
  • Schreiben der Daten
  • Fertigmeldung des Controllers durch Interrupt
  • Analyse des Interrupts
  • Aufruf der Service Routine
  • Zurück an System Procedure Call
  • weiter nach write

 

SP = Stack Pointer (Keller Pointer)

Probeklausur

Wodurch wird dem Betriebssystem mitgeteilt, dass eine Ein-/Ausgabe beendet ist und die Bearbeitung des Programms fortgesetzt werden kann?

Interrupt -> Scheduler von bearbeitend auf bereit