Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03279.jsonl.gz/596

Prozesse & Threads
Was ist ein Thread und was ist ein Masterthread?
Masterthread:
- erster Thread innerhalb eines Prozesses
- erzeugt andere Threads und wartet auf deren Beendigung
- ist der Masterthread weg, ist der Prozess beendet
Thread:
- Teil eines Prozesses
- Einheit der Ausführung (Prozessorzuteilung)
- 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?
- Eintrag in Prozesstabelle (Zuweisung Prozesskennung)
- Zuteilung von Speicherplatz an den Prozess (für Programmcode, Daten, Keller)
- Initialisierung des Prozesskontrollblocks (PC und SP, Prozeßzustand, evtl. geerbte Ressourcen)
- Adresse des Codes im Prozesskontrollblock (Seitentabelle)
- Scheduler stellt Prozessstatus von "neu" auf "bereit"
- 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?
- Benutzer durch Programmstart
- System
- Prozess
- 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:
- Sägezahn-Algorithmus
- Shortest seek first
- 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.
Speicherverwaltung
Beschreiben Sie die Aufgaben der Speicherverwaltung und wie heißt der englische Begriff für Speicherverwaltung?
- Memory Manager
- Optimierung Speicherverwaltung
- Zuweisung von Speicher für einzelne Prozesse
- Hauptspeichermanagement (Speicher bereitstellen, auslagern),
- Speicherschutz (Prozesse -> Seitentabellen)
- 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:
- First Fit
- Best Fit
- 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
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
- MMU hat Seitenfehler (Ausnahme) ausgelöst
- BS ermittelt virtuelle Adresse (--> Seite S) und Grund der Ausnahme
- Falls Schutzverletzung vorlag: Prozess abbrechen, Ende.
- Sonst: zu verdrängende Seite S' bestimmen
- Falls S' modifiziert (Modified-Bit =1): S' auf Platte schreiben
- Seitentabelleneintrag für S' aktualisieren (u.a. Present-Bit =0)
- Seite S von Platte in die nun freie Kachel von S' laden
- Seitentabelleneintrag für S aktualisieren
- 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