Prozesse und Threads, Scheduling Flashcards

1
Q

Was ist ein Programm?

A

Eine verfahrensvorschrift für el. Datenverarbeitung (ausführbare Datei)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist ein Prozess?

A

Ist ein Programm in ausführung inkl.
- Laden des Codes, initialwerte etc. im Hauptspeicher
- Aufsetzen einer prozessumgebung
- Ausführen des Codes in Umgebung
Prozess nutzt Hauptspeicher, Peripherie, Register etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was sind Threads?

A

Parallel ablaufende Aktivitäten innerhalb einer gemeinsamen Prozessumgebung. Jeder Thread gehört zu einem Prozess

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wie viele Adressräume hat ein Prozess?

A

ein Prozess entspricht einem Adressraum

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

wie viele Threads kann ein Prozess minimal und maximal haben?

A

von 1 bis beliebig viele. Ein Prozess stellt die Umgebung inerhlab der die Threads exisiteren können

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was versteht man unter HW- und SW Parallilität?

A

Hardware- und Software-Parallelität sind zwei unterschiedliche Ansätze, um die Leistung und Effizienz von Computersystemen zu verbessern.

Die Kombination von Hardware- und Software-Parallelität kann zu erheblichen Leistungssteigerungen führen. Durch den Einsatz von mehreren Prozessoren oder Rechenkernen auf der Hardwareseite und der Implementierung von parallelen Algorithmen und Aufgabenaufteilung auf der Softwareseite können komplexe Aufgaben schneller und effizienter gelöst werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Erzählen sie was zur HW-Parallilität

A

Hardware-Parallelität bezieht sich auf die Verwendung von physischen Hardwarekomponenten, um Aufgaben gleichzeitig auszuführen. Dies kann durch den Einsatz mehrerer Prozessoren oder Rechenkerne erreicht werden, die unabhängig voneinander arbeiten und verschiedene Teile eines Problems parallel lösen können. Durch die parallele Verarbeitung können Aufgaben schneller abgeschlossen werden, da mehrere Berechnungen gleichzeitig durchgeführt werden können.

Beispielhaft für Hardware-Parallelität ist die Verwendung von Multiprozessorsystemen oder Mehrkernprozessoren, bei denen mehrere Prozessoren oder Kerne gleichzeitig an der Ausführung von Aufgaben beteiligt sind. Jeder Prozessor oder Kern kann eigenständig arbeiten und Berechnungen durchführen, was zu einer erheblichen Steigerung der Rechenleistung führen kann.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Erzählen sie was zur SW-Parallilität

A

Software-Parallelität hingegen bezieht sich auf die Organisation von Aufgaben innerhalb der Software, um sie parallel ausführen zu können. Dies wird in der Regel durch die Verwendung von Threads oder Prozessen erreicht, die unabhängig voneinander arbeiten und verschiedene Teile eines Problems gleichzeitig bearbeiten können.

Software-Parallelität erfordert spezielle Programmierkonzepte und -techniken, um Aufgaben zu identifizieren, die parallel ausgeführt werden können, und diese effizient zu koordinieren. Dies kann zum Beispiel durch die Verwendung von Thread-Pools, Synchronisationsmechanismen und parallelen Algorithmen erreicht werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

welche Darstellungsformen für parallele abläufe kennen sie?

A

Ablaufgraphen und Petrinetze

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

was ist die MMU und was ist ihre Rolle?

A

Die Memory Management Unit (MMU):

  • Physische Komponente im Computersystem( Teil des Prozessors oder eigenständige Einheit )
  • Verwaltet den Speicher und dessen Zugriff und übersetzt virtuelle Adressen in physische Adressen mithilfe von Seitentabellen.
  • Arbeitet eng mit dem Betriebssystem zusammen
  • Enthält Adressumsetzungstabellen, Cache-Speicher und Steuerlogik
  • Konfiguration und Funktionalität werden durch das Betriebssystem gesteuert
  • Betriebssystem legt Speicherzuordnung, Seitentabellen und Zugriffsrechte fest
  • Wichtige Rolle bei der Implementierung von virtuellem Speicher und Speichertrennung/-sicherheit in Betriebssystemen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

wo befindet sich der Program Counter und was ist seine Rolle?

A

Der PC ist Teil der CPU und speichert die Adresse des nächsten auszuführenden Befehls.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

wie arbeitet das Betriebssystem mit der MMU?

A

Betriebssystem: Festlegt Regeln für Speicherallokation und verwaltet den Speicher als Ganzes, inklusive Zuordnung von Speicherblöcken an Prozesse und Überwachung der Speichernutzung.

MMU (Memory Management Unit): Ermöglicht Adressumsetzung und Speicherzugriff, verwendet Datenstrukturen wie Seitentabellen und arbeitet im Einklang mit den Regeln des Betriebssystems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

welche Rolle hat der virtuelle Speicher?

A
  • Virtueller Speicher schafft eine Abstraktionsschicht zwischen physischem Speicher und Prozessen.
  • Prozesse haben normalerweise einen begrenzten adressierbaren Speicherbereich.
  • Virtueller Speicher erlaubt Prozessen, einen größeren Speicherbereich zu nutzen als der physische Speicher.
  • Der virtuelle Speicher wird in Seiten aufgeteilt, die bei Bedarf in den physischen Speicher geladen oder ausgelagert werden.
  • Virtueller Speicher ermöglicht die effiziente Nutzung des Speichers, da nicht alle Daten gleichzeitig im physischen Speicher vorhanden sein müssen.
  • Virtueller Speicher erweitert den adressierbaren Bereich und ermöglicht die illusionäre Nutzung eines größeren Speichers.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

wer verwendet virtuelle und wer verwendet physische Adressen?

A

Virtuelle Adressen werden von Prozessen verwendet, physische Adressen werden von der CPU und MMU verwendet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

erzählen sie was zum virtuellen Prozessmodell

A

Jeder Prozess hat den ganzen Rechner für sich zur Verfügung:
- Adressräume können frei belegt werden und
- sämtliche CPU Register können frei genutzt werden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

erzählen sie was zum reelen Prozessmodell

A
  • Das BS legt den Adressraum fest
  • die Rechenzeit wird durch das BS zugeteilt (Scheduler)
  • Jeder Prozess belegt ein Verwaltungsdatum in der Prozessverwaltung des Betriebssystems -> PCB
  • in der CPU sind nur Register
17
Q

was ist der PCB, Process Control Block

A

Datenblock im Kernadressbereich des Hauptspeichers

18
Q

erzählen sie was zu Prozessumschaltungen

A

sie sind aufwändiger als Threadumschaltungen

19
Q

erzählen sie was zum prinzipiellen Ablauf einer Prozessumschaltung

A

1) Kontextsicherung eines aktuellen Prozesses:
CPU-Registerinhalte ( SP, PC, Programm Status Wort ) im PCB des Prozesses sichern
2) Auswahl des nächsten Prozesses:
Je nach Scheduling Strategie
3) Kontextwiederherstellung für den neuen Prozess:
PCB-Inhalte in CPU-Register übertragen

20
Q

Beschreiben sie in einem Wort die Rolle der Systemaufrufe der Prozessstartformen:
create, fork, chain

Welches Prinzip nutzt fork?

A

Prozesserzeugung, Prozessvergabelung, Prozessverkettung

Das Prinzip der Vererbung

21
Q

Beschreiben sie in einem Wort die Rolle der Systemaufrufe der Prozesvereinigungsformen:
join - exit, wait - exit

A

Prozessvereinigung, Prozesstreffen

22
Q

Was fällt beim Vergleich von Kind und Elternprozessen auf?

A

sie sind identisch

23
Q

Beschreiben sie die Schritte 1-7

A
24
Q

Beschreiben sie einen Zombieprozess

A
25
Q

Beschreiben sie eine Verwaisung

A
26
Q

Was muss die Prozessverwaltung in den PCBs der Prozesse erkennen?

A

Die Zustände

27
Q

Welche zustände werden in den PCBs gespeichert?

A

1) Laufend (running)
2) Wartend / blockiert
3) Bereit / ready
4) inaktiv / Idle

28
Q

Beschreiben sie die Übergänge der Zustände im Prozessmodel (Laufend <=> Bereit) in den PCBs

A

1) Bereit -> Laufend
CPU frei, Scheduler hat diesen Prozess zugeteilt
2) Laufend -> Bereit
Prozess wird CPU entzogen je nach Scheduling

29
Q

Beschreiben sie die Übergänge der Zustände im Prozessmodel (Inaktiv/Idle => Bereit) && (Wartend => Bereit) in den PCBs

A

(Wartend => Bereit)
Ereignis aufgetreten, BS gibt Ressource frei
(Inaktiv/Idle => Bereit)
BS gibt Prozess frei

30
Q

Beschreiben sie die Übergänge der Zustände im Prozessmodel (Laufend => Inaktiv/Idle) && (Laufend=> Wartend ) in den PCBs

A

(Laufend=> Wartend )
warten auf ein Ereignis
(Laufend => Inaktiv/Idle)
BS blockeirt den Prozess

31
Q

Was gilt für das Grundmodell der Prozesszustände

A

1) Im Grundmodell existieren Modelle dauerhaft
2) # ablaufbereite Prozesse >= Prozessoren, im umgekehrten Fall kann der Zustand entfallen
3) Kommerzielle BS haben deutlich mehr Zustände

32
Q

Beschreiben Sie die wesentlichen Bestandteile der Prozessverwaltung (Warteschlangensystem)

A
33
Q

Beschreiben sie Threads nach dem Threadmodell

A

Parallele Abläufe innerhalb eines Prozesses
Abläufe im selben Adressraum
Sie können mit denselben Variablen arbeiten

34
Q

was ist scheneller ein Thread oder Prozesswechsel

A

Thread

35
Q

Beschreiben sie den Zusammenhang vom Prozess und Threads im Threadmodell

A

ein Prozess verwaltet Ressourcen (Adressen/Speicher, Register) für die enthaltenen threads
Die threads nutzen die gemeinsamen Ressourcen => synchr. Performance
führen den Code aus

36
Q

warum lohnen sich zusätzliche threads?

A

MMU muss nicht umprogrammiert werden. Inhalte werden über eine Threadtabelle bzw. threads gesichert

37
Q

Beschreiben sie den unterschied der user level threads und der kernel threads

A

UL-T: sichtbar für Programmieren vom user für gewünschte parallele Aktivitäten
KL-T: Threads die tatsächlich gesceduled werden, dem BS bekannt

38
Q

Beschreiben sie Multithreading Modelle

A

m:1
- m User-Level-Threads werden auf einen Kernel-Thread abgebildet.
- Thread-Verwaltung und -Synchronisation auf Benutzerebene durch Thread-Bibliothek.
- Betriebssystem kennt nur den Kernel-Thread.
- Hohe Thread-Schöpfungsgeschwindigkeit und effiziente Synchronisation.
- Blockierender User-Level-Thread kann parallele Ausführung anderer Threads blockieren.
———————————————————————————————–
1:1
- Jeder User-Level-Thread wird auf einen eigenen Kernel-Thread abgebildet.
- Betriebssystem verwaltet und plant jeden Kernel-Thread unabhängig.
- Jeder User-Level-Thread hat eigenen Kontext, kann parallel auf verschiedenen Kernen laufen.
- Effiziente parallele Ausführung, isolierte blockierende Threads.
- Höherer Kontextwechsel-Overhead im Vergleich zum m:1 Modell.
———————————————————————————————–
m>n
- m:n Multithreading: m User-Level-Threads auf n Kernel-Threads (m > n).
- Kombiniert Vorteile von m:1 und 1:1 Multithreading.
- Benutzerebene verwaltet Threads, Betriebssystem kontrolliert Kernel-Threads.
- Hohe Parallelität und Effizienz, parallele Ausführung auf verschiedenen Kernen.
- Isolierung blockierender Threads möglich, Fortsetzung anderer Threads.
- Komplexe Thread-Verwaltung zwischen Benutzer- und Kernebene.

39
Q

wovon ist die wahl eines multithreading modells abhängig?

A

Die Wahl des Multithreading-Modells hängt von den spezifischen Anforderungen der Anwendung, der Hardwarearchitektur und den Leistungskriterien ab. Jedes Modell hat seine eigenen Vor- und Nachteile in Bezug auf Thread-Schöpfungsgeschwindigkeit, Parallelität, Synchronisation und Overhead.