:BETRIEBSSYSTEM: Prozesse und Threads| Betriebsmittel | Aufgaben eines Betriebssystems (Operating System) |
|---|---|
|
Namenskonvention: Aus Sicht des Betriebssystems fasst man:
unter dem Oberbegriff Betriebsmittel (Ressourcen) zusammen. |
|
Erweitert: Der Benutzer soll seine Programme von den Hardwareeigenschaften seines PC's "abstrahiert" schreiben können, d.h. es soll das Fehlverhalten eines Benutzerprogramms erkennen, dem Benutzer melden und dafür sorgen, dass die Bearbeitung anderer Programme reibungslos weitergeführt wird. -> Betriebssysteme sind komplexe Softwarepakete
Prozess: Mit konkreten Daten ablaufendes Programm, das vom Betriebssystem des PC als Einheit verwaltet wird.
Prozesse können sich im Ablauf gegenseitig beeinflussen, z.B. Zugriff auf gemeinsame Ressourcen.
Wie lautet die Prozess-Definition?
Warum muss das BS Prozesse verwalten?
ProzessstrukturbaumErzeugt ein Prozess einen oder mehrere andere Prozesse (sog. Kindprozesse) entsteht ein Prozessstrukturbaum.
Beispiele:
Der Prozess "Gärtnerei" erzeugt zwei Kindprozesse:
Baumpflanzen und Rasen mähen.
Baumpflanzen wiederum erzeugt
Beet richten, Baum eingraben, gießen.
Prozess A hat zwei Kindprozesse:
B und C
Prozess B erzeugt Kindprozesse
D,E und F.
Nennen Sie x Beispiele von Kindprozessen und dazugehörendem Vaterprozess auf Ihrem PC!
Unter Multitasking versteht man die Möglichkeit zwischen einzelnen Prozessen zu wechseln, auch wenn die Prozesse noch nicht beendet sind.
Problem-Beispiel (Interrupt): Beim Kochen klingelt das Telefon, das Telefon steht in einem anderen Raum.
Folge: der Prozess Kochen wird unterbrochen und der Prozess Telefonieren gestartet...
Problem-Beispiel (Polling): Gleichzeitiges Kochen von Abendessen und Brennen mehrerer CD's für Schüler (auch in getrennten Räumen)...
Home-Storry: Morgens Austehen und Duschen, Kaffewasser in Wasserkocher einfüllen und Kocher anschalten, anziehen, Kaffee überbrühen... Verzahnen von Prozessen, die Zeit brauchen...
Was ist zu tun, wenn zwischen Prozessen gewechselt wird? Welche Auswirkung hat das auf die Gesammtzeit zur Fertigstellung der Prozesse?
"Leichtgewichtige Prozesse", sog. Threads (dt. Programmfaden). Mit deren Hilfe können mehrere Teile eines Prozesses gleichzeitig bearbeitet werden. Kommunikation der Threads untereinander erfolgt über den Speicher des Prozesses, der allen Threads gemeinsam ist, nach bestimmten Modellen.
| Prozess | Thread |
|---|---|
| Prozess = mit konkreten Daten ablaufendes Programm Instrument zum Ausführen eines Programms |
Eigenständige Programmfragmente In einem Prozess können mehrere Threads ablaufen |
| Zugriff auf getrennte Adressräume | Zugriff auf dieselben Variablen möglich |
| Multitasking: mehrere Programme / Prozesse laufen (quasi-) parallel ab | Multithreading: mehrere Threads laufen parallel innerhalb eines Programms ab |
Warum "kostet" der Wechsel zwischen Threads weniger als zwischen Prozessen?
Bei welchen Problemen ist Multithreading besonders effektiv?
Worin besteht der Unterschied zwischen einem Prozess und einem Thread?
Tatsächliche, gleichzeitige Ausführung mit beispielsweise drei CPU's:
Nennen Sie BS, die mehrere Prozessoren verwalten können!
Nennen Sie BS, die nur einen Prozessor verwalten können!
Verzahnte Ausführung mit einem einzelnen Prozessor (Scheduling)Aufteilung durch den sog. Scheduler des Betriebssystems über Scheduling Algorithmen.
Ein einzelner Prozessor kann zwischen mehreren Prozessen aufgeteilt werden. Diese Prozesse sind gekoppelt, da sie gemeinsame Betriebsmittel benutzen.
Zustände, in denen sich ein Prozess befinden kann:
Oft müssen Prozesse miteinander kommunizieren (interagieren); z.B. kann ein Prozess Ausgaben erzeugen, die ein anderer als Eingabe benutzt.
Prozesskommunikationsprobleme! (Inter-Prozess-Kommunikation notwendig!)
![]() |
|
Nennen Sie Beispiele für blockierte Prozesse, auf welches Ereignis wird jeweils gewartet?
Schwierigkeiten:
Daher Unterbrechungssignal (50 - 60 Hertz, oder beliebiger Wert) zur Betriebssystemkontrolle und weiteren Entscheidung: soll der gerade ausgeführte Prozess weiter ausgeführt werden oder nicht?
Wie nennt man ein BS, das eine definierte Antwortzeit garantiert (Abkürzung und Begriff)?
de.wikipedia.org/wiki/Philosophenproblem
Wann entsteht die Situation der Verklemmung von Prozessen (DeadLock)?
Prozesse fordern nacheinander ihre einzelnen Betriebsmittel vom BS und mehrere Prozesse benötigen dieselben Betriebsmittel. Modell(-vorstellung): Straßenkreuzung.
Strategien: über Algorithmen oder Ignorieren !! (Anwender beendet!!)
Anmerkung: Prozesswechsel bedeutet erheblichen, zeitlichen Aufwand.
Warum bedeutet Prozesswechsel erheblichen Aufwand?