Kapitel 2: Prozess- und Prozessorverwaltung
48 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Welcher Zustand beschreibt einen Prozess, der gerade ausgeführt wird?

  • running (correct)
  • ready
  • blocked
  • created

Ein 'blocked'-Prozess wartet auf eine Rechenoperation.

False (B)

Was ist ein Process Control Block (PCB)?

Eine Datenstruktur, die alle notwendigen Informationen über einen Prozess speichert.

Wenn ein Prozess beendet ist, aber nicht gelöscht wurde, ist er im Zustand __________.

<p>terminated</p> Signup and view all the answers

Ordne die Zustände den richtigen Beschreibungen zu:

<p>created = Prozess wurde erzeugt ready = Prozess ist rechenwillig blocked = Prozess wartet auf eine Ressource terminated = Prozess ist beendet</p> Signup and view all the answers

Welcher Übergang wird verwendet, wenn einem laufenden Prozess die CPU entzogen wird?

<p>resign (C)</p> Signup and view all the answers

Der Zustand 'ready' bedeutet, dass ein Prozess blockiert ist und nicht weiter ausgeführt werden kann.

<p>False (B)</p> Signup and view all the answers

Was passiert mit einem Prozess, wenn er in den 'blocked'-Zustand wechselt?

<p>Er wartet auf eine Eingabe oder Ressource.</p> Signup and view all the answers

Welche Art von Prozessen interagiert direkt mit dem Benutzer?

<p>Vordergrundprozesse (C)</p> Signup and view all the answers

Dämonen sind Prozesse, die nur während des Hochfahrens des Systems aktiv sind.

<p>False (B)</p> Signup and view all the answers

Was erzeugt ein Kindprozess?

<p>Ein Elternprozess.</p> Signup and view all the answers

Der Dämon _____ ist verantwortlich für das Planen von Tasks.

<p>crond</p> Signup and view all the answers

Ordne die folgenden Dämonen ihren Funktionen zu:

<p>sshd = Erlaubt Remote-Login crond = Plant Tasks httpd = Beantwortet Webanfragen lpd = Verwaltet Druckeraufträge</p> Signup and view all the answers

Was geschieht, wenn ein neuer Prozess von einem Elternprozess erstellt wird?

<p>Der Kindprozess ist eine exakte Kopie des Elternprozesses. (D)</p> Signup and view all the answers

Batch-Jobs benötigen eine Benutzerinteraktion, um ausgeführt zu werden.

<p>False (B)</p> Signup and view all the answers

Nenne zwei Beispiele für Dämonen.

<p>sshd, httpd</p> Signup and view all the answers

Was gibt der Program Counter an?

<p>Den aktuellen Speicherort im Programm (C)</p> Signup and view all the answers

Die Prozesstabellen speichern nur die Informationen über wartende Prozesse.

<p>False (B)</p> Signup and view all the answers

Was wird im Process Control Block (PCB) gespeichert?

<p>Informationen über den Zustand, die Registerinhalte und die Zugriffsrechte eines Prozesses.</p> Signup and view all the answers

Der ____ speichert die Informationen über alle vom Prozess geöffneten Dateideskriptoren.

<p>Process Control Block</p> Signup and view all the answers

Ordne die Begriffe den entsprechenden Beschreibungen zu:

<p>Prozess-ID (PID) = Eindeutige Identifikation eines Prozesses Parent PID (PPID) = ID des übergeordneten Prozesses User ID (UID) = Identifikation des Benutzers, dem der Prozess gehört Group ID (GID) = Identifikation der Gruppe, zu der der Benutzer gehört</p> Signup and view all the answers

Welcher der folgenden Punkte ist kein Bestandteil des PCB?

<p>Speicherort der Festplatte (C)</p> Signup and view all the answers

Die Run Queue enthält die PCBs der inaktiven Prozesse.

<p>False (B)</p> Signup and view all the answers

Wie werden die PCBs in den Prozesstabellen gespeichert?

<p>Durch einfach verkettete Listen.</p> Signup and view all the answers

Was passiert mit einem Kindprozess, wenn er terminiert?

<p>Sein Status wird in den PCB geschrieben und der Speicher freigegeben. (A)</p> Signup and view all the answers

Ein Waisenprozess entsteht, wenn der Elternprozess vor dem Kindprozess terminiert.

<p>True (A)</p> Signup and view all the answers

Was ist die PPID eines Waisenprozesses?

<p>1</p> Signup and view all the answers

Ein Kinderprozess kann die _ des Elternprozesses erben.

<p>PPID</p> Signup and view all the answers

Ordnen Sie die folgenden Begriffe ihren Beschreibungen zu:

<p>Waisenprozess = Ein Prozess, dessen Elternprozess beendet wurde Dämon = Ein Prozess, der im Hintergrund läuft und unabhängig ist PPID = Die Prozess-ID des Elternprozesses PCB = Process Control Block, der den Status des Prozesses speichert</p> Signup and view all the answers

Was blockieren die Funktionen wait() und waitpid()?

<p>Sie blockieren den Aufrufer bis ein Kindprozess beendet ist. (B)</p> Signup and view all the answers

Der Prozesstablleeintrag eines Kindprozesses wird sofort gelöscht, wenn der Kindprozess terminiert.

<p>False (B)</p> Signup and view all the answers

Wie wird ein Dämonenprozess erzeugt?

<p>Durch Lösen der Group-ID und User-ID sowie Schließen aller offenen Dateideskriptoren.</p> Signup and view all the answers

Was gibt der Systemaufruf fork() im Kindprozess zurück?

<p>Den Wert 0 (C)</p> Signup and view all the answers

Der Kindprozess wird immer eine Instanz eines anderen Programmes sein.

<p>False (B)</p> Signup and view all the answers

Wie kann die eigene PID im Prozess erfragt werden?

<p>getpid()</p> Signup and view all the answers

Der Aufruf von _______ wird verwendet, um den Adressraum des Kindprozesses zu überschreiben.

<p>exec()</p> Signup and view all the answers

Ordnen Sie die folgenden Funktionen den entsprechenden Beschreibungen zu:

<p>fork() = Erzeugt einen neuen Prozess getpid() = Gibt die PID des aktuellen Prozesses zurück getppid() = Gibt die PID des Elternprozesses zurück exec() = Lädt ein neues Programm und überschreibt den Adressraum</p> Signup and view all the answers

Was ist das Hauptproblem bei der vollständigen Kopie des Speichers während der Prozesserzeugung?

<p>Es ist zeitaufwendig und führt zu hohen Latenzen. (A)</p> Signup and view all the answers

Copy-on-write ermöglicht es, dass Speichersegmente bei Bedarf dupliziert werden.

<p>True (A)</p> Signup and view all the answers

Was passiert mit dem Adressraum des Kindprozesses nach dem Aufruf von exec()?

<p>Der Adressraum wird überschrieben.</p> Signup and view all the answers

Welche Aussage beschreibt die SRTN-Strategie?

<p>Sie führt oft zu einer hohen Anzahl von Kontextwechseln. (B), Sie berücksichtigt die benötigte Rechenzeit der Prozesse im Voraus. (D)</p> Signup and view all the answers

Die Round Robin Strategie ist eine nicht-preemptive Strategie.

<p>False (B)</p> Signup and view all the answers

Was passiert, wenn das Zeitquantum q zu kurz gewählt wird?

<p>Es sind viele Kontextwechsel nötig.</p> Signup and view all the answers

In der Round Robin Strategie werden neue Prozesse am Ende der ______ hinzugefügt.

<p>Queue</p> Signup and view all the answers

Ordne die folgenden Prozessstrategien ihren Typen zu:

<p>SJF = Nicht-preemptiv SRTN = Preemptiv Round Robin = Preemptiv FIFO = Nicht-preemptiv</p> Signup and view all the answers

Was ist ein Nachteil einer zu langen Wahl des Zeitquantums q in der Round Robin Strategie?

<p>Das System wird weniger reaktionsfähig. (B)</p> Signup and view all the answers

Die Wartezeit eines Prozesses ist die Zeit, die er bereits in der Run-Queue verbracht hat.

<p>False (B)</p> Signup and view all the answers

Was geschieht, wenn ein Prozess in der Round Robin Strategie blockiert oder terminiert?

<p>Der nächste Prozess wird aus der Run-Queue ausgewählt.</p> Signup and view all the answers

Flashcards

Bereit (ready)

Ein Prozess, der bereit ist, ausgeführt zu werden, aber derzeit keine CPU-Zeit zugewiesen bekommen hat.

Ausgeführt (running)

Ein Prozess, der gerade von der CPU ausgeführt wird.

Blockiert (blocked)

Ein Prozess, der nicht ausgeführt werden kann, weil er auf eine Ressource oder ein Ereignis wartet.

Beendet (terminated)

Ein Prozess, der beendet wurde, aber noch nicht aus dem Speicher entfernt wurde.

Signup and view all the flashcards

Zuweisen (assign)

Ein Prozess wird mit einer neuen Aufgabe versehen.

Signup and view all the flashcards

Freigeben (resign)

Ein Prozess wird angehalten, die CPU wird ihm entzogen.

Signup and view all the flashcards

Blockieren (block)

Ein Prozess wartet auf ein Ereignis oder eine Ressource, z.B. eine Eingabe oder eine Datei.

Signup and view all the flashcards

Wieder bereit (ready)

Ein zuvor blockierter Prozess ist wieder bereit, ausgeführt zu werden.

Signup and view all the flashcards

Vordergrundprozess

Ein Prozess, der direkt mit dem Benutzer interagiert.

Signup and view all the flashcards

Hintergrundprozess

Ein Prozess, der im Hintergrund Systemfunktionen ausführt und nicht direkt mit dem Benutzer interagiert.

Signup and view all the flashcards

Dämon

Ein Hintergrundprozess, der vom Booten bis zum Herunterfahren des Systems aktiv ist und wichtige Aufgaben ausführt.

Signup and view all the flashcards

Kindprozess

Ein Prozess, der von einem anderen Prozess gestartet wird.

Signup and view all the flashcards

Elternprozess

Ein Prozess, der einen Kindprozess erzeugt.

Signup and view all the flashcards

Startprozess

Ein Prozess, der bei der Systeminitialisierung automatisch gestartet wird.

Signup and view all the flashcards

Init-Prozess

Der Prozess, der beim Hochfahren des Betriebssystems als erster gestartet wird.

Signup and view all the flashcards

Prozesserzeugung

Die Erstellung eines neuen Prozesses durch das Betriebssystem.

Signup and view all the flashcards

fork()

Dieser Prozess ist das Ergebnis des Aufrufs von fork(). Es wird ein neuer Prozess mit einem eigenen Adressraum und einer Kopie des Elternprozesses erstellt.

Signup and view all the flashcards

PID

Der Elternprozess erhält die PID des neu erzeugten Kindprozesses als Rückgabewert von fork().

Signup and view all the flashcards

Rückgabewert von fork() im Kindprozess

Der neu erzeugte Kindprozess erhält den Wert 0 als Rückgabewert von fork().

Signup and view all the flashcards

exec()

Der neue Prozess, der durch fork() erstellt wurde, ist zunächst immer eine Kopie des Elternprozesses. Um eine andere Anwendung zu laden, muss exec() verwendet werden.

Signup and view all the flashcards

Copy-on-write

Ein Mechanismus, der Kopien von Seiten des virtuellen Speichers nur dann tatsächlich erzeugt, wenn sie tatsächlich geändert werden. Dies vermeidet unnötige Kopien, was die Leistung verbessert.

Signup and view all the flashcards

Prozesstabelle

Eine Tabelle, die alle aktiven Prozesse im System auflistet. Jeder Prozess hat einen eigenen Eintrag in dieser Tabelle.

Signup and view all the flashcards

Was ist ein Process Control Block (PCB)?

Ein Process Control Block (PCB) ist eine Datenstruktur, die alle wichtigen Informationen über einen Prozess speichert. Diese Informationen ermöglichen es dem Betriebssystem, den Prozess zu verwalten und wiederherzustellen.

Signup and view all the flashcards

Welche Register werden im PCB gespeichert?

Im PCB werden die Werte der Register des Prozesses gespeichert, z.B. den Program Counter, den Stack Pointer und die Statusregister. Diese Werte sind wichtig, um den Prozess bei der Wiederaufnahme an der Stelle fortzusetzen, an der er unterbrochen wurde.

Signup and view all the flashcards

Welche Informationen über den Speicher werden im PCB gespeichert?

Der PCB enthält auch Informationen über die vom Prozess belegten Speicherbereiche. Die Zeiger auf die Stack-, Code- und Datensegmente sind wichtige Informationen, die das Betriebssystem benötigt, um den Prozess im Speicher zu verwalten.

Signup and view all the flashcards

Wie werden PCBs im Betriebssystem gespeichert?

Das Betriebssystem speichert alle PCBs der aktiven Prozesse in einer Tabellenstruktur, der sogenannten Prozess Tabelle. Dadurch kann es schnell auf die Informationen über jeden Prozess zugreifen.

Signup and view all the flashcards

Was ist der Unterschied zwischen Run Queue und Wait Queue?

Die Run Queue enthält die PCBs aller Prozesse, die sich im Zustand 'ready' befinden, d.h. bereit sind, ausgeführt zu werden. Die Wait Queue enthält die PCBs der Prozesse, die auf ein Ereignis warten, bevor sie weiter ausgeführt werden können.

Signup and view all the flashcards

Was passiert, wenn ein Prozess unterbrochen wird?

Ein Prozess wird vom Betriebssystem unterbrochen, wenn ein anderes Programm ausgeführt werden soll. Der aktuelle Zustand des unterbrochenen Prozesses wird im PCB gespeichert. So kann er später mit den gleichen Werten fortgesetzt werden.

Signup and view all the flashcards

Was ist der Dispatcher?

Der Dispatcher ist der Teil des Betriebssystems, der entscheidet, welcher Prozess als Nächstes ausgeführt wird. Er wählt den Prozess aus der Run Queue aus und lädt ihn in den Hauptspeicher.

Signup and view all the flashcards

Was ist die Prozessidentifikation (PID)?

Die Prozessidentifikation (PID) wird vom Betriebssystem vergeben und ist eine eindeutige Kennung für jeden Prozess. Diese Kennung ist wichtig, um die Prozesse im Betriebssystem zu unterscheiden.

Signup and view all the flashcards

Waisen-Prozess

Ein Prozess, dessen Elternprozess beendet wurde, bevor der Kindprozess seinen Ablauf beendete. Der init-Prozess übernimmt die Verantwortung für den Waisenprozess.

Signup and view all the flashcards

Dämon-Prozess

Ein Prozess, der im Hintergrund läuft und unabhängig vom ursprünglichen Erzeuger ist. Oft verwendet für Server oder Dienste.

Signup and view all the flashcards

SRTN (Shortest Remaining Time Next)

Eine CPU-Verteilungsstrategie, bei der der Prozess mit der kürzesten verbleibenden Rechenzeit zuerst ausgeführt wird. Dieser Algorithmus minimiert die durchschnittliche Wartezeit der Prozesse.

Signup and view all the flashcards

Prozess-Verhungern

Ein Problem, bei dem ein Prozess aufgrund von Priorität oder ressourcenbedingten Einschränkungen unendlich lange auf die Ausführung wartet.

Signup and view all the flashcards

Wartezeit (erste Ausführung)

Die Zeit, die ein Prozess wartet, bis er die CPU zum ersten Mal erhält.

Signup and view all the flashcards

Rechenzeit

Die Zeit, die ein Prozess effektiv auf der CPU verbringt, um Aufgaben auszuführen.

Signup and view all the flashcards

Ausführungszeit

Die Zeit, die ein Prozess benötigt, um eine Aufgabe zu erledigen, von der ersten bis zur letzten Ausführung, ungeachtet von Wartezeiten.

Signup and view all the flashcards

Kontextwechsel

Die Zeit, die benötigt wird, um den Kontext von einem Prozess zu einem anderen zu wechseln, in dem die CPU-Zustände, Register und andere Informationen gespeichert werden.

Signup and view all the flashcards

Round Robin (Zeitscheibenstrategie)

Ein CPU-Verteilungsalgorithmus, bei dem die Prozesse in einer Queue (FIFO) gewartet werden, bis es ihre Ausführungszeit (Zeitquantum) erreicht.

Signup and view all the flashcards

Zeitquantum

Die Zeit, die ein Prozess mit der CPU arbeiten darf, bevor er wieder in die Warteschlange gestellt wird.

Signup and view all the flashcards

Study Notes

Kapitel 2: Prozess- und Prozessorverwaltung

  • Einleitung: Kapitel 1 stellte grundlegende Prozesskonzepte vor.

  • Programm: Eine Folge von Maschinenbefehlen (binärer Maschinencode).

  • Prozess: Ein auszuführendes Programm. Kann mehrere Instanzen desselben Programms beinhalten.

  • System: Besteht aus einer Menge von Prozessen.

  • Isolation: Prozesse müssen voneinander isoliert sein, um gegenseitige Beeinflussung zu verhindern.

  • Ressourcenverwaltung: Das Betriebssystem verwaltet Ressourcen, die Prozesse benötigen, insbesondere:

    • Prozessorzeit (abwechselnde Nutzung)
    • Speicherplatz
    • Zugriff auf Eingabe/Ausgabegeräte und Dateien.

Prozess- vs. Prozessorverwaltung

  • Multiprogramming: Mehrere Prozesse laufen gleichzeitig.

  • Parallelität: Prozesse werden abgewechselt ausgeführt, um gleichzeitig laufend zu wirken, wenn der Prozessor nur einen Rechenkern hat.

  • Multiprogramming: Optimiert die Rechenzeit durch die Nutzung von Wartezeiten. Prozesse können z. B. auf Eingabe, Ressourcenfreigaben oder andere Prozesse warten.

  • Multithreading: Ein Prozess kann mehrere Threads (Ablaufpfade) haben, welche parallel (bzw. quasi-parallel) laufen können. Ein einzelner Thread hat einen eigenen Befehlszähler, eigene Registerwerte und einen eigenen Stack.

Implementierung von Prozessen

  • Prozessadressraum:

  • Code-Segment: Enthalten ausführbarer Maschinencode beginnt bei der Adresse null.

  • Programmzähler: Zeigt auf die nächste auszuführende Codezeile.

  • Data-Segment:

    • Globale Variablen und Konstanten.
  • Heap: Dynamisch belegte Speicherbereiche

  • Stack: Funktionsaufrufe und lokale Variablen. StackPointer zeigt auf das letzte Element im Stack. BasePointer zeigt auf den Beginn des aktuellen Funktionsrahmens.

  • Prozesszustände:

    • created: Prozess erzeugt
    • ready: Prozess ist rechenbereit
    • running: Prozess wird ausgeführt
    • blocked: Prozess wartet auf Ereignisse
    • terminated: Prozess beendet

Datenstrukturen zur Prozessverwaltung (PCBs)

  • Process Control Blocks (PCBs): Speichern Informationen zu jedem Prozess.
  • Prozessinformationen: Prozesskontext, Zustand, Daten für Prozessverwaltung, Speicherverwaltung, Dateiverwaltung.

Erzeugung von Prozessen

  • Auslöser: Initialisierung des Systems, Benutzerinteraktion (z. B. Doppelklick), andere Prozesse.
  • Elternprozess: Generiert Kindprozesse.
  • Kindprozess: Exakte Kopie des Elternprozesses und bekommt seinen eigenen Adressraum.
  • Copy-on-Write: Speicher wird nur kopiert, wenn ein Prozess versucht, ihn zu ändern.

Termination von Prozessen

  • Ursachen: Normale Beendigung (exit()), vorzeitige Beendigung (Fehler), Termination durch das Betriebssystem, Termination durch andere Prozesse.
  • Rückgabewert: Normaler Abschluss (0), Fehler.
  • Zombie-Prozess: Terminierter Kindprozess, dessen Status noch vom Elternprozess abgefragt werden muss.

Prozesshierachie

  • Baumstruktur: Prozesse sind in einer Hierarchie angeordnet.
  • Wurzelprozess: init. Es ist der erste Prozess im System und hat die PID 1.
  • Prozessgruppen:
  • Prozessgruppe: Teilbaum in der Hierarchie.
  • Prozessgruppentrainer: Wurzel eines Prozessbaums, dessen PID = Prozessgruppe

User-Level Threads

  • Funktionsprinzip: Multithreading im User-Space (Programm Bibliothek), kein Kernel-Einbezug.
  • Vorteile: Geschwindigkeitsvorteil bei Kontextwechseln, unabhängig vom Betriebssystem.
  • Nachteile: Blockiert ein Thread, blockiert der ganze Prozess. Keine echte Parallelität bei Mehrkern-Prozessoren.

Kernel-Level Threads

  • Funktionsprinzip: Multithreading im Kernel-Space. Der Kernel verwaltet Threads.
  • Vorteile: Echte Parallelität (wenn Mehrkern-Prozessor), Unterbrechungsfähigkeit von Threads.
  • Nachteile: Kontextwechsel sind etwas aufwendiger als User-Level Threads.

Hybride Implementierung

  • Funktionsprinzip: Kombination von User-level und Kernel-level Threads. Die Komplexität ist variabel.

Schedulingstrategien

  • First-Come, First-Served (FCFS): Prozesse werden in der Reihenfolge ihrer Ankunft abgearbeitet.
  • Shortest Job First (SJF): Prozess mit der kürzesten verbleibenden Ausführungszeit wird zuerst abgearbeitet.
  • Round Robin (RR): Jedes Prozess erhält ein Zeitquantum q. Alle Prozesse werden reihum abgearbeitet. Wenn ein Prozess sein Zeitquantum vollendet, oder blockiert, dann wird der nächste abgearbeitet.
  • Priority Scheduling: Prozesse werden nach Priorität abgearbeitet. Prozesse mit höherer Priorität bekommen die CPU zuerst.
  • Earliest Deadline First (EDF): Prozesse mit der kürzesten Deadline bekommen die CPU zuerst.
  • Rate Monotonic Scheduling (RMS): Schedulingstrategie für Echtzeitsysteme. Periods sind zugeordnet.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

Dieses Quiz behandelt die Konzepte der Prozess- und Prozessorverwaltung in Betriebssystemen. Es erklärt die Grundlagen von Prozessen, Multiprogramming und Ressourcenverwaltung. Testen Sie Ihr Wissen über diese wichtigen Themen der Informatik.

More Like This

Operating Systems Process Management
14 questions
Operating Systems: Process Management
13 questions
Operating Systems Process Management
16 questions
Use Quizgecko on...
Browser
Browser