BSA 1.SA

Aufgaben 1. Schulaufgabe

Aufgaben 1. Schulaufgabe


P. A.
Diese Lernkarten behandeln auf Berufslehre-Niveau die Grundlagen des Prozessmanagements in Betriebssystemen, mit Fokus auf Scheduling-Algorithmen wie SJF, FCFS und Round Robin, sowie auf die Unterschiede zwischen Einprogrammbetrieb und Mehrprogrammbetrieb. Sie erklären die Rollen von Scheduler und Dispatcher, die Bedeutung von CPU-Auslastung, Wartezeiten und Verweilzeiten, und die verschiedenen Betriebsarten wie Batchverarbeitung, Dialogbetrieb und Echtzeit. Ideal für IT-Auszubildende, die ein tieferes Verständnis der Prozessverwaltung und Ressourcenallokation in Betriebssystemen erlangen möchten.
Cartes-fiches
35
Utilisateurs
2
Langue
Allemand
Catégorie
Informatique
Niveau
Apprentissage
Créé / Mis à jour
20.11.2014 / 20.11.2014

Cartes-fiches

Was ist ein Prozess und was beinhaltet er?

Ein Programm zur Laufzeit auch Task genannt.

Er besteht aus:

  • Codesegment (CS) – Programmcode (Rezept)
  • Datensegment (DS) – global Variablen (Heap)
  • Stacksegment (SS) – ocale Variablen (z.B. i)
  • gespeicherten Prozessor Register Satz
  • Geöffnete Dateien (z.B. seinem Programmcode auf Festplatten)

Was ist ein Programm?

Statische Verfahrensvorschrift für die Verarbeitung.

Was bildet jeder Prozess?

eine unabhängige Einheit mit:

  1. eigenem Kontext
  2. eigenem Befehlszähler (Program Counter = PC)
  3. einem internen Zustand

Welche Instanzen durchläuft ein Programm?

  1. Prozessor wird zugeordnet
  2. dynamische Folge von Aktionen
  3. Zuständigkeitsänderungen

Welche Ereignisse können einen Prozess erzeugen?

  • Initialisierung des Systems
  • Systemaufruf zum Erzeugen eines Prozesses durch einen anderen laufenden Prozess
  • Benutzeranfrage, einen neuen Prozess zu erzeugen
  • Initiierung einer Stapelverarbeitung (Batch-Job)

Was passiert bei allen Prozessen bei der erzeugung?

  • ein bestehender Prozess (Vater) einen Systemaufruf zur Erzeugung eines neuen Prozesses (Kind) ausführt
  • der Kindprozess erhält eine Kopie der Prozessumgebung des Vaters
  • nach der Prozesserzeugung haben Vater- und Kindprozess getrennte Adressräume

Welche unterschiedlichen Betriebsarten gibt es bei der Abarbeitung von Programmen?

  1. Einprogrammbetrieb
  2. Mehrprogrammbetrieb

Beschreiben Sie den Einprogrammbetrieb!

Große Leerlaufphasen der CPU durch Warten auf I/O (Input / Output), z.B. Warten auf Benutzereingabe

 

Beschreiben Sie den Mehrprogrammbetrieb!

  • „Suspendierung“ eines Programms / Jobs ; Abarbeiten eines anderen

  • CPU wechselt von Programm zu Programm, bzw. von Prozess zu Prozess

  • Jeder Prozess (Programm) rechnet dabei im Bereich zwischen 1 bis 100 Millisekunden (ms)

  • Zu jedem Zeitpunkt läuft nur ein Programm auf CPU

    • Durch schnelles Umschalten (Kontextwechsel) entsteht der Eindruck von Parallelität, in Wirklichkeit aber nur   Pseudoparallelität
    • Echte Parallelität nur in Multiprozessorsystemen /MultiCore-CPU

Welche Prozessspezifischen Informationen verwaltet das BS?

- Programm-Umgebung (System Kontext)

  • Programmcode des laufenden Prozesses (Programmsegmente)
  • Daten (Datensegmente), dynamisch erzeugte Daten (im Heap)
  • geöffnete Dateien
  • lokale Variable, Rücksprungadressen (im Stack)

- Registerinhalte (auch Hardware-Kontext)

  • PSW
  • Befehlszähler, Mehrzweckregister
  • MMU-Register

Was steht in der Prozesstabelle und wie wird Sie auch genannt?

Verwaltungstabelle des BS

- ein Eintrag = Process Control Block (PCB) !!!!! GANZ Wichtig !!!!

- Bs-abhängige Datenstruktur

  • Hardwarekontext
  • Inf. Zur Identität, PID, PPID
  • Inf. Zum aktuellen Prozessstatus
  • Programmzähler
  • Prozesszustand
  • Initial-(statisch) / dynamische Priorität
  • Systemkontext
  • Inf. Zu zugeordneten Betriebsmitteln
  • Prozessor
  • Speicher
  • geöffnete Dateien
  • Netzwerkverbindungen, etc.
  • aktuelle Registerinhalte

Warum Scheduling-Strategie?

Prozesse konkurrieren um knappe Betriebsmittel wie die CPU und den RAM (Hauptspeicher).

Was ist im Scheduler?

Viele Aufträge.

Den Rechenbereite Prozesse warten in der Ready Queue des Betriebssystems auf Zuteilung der CPU.

Welche Fragen muss sich ein Scheduler beantworten.

  • Was soll die CPU als nächstes tun?
  • Welcher Prozess / Auftrag erhält als nächstes Rechenzeit auf der CPU?

Auf welcher Schicht Arbeitet der Dispatcher?

Ring 0

Welche Umgebungen unterscheided man für den Scheduling Algorithmus?

  1. Stapelverarbeitung (Batchsystem)
  2. Interaktion (Dialogsystem)
  3. Echtzeit

Welche Eigenschaften hat ein auf Stapelverarbeitung abgestimmter Scheduling-Algorithmus?

  • keine ungeduldigen Benutzer, die warten müssen
  • nicht unterbrechende Algorithmen oder lange Zeiten pro Prozeß
  • weniger Prozeßwechsel
  • verbesserte Geschwindigkeit hoher Durchsatz

Welche Eigenschaften hat ein auf Interaktion abgestimmter Scheduling-Algorithmus?

  • Unterbrechen notwendig, um „Prozeßalleingänge“ zu verhindern
  • schnelle Antwortzeiten

Welche Eigenschaften hat ein auf Echtzeit abgestimmter Scheduling-Algorithmus?

  • Unterbrechungen werden manchmal nicht gebraucht (Prozesse wissen dass sie nicht lange laufen dürfen)

In welchem Zusammenhang stehen der Scheduler und der Dispatcher?

Der Scheduler übernimmt die Plannung der Betriebsmittel-/CPU-Zuweisung.

Der Dispatcher ist für die Durchführung des Kontextwechsels zuständig.

 

Wie wird ein Prozess Abgearbietet?

  1. Scheduler wählt einen Prozess aus Ready Queue aus & Dispatcher bringt ihn auf CPU zur Ausführung (PCB->CPU-Register)
  2. Dispatcher legt Prozess schlafen, nachdem er seine Zeitscheibe verbraucht hat (Multitasking / Timesharing) (CPU-Register->PCB des BS im RAM, Prozess in Ready-Queue)
  3. Prozess macht blockierenden Systemaufruf (I/O)  und wartet blockiert in Blocked Queue auf Nutzer-Eingabe oder Rückmeldung  von Hardware nach Auftrag
  4. Nutzer-Eingabe ist verfügbar, Hardware meldet per Interrupt  Vollzug des Auftrags => Prozess wird vom BS wieder in Ready-Queue eingefügt

Was Passiert beim Start eines Prozesses (WORD) bis er Rechenbereit ist?

  1. Neuen PCB für Prozess (WORD) in der Prozesstabelle Anlegen.
  2. Neuen Prozessadressraum 400 MB im RAM anlegen.
  3. Laden von DS , CS und SS im Prozessadressraum im RaM anlegen. / Code aus Datei Word.exe von Festplatte im Ram laden.
  4. Prozess (word) in ReadyQueue legen damit der Scheduler Word auswählen kann.

Welche Zeiten sind beim Prozess Scheduling entscheidend?

  1. Ankunftszeit des Prozesses = a
  2. Startzeit des Prozesses = s
  3. Unterbrechungszeit des Prozesses = u
  4. Wartezeit des Prozesses = w
    • w = s - a + u
  5. Rechenzeit des Prozesses = t
  6. Verweilzeit des Prozesses = v
    • v = w + t
  7. Mittlere Wartezeit für n Prozesse = W mit ~
  8. Mittlere Verweilzeit für n Prozesse = V mit ~

 

Nennen Sie die Scheduling Kriterien!

  • Fairness: Jeder Prozess erhält gleich viel Rechenzeit
  • CPU-Auslastung Effizienz durch möglichst volle Auslastung der CPU
  • Durchsatz optimieren (viele Prozesse pro Zeiteinheit rechnen)
  • Wartezeit w von Prozessen minimieren
  • Verweilzeit v (Durchlaufzeit) eines Prozesses minimieren
  • Antwortzeit minimieren
  • Vorhersehbarkeit( bei Echtzeitsystemen)

Teilen Sie die Scheduling Kiterien nach ihrem Einsatzzweck auf!

Alle Systeme (Batchorientiert/Dialog  / Echtzeit) brauchen:

  • Fairness: Jeder Prozess erhält gleich viel Rechenzeit
  • Geringe Wartezeit (Effizienz)

I) Batchorientierte/rechenintensive Systeme (Großrechner)

    brauchen:

  • CPU-Auslastung, Durchsatz, kleine Wartezeit
           => Scheduling-Verfahren: FCFS, SJF,…

II) Dialogsysteme (Desktop BS) brauchen:

  • geringe Warte- & Verweilzeit, kurze Antwortzeit

=> Preemptives Scheduling mit Zeitscheiben-Verfahren
        (Round Robin)

III) (Embedded) Echtzeit-Systeme brauchen:

  • Vorhersehbarkeit, garantierte Warte- & Verweilzeit
         =>Scheduling nach Prioritäten

Beschreiben Sie den Schedul Algorithmus FCFS!

First come first Serve

  • Prinzip
    • Prozesse bekommen den Prozessor entsprechend ihrer Ankunftsreihenfolge zugeteilt
    • keine Abhängigkeiten zwischen den Prozessen
    • Laufende Prozesse werden nicht unterbrochen
  • Eigenschaften
    • Nicht-verdrängend
    • Fair (jeder Prozess komt dran)
    • Einfache Implementierung
  • Die mittlere Wartezeit kann unter Umständen sehr hoch werden

Beschreiben Sie den Schedul Algorithmus SJF!

Shortest Job first

  • Prinzip
    •  Es wird jeweils der Prozess mit der kürzesten Rechenzeit als nächstes gerechnet.
    • keine Abhängigkeiten zwischen den Prozessen
    • Laufende Prozesse werden nicht unterbrochen
  • Eigenschaften
    • Nicht-verdrängend
    • Nicht fair (kurze Prozesse können lange Prozesse überholen)
  • kurze Prozesse werden bevorzugt behandelt

Was sind Interaktive Systeme / Dialogbetrieb ?

Bei interaktiven Systemen (Desktop-BS) im Dialogbetrieb sind 1 oder mehrere Benutzer direkt mit Computer verbunden

kurze Teilaufträge in schneller Folge Benutzer erwarten zügige Bearbeitung mehrere Aufträge parallel Auftrag kann vom Benutzer interaktiv gestaltet werden  Desktop- und Server-Betriebssysteme  wie Windows und Linux / Unix sind  interaktive Systeme.

Beschreiben Sie die Haupteigenschaften des Einprogrammbetrieb bzw. Singletasking!

  • gerade ablaufendes Anwenderprogramm hat volle Kontrolle über Computer
  • Nur dieses Programm ist im Speicher (RAM)
  • Rechner mit geringer Prozessorleistung oder kleine Spezialrechner können nicht gleichzeitig mehrere Programme laufen lassen.
  • Bevor das gerade laufende Anwenderprogramm beendet wird, hat das BS von sich aus keine Chance aktiv zu werden. 

Beschreiben Sie das Time-Scharing bzw. Round-Robin verfahren.

  • Jeder Prozess bekommt nacheinander ein Quantum Rechenzeit auf dem Prozessor
  • Einem rechnenden Prozess wird der Prozessor nach Abarbeitung seiner Zeitscheibe entzogen (peemptives BS)
  • aufteilung siehe Bild
  • zu große Scheibe führt zu langer Verarbeitungszeit
  • Scheduler &Dispatcher verbrauchen bei kleinem Quantum zuviel Zeit(je 1 ms)pro Prozesswechsel Neuberechnung der Prioritäten 2x pro Sekunde

Was beudeutet präaemptives bzw. Nicht Präaemptives Scheduling?

Präaemptives Scheduling: Verdrängendes Verfahren

  • Unterbrechung und Prozesswechsel

Nicht / Non Präaemptives Scheduling: nicht Verdrängendes Verfahren

  • Prozess wird Ausgeführt bis Fertig

Woraus besteht ein Monolithischer Kernel?

Gesamte Funktionalität des BS im Kernel enthalten und somit auf Ring 0 somit hohe Geschwindigkeit.

  • Anwendungs IPC
  • Gerätetreiber
  • Interprozesskommunikation
  • Prozessverwaltung
  • Speicherverwaltung
  • Syncronistaion
  • Dateisystem
  • UNIX-Server

Schwer wartbar, Komponenten schlecht austauschbar.

Außerhalb nur Hardware und Anwendungen

Woraus besteht ein Mikrokernel?

Nur notwendige Funktionen im Kernel deswegen stabil & flexibel.

  • Interprozesskommunikation
  • Prozessverwaltung
  • Speicherverwaltung
  • Syncronistaion

Leicht wartbar, Komponenten leichter austauschbar. Gerätetreiber, Dateisystem usw. Ausgelagert.

Woraus besteht der Hybrid-Kernel?

Hierbei wird versucht die Vorteile des Monolitischen und des Mikrokernel zu vereinen.

  • Anwendungs IPC
  • Gerätetreiber
  • Interprozesskommunikation
  • Prozessverwaltung
  • Speicherverwaltung
  • Syncronistaion

Außerhalb befindet sich z.B. das Dateisystem und UNIX-Server sowie Hardware und Anwendungen

Beschreiben Sie das Ringmodell!

siehe Bild

Étudier