Kap.3 : Prozesse

Description

Prozesse
Johannes Müller
Flashcards by Johannes Müller, updated more than 1 year ago
Johannes Müller
Created by Johannes Müller about 5 years ago
16
0

Resource summary

Question Answer
Was ist ein Prozess? Ein Prozess ist ein Programm in Ausführung Programm • Datei mit ausführbarem Code • passiv, statisch, liegt auf der Festplatte / Netzwerk usw. Prozess • muss (zumindest teilweise) in den Arbeitsspeicher geladen werden • Programmcode wird gerade ausgeführt • aktiv
Wie können Prozesse zusammenarbeiten? Und erklären Sie die Ziele davon • Inter-Prozess-Kommunikation (IPC) • Ziele: o Informationen teilen o Performance (Arbeitsteilung) o Modularität o Einfachere Programmierung, blockieren vermeiden
Nennen und beschreiben Sie die verschiedenen Zustände eines Prozesses • Neu (new) o Gerade neu erzeugt • Laufend (running) o Code wird ausgeführt • Wartend (waiting) o wartet z.B. auf I/O, Tastatur usw. • Bereit (ready) o kann ausgeführt werden, wartet auf den Prozessor • Beendet (terminated)
Erklären Sie den Vorgang Kontextwechsel zwischen 2 Prozessen • Prozess wird unterbrochen • Hardware-Kontext wird gesichert à PCB o Programmzähler, Speicher-Mapping, CPU-Register • Statusänderung im PCB • Hardware-Kontext eines anderen Prozesses wird aus dem PCB geladen • anderer Prozess läuft
Erklären Sie den Unterschied zwischen Task-Parallelism und Data-Parallelism • Aufgaben-Parallelität (Task-Parallelism) o Verschiedene Teilaufgaben einer Aufgabe werden an mehreren Threads verteilt und parallel ausgeführt • Daten-Parallelität (Data-Parallelism) o Daten werden an mehreren Prozessen / Threads aufgeteilt o Gleiche Berechnungen laufen parallel
Wie kann es zu einer Prozessunterbrechung kommen, geben sie hierzu drei Möglichkeiten an. 1. Timeout 2. System Call oder Interrupt 3. Warten auf I/O
Welche Bestandteile hat ein Prozess? Jeder Prozess hat i.d.R. seinen • eigenen (virtuellen) Prozessor • Programm Counter, Register usw. • eigenen (virtuellen) Speicher • abgeschottet von anderen Prozessen • eigene Variablen und Daten • Code
Welche Bestandteile hat ein Prozess? Teil2 Programmcode • Text Aktueller Kontext • Programmzähler (zeigt auf nächsten Befehl) • Inhalte der Prozessorregister • Speicherbereich Stack • Lokale Variablen, Return-Adressen, Parameter Funktionsaufrufe Heap • dynamisch reservierter Speicher (z.B. malloc) Daten • Globale Variablen
Der Kernel verwaltet die Prozesse indem er sie in einer Tabelle verwaltet, der sogenannten PCB (Prozesskontrollblock) Welches Informationen stehen dort je PRozess? Status des Prozesses (z.B. waiting, running usw.) • Prozess-Identifier (pid), Elternprozess, Kinder • Programmzähler • CPU-Register • Mapping Speicherbereich des Prozesses --> phys. Speicher oder ausgelagert • CPU Scheduling Informationen • I/O Informationen à offene Dateien, I/O Geräte • Accounting-Informationen
Was versteht man in Betriebssystemen unter einem Zombie und einem Waisen? Zombie: Kindprozess ist beendet, aber Elternprozess hat nicht wait aufgerufen. wait() wird vom Eltern Prozess verwendet um Kind Prozesse ordnungsgemäß zu beenden Kindprozess Informationen sind weiterhin im PCB vorhanden Waise: Elternprozesse sind beendet, aber Kindprozesse laufen noch. Elternprozess hat sich verabschiedet(z.B. Fehler) ohne Kinder vorher einzusammeln mit wait()
dd
Was macht der Prozess Scheduler und was sind seine Ziele? Prozess-Scheduler verwaltet Ablaufplanung • Scheduler entscheidet, welcher Prozess die CPU bekommt • Verschiedene Strategien • Es gibt mehrere Scheduler Ziele: • Faire Ressourcenverteilung • CPU-Auslastung • Schnelle Reaktion des Systems auf User-Eingaben • Nebenläufigkeit, Multitasking
Nennen sie drei Typen von Wartelisten des Scheduler? - Job Queue--> Alle Prozesse - Ready Queue --> Prozesse die ausgeführt werden können - Device Queue • Warteliste für jedes Gerät • Prozesse, die auf das Gerät warten • Z.B. auf Daten von der Platte usw
Welche Scheduler-Typen gibt es? - Short-Term Scheduler (CPU-Scheduler) • einem Prozess den Prozessor zuweisen / entziehen - Medium-Term Scheduler • entscheidet, welche Speicherbereiche von Prozessen auf die Festplatte ausgelagert/eingelagert werden (swapping) - Long-Term Scheduler • verwaltet die ready queue • Ziel --> Guter Prozess-Mix • Zwischen CPU-lastigen und I/O-lastigen Prozessen
Was macht fork() was macht exec() ? • fork() -->Prozesskopie (inkl. Code!), „Kind“ • exec() --> Code des neuen Prozesses wird durch neues Programm ersetzt • Dadurch: Prozessbaum
Was macht exit() und abort() • exit() --> Prozess beendet sich selbst (ist fertig...) • abort() --> Prozess wird „gewaltsam“ beendet (OS oder Eltern)
Anwendung = 1 Prozess? • Nein, eine Anwendung kann mehrere Prozesse starten • Z.B. Chrome: • Prozess für User Interface, I/O • Prozess für HTML-Rendering • Prozesse für Plug-Ins Zusammenarbeit sinnvoll? --> JA
Wie können diese Prozesse zusammenarbeiten? • Inter-Prozess-Kommunikation! (IPC) Arten der Prozess-Kommunikation (interprocess communication) • über einen gemeinsamen Speicherbereich (shared memory) • Einrichtung durch Kernel • Verwaltung durch User-Programm (Prozesse) • Herausforderung: Synchronisierung (s. Kap. 5) • über Nachrichten • Einrichtung und Verwaltung durch Kernel
Ziele der Kooperation von Prozessen? • Informationen teilen • Performance (Arbeitsteilung) • Modularität • Einfachere Programmierung, blockieren vermeiden
Show full summary Hide full summary

Similar

Aufgaben der psychologischen Beratung (PB)
Silvia Z.
Allgemeines
Patricia Steves
Grundlagen Betriebssysteme
G. E.
Prozesse der Wahrnehmung
Sebastian Ayernschmalz
Prozesse
tanjabruecker
Study Plan
mlanders
Module C4: Chemical Patterns
remandsonic
Plato's philosophy
Sumahlor
Topic 1 Quiz - Elements & The Periodic Table
Musicdudejoe
GCSE History – The early years and the Weimar Republic 1918-1923
Ben C
Forces and motion
Catarina Borges