Prozesse und Threads
von: D.F.
von: D.F.
Kartei Details
Karten | 34 |
---|---|
Sprache | Deutsch |
Kategorie | Informatik |
Stufe | Universität |
Erstellt / Aktualisiert | 13.06.2016 / 29.04.2022 |
Lizenzierung | Keine Angabe |
Weblink |
https://card2brain.ch/box/prozesse_und_threads
|
Einbinden |
<iframe src="https://card2brain.ch/box/prozesse_und_threads/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Wie ist der Begriff Prozess definiert?
Prozess: ein Programm, das gerade in einem Rechner ausgeführt wird und alle zur Ausführung notwendigen Daten.
Es sollen mehrere Prozess gleichzeitig auf eienm Rechner laufen, dabei steht nur eine CPu zur verfügung. Wie lässt sich dies realisieren?
Das ganze läuft unter den Begriffen Multi-Tasking oder Multi-Processing. Eine mögliche Lösung ist es die Programme in rascher Folge abzuwechseln, um so die Illusion paraleller Ausführung zu erwecken.
Was muss beim Wechsel zwsichen zwei Prozessen berücksichtigt werden?
- Informationenen über den aktuellen Systemzustand müssen gespeichert werden (Register, usw...)
- Es muss ein effizientes und "gerechtes" Verfahren gefunden werden, nach dem die Reihenfolge der
auszuführenden Prozesse bestimmt wird (Scheduling)
Was ist das Kooperative Multitasking?
Kooperatives Multitasking: Die Prozesse stimmen sich untereinander ab.
Nachteil: Ist ein prozess eingensinning und geht nie in den sleep Betreibszustand, dann wird die komplette CPU durch diesen Prozess blockiert.
Was ist die alternative zum Kooperatives Multitasking?
Präemptives Multitasking: Das Betriebssystem entscheidet, welcher Prozess wann und wie lange läuft
Vorteil: Einzelner prozess kann die CPU nicht blockieren.
Nachteil: Zeitkritische Prozesse könnten unterbrochen werden, was dazu führen kann dass ihre Operationen nicht mehr rechtzeitig Ausgeführt werden.