Informatik II SS Literatur. Potentielle Systemkomponenten. Architektur eines Pentiumsystems

5. Grundlagen Betriebssysteme Literatur „ Bücher: … Informatik II … SS 2004 … Teil 5: Grundlagen Betriebssysteme „ Foliensätze (aus denen ev....
7 downloads 0 Views 499KB Size
5. Grundlagen Betriebssysteme

Literatur „

Bücher: …

Informatik II

…

SS 2004

…

Teil 5: Grundlagen Betriebssysteme

„

Foliensätze (aus denen ev. teilweise Folien übernommen wurden): …

Prof. Dr. Dieter Hogrefe Dipl.-Inform. Michael Ebner

… …

Tanenbaum: http://www.cs.vu.nl/~ast/books/mos2/ Stallings: http://www.williamstallings.com/OS4e.html Universität Karlsruhe, Liefländer: http://i30www.ira.uka.de/teaching/currentcourses/lecture.php?courseid=91

…

Lehrstuhl für Telematik Institut für Informatik

W. Stallings: „Betriebssysteme - Prinzipien und Umsetzung“, Prentice Hall, 2003, ISBN 3-8273-7030-2 (englisch: „Operating Systems: Internals and Design Principles“, 2001) A. Tanenbaum: „Moderne Betriebssysteme“, Prentice-Hall, 2002, ISBN 3-8273-7019-1 (englisch: „Modern Operating Systems“, 2001) A. Silberschatz, P. Galvin, G. Gagne: „Operating System Concepts“, John Wiley & Sons, 2002, ISBN 0-471-41743-2

Universität Braunschweig, Prof. Dr. S. Fischer: http://www.ibr.cs.tu-bs.de/lehre/ss04/bsn/ Einführung

Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5. Grundlagen Betriebssysteme

Hardware Overview

Architektur eines Pentiumsystems

Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.2

System Structure

5. Grundlagen Betriebssysteme

Potentielle Systemkomponenten

5.3

Task Semantic

Objects

Example Operation

GUI/shell

window

execute shell script

Application

a.out

quit, kill, …

File System

directories, files

open, close, read,

Devices

printer, display

open, write, ...

Communication

ports

send, receive, …

Virtual Memory

segments, pages

write, fetch

Secondary Store

chunks, blocks

allocate, free,

Processes

task queue

exit, create…

Threads

ready queue

wakeup, execute,

Interrupts

interrupt handler

invoke, mask, ...

Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.4

5. Grundlagen Betriebssysteme

5. Grundlagen Betriebssysteme

Was ist ein Betriebssystem? „

„

Motivation

Silberschatz: „An operating system is similar to a government... Like a government the operating system performs no useful function by its self.“ DIN 44300: „Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten des digitalen Rechensystems bilden und die insbesondere die Abwicklung von Programmen steuern und überwachen.“

„ „

Wo gibt es Betriebssysteme? Beispiele … … … … … … … … …

Arbeitsplatzrechner, Großrechner Netzwerkgeräte, wie Router, Bridges, Gateways, etc. Auto Flugzeug-Cockpit Waschmaschine Chipkarte PDAs Mobile Telefone etc.

Einführung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.5

Einführung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5. Grundlagen Betriebssysteme

5. Grundlagen Betriebssysteme

Ziele und Randbedingungen „

… …

„

Definitionen eines Betriebssystems „

Ziele eines Betriebssystems …

5.6

Definition Betriebssystem als virtuelle Maschine …

Anpassung der Benutzerwelt an die Maschinenwelt Organisation und Koordination des Betriebsablaufs Steuerung und Protokollierung des Betriebsablaufs

Ein Betriebssystem ist eine virtuelle Maschine, die dem Anwender eine einfache (dateiorientierte) Schnittstelle zur Hardware zur Verfügung stellt und einen Programmierung dieser Hardware auf hohem logischen Niveau ermöglicht.

Randbedingungen … … … …

„

Effizienter Einsatz von Betriebsmitteln Geringer Rechenaufwand Robustheit Sicherheit

Definition Betriebssystem als Ressourcenverwalter …

„

Ein Betriebssystem bezeichnet alle Programme eines Rechensystems, die die Ausführung der Benutzerprogramme, die Verteilung der Ressourcen auf die Benutzerprogramme und die Aufrechterhaltung der Betriebsart steuern und überwachen.

Definition Ressourcen (Betriebsmittel) …

Die Ressourcen (Betriebsmittel) eines Betriebssystems sind alle Hardund Softwarekomponenten, die für die Programmausführung relevant sind. „

Betriebsmittel: Prozessor, Hauptspeicher, I/O-Geräte, etc.

Einführung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.7

Einführung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.8

5. Grundlagen Betriebssysteme

5. Grundlagen Betriebssysteme

Schichten eines Rechnersystems Bank- Flugsystem Reservierung Compiler

Editor

Spiele

Kommandointerpreter

Zwei Sichten auf ein Betriebssystem Anwendungsprogramme

Anwendersicht:

• Top-Down-Sicht • Betriebssystem ist eine

virtuelle Maschine

Systemprogramme

Betriebsystem BS-Entwicklersicht: • Bottom-Up-Sicht • Betriebssystem ist ein

Maschinensprache Mikroprogrammierung

Betriebsmittel(Ressourcen-) Verwalter

Hardware

Physikalische Geräte Einführung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.9

Einführung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5. Grundlagen Betriebssysteme

5. Grundlagen Betriebssysteme

Aufgaben eines Betriebssystems (1/5) „

… … …

„

Aufgaben eines Betriebssystems (2/5)

Prozessverwaltung

…

„

(Ein Prozess oder auch Task ist ein in Ausführung befindliches Programm) Erzeugen und Löschen von Prozessen Prozessorzuteilung (Scheduling) Prozesskommunikation Synchronisation nebenläufiger Prozesse, die gemeinsame Daten benutzen

…

Verwaltung des Dateisystems …

Logische Sicht auf Speichereinheiten (Dateien) „

…

…

Zuteilung des verfügbaren physikalischen Speichers an Prozesse Einbeziehen des Hintergrundspeichers (Platte) durch virtuelle Adressierung, demand Paging, Swapping (= Ein-/Auslagern von Prozessen), etc.

Benutzer arbeitet mit Dateinamen. Wie und wo die Dateien gespeichert werden, ist ihm egal.

Systemaufrufe für Dateioperationen „

Speicherverwaltung …

Erzeugen, Löschen, Öffnen, Lesen, Schreiben, Kopieren, etc.

Strukturierung mittels Verzeichnissen (Directory)

Einführung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.10

5.11

Einführung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.12

5. Grundlagen Betriebssysteme

5. Grundlagen Betriebssysteme

Aufgaben eines Betriebssystems (3/5) „

Aufgaben eines Betriebssystems (4/5)

Verwaltung des Dateisystems (cont.) …

„

Schutz von Dateien und Verzeichnissen vor unberechtigtem Zugriff

Geräteverwaltung … …

Unix: 9-Bit für Zugriffsrechte (Read, Write, eXecute) Datei/Verzeichnis gehört einem Eigentümer (user) und einer Benutzergruppe (group, z.B. Mitarbeiter, Projekt, etc.) z.B.

…

„

Monitoring, Accounting, Auditing …

user rwx

group r--

Dateiname Uebung.txt

„ „

Befehl:

others r--

„ „

Dateiname Uebung.txt

Aktuelle Auslastung Aktueller freier Speicher Netzverkehr

Optionale Aufgaben „

> chmod g+w Uebung.txt führt zu: group rw-

Erstellen & Verwalten von Systemstatistiken „

others r--

…

user rwx

Auswahl und Bereitstellung von I/O-Geräten Anpassung an physikalische Eigenschaften der Geräte Überwachung der Datenübertragung

„

Laufzeit von Prozessen mitprotokollieren Speicherbedarf von Prozessen mitprotokollieren Eingeloggte Benutzer mitprotokollieren etc.

Einführung

Einführung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.13

Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5. Grundlagen Betriebssysteme

5. Grundlagen Betriebssysteme

Aufgaben eines Betriebssystems (5/5) „

Strukturen von Betriebssystemen

Weitere wichtige Aspekte: …

„

…

„

Graceful Degradation: Beim Ausfall einzelner Komponenten läuft das System mit vollem Funktionsumfang mit verminderter Leistung weiter. Fehlertoleranz wird durch Redundanz erkauft.

„

Realzeitbetrieb „

„

…

„

Fehlertoleranz „

„

Betriebssystem muss den Realzeit-kritischen Prozessen die Betriebsmittel so zuteilen, dass die angeforderten Zeitanforderungen eingehalten werden. Für zeitkritische Systeme: Meßsysteme, Anlagensteuerungen, etc.

„

Modularisiert in Komponenten und Subsysteme Kern („kernel“) läuft ständig und parallel zu anderen System- und Anwendungsprozessen Systemprogramme werden nur bei Bedarf geladen Dämonen („daemons“) sind Hilfsprozesse, die ständig existieren, aber meist passiv sind. … …

Benutzeroberflächen „

5.14

Warten auf ein Ereignis oder schauen selbst zeitgesteuert nach, ob Arbeit da ist.

Betriebssystem muss eine ansprechende Benutzerschnittstelle für die eigene Bedienung enthalten. Betriebssystem muss Funktionen bereitstellen, mit denen aus Anwendungsprogrammen heraus auf die Benutzerschnittstelle zugegriffen werden kann.

Einführung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.15

Einführung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.16

5. Grundlagen Betriebssysteme

5. Grundlagen Betriebssysteme

User und Kernel Mode „ „

CPUs laufen in zwei Modi, kernel mode und user mode Benutzermodus (user mode) … … … … …

„

Einstiegspunkte in ein Betriebssystem „

…

Prozessor bearbeitet ein Anwendungsprogramm Befehlssatz und verfügbare Register sind beschränkt Mögliche Beschränkung des Zugriffs auf die Hardware (hardware protection) Direkter Zugriff auf andere in Ausführung befindliche Programme ist verboten niedrigere Priorität

…

„

…

„

… … … …

„

synchron (z.B. Division durch 0) Fehler wird an Applikation weitergeleitet

Hardware Interrupt (Unterbrechung) …

Prozessor bearbeitet Betriebssystem Alle Befehle und Register sind verfügbar Direkter, uneingeschränkter Zugriff auf die Hardware Manipulation interner Daten laufender Programme möglich höhere Priorität

synchron Parameterübergabe über z.B. Register oder Stack

Hardware Traps …

Betriebssystemmodus (kernel mode) …

Systemaufrufe

asynchron (z.B. Modem)

Software Interrupt (Unterbrechung) …

asynchron

Einführung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.17

Einführung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5. Grundlagen Betriebssysteme

5. Grundlagen Betriebssysteme

Formen von Betriebssystemen „ „ „ „ „ „ „

Architekturen von Betriebssystemen (1/2) „

Stapelverarbeitung (batch processing) Dialogverarbeitung (time sharing) Echtzeitverarbeitung (real-time processing) Verteilte Verarbeitung (distributed processing) Eingebettete Betriebssysteme Smart-Card Betriebssysteme ...

Monolithische Systeme …

„

Sammlung von Prozeduren und Funktionen ohne (oder nur mit minimaler) Struktur („The big mess.“, A. Tanenbaum)

Geschichtete Systeme (oder Hierarchische oder Schalen) … … … …

„

mehrere Schichten wobei Schicht n+1 auf Schicht n aufbaut und neue Funktionalität bereitstellt Vereinfachte Fehlersuche und Qualitätssicherung Funktionszuweisung zu einer Schicht schwierig Strikte Einhaltung der Schichten und strenge Parameterprüfung erhöht den Overhead an den Schichtübergängen

Virtuelle Maschinen … … … …

Abstraktion betrifft nicht nur die Hardware, sondern kann auch höhere Funktionen betreffen. Emulation der Hardware zu so genannten virtuellen Maschinen (VM) Gleichzeitig verschiedene Betriebssysteme auf den VMs z.B. Java Virtual Machine, VMware, VirtualPC, User Mode Linux (UML)

Einführung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.18

5.19

Einführung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.20

5. Grundlagen Betriebssysteme

5. Grundlagen Betriebssysteme

Architekturen von Betriebssystemen (2/2) „

Allgemeine Schalenstruktur von UNIX und Linux

Minimale Kerne (engl. microkernel) …

… … … …

Kern mit minimalen Betriebssystemfunktionen (Kommunikationsprimitive und elementares multi-programming) um einen großen Hardware-nahen Kern zu vermeiden Minimale Kerne folgen dem Client-Server-Modell in verteilten Systemen Server können im Benutzermodus laufen und in einem Netzwerk verteilt werden (zentralisierte und verteilte Realisierung möglich) Vermehrte Kommunikation führt zu mehr Overhead Trennung von Mechanism und Strategien

Einführung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.21

Einführung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5. Grundlagen Betriebssysteme

5.22

5. Grundlagen Betriebssysteme

Windows Architektur

Standardisierung „

Einige relevante Standards …

AT&T:

System V Interface Definition (SVID)

1985

… …

OSF: OSF:

Distributed Computing Environment (DCE) Motif 2.0 Graphical User Interface Toolkit

1995 1994

…

X/OPEN

Portability Guide (XPG-1, ..., XPG-4)

1984

…

IEEE

Portable Operating System Interface based on UNIX (POSIX)

1989

OpenGroup: Single UNIX Specification Version 2 OpenGroup: Common Desktop Environment (CDE) 1.0

1997 1996

ANSI/ISO: Programmiersprache C (X3.159, ISO/IEC 9899) ANSI/ISO: Programmiersprache C++ (X3J16)

1989 1998

… … … …

Einführung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.23

Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.24

5. Grundlagen Betriebssysteme

5. Grundlagen Betriebssysteme

POSIX Standards

Ausblick

„

Standardisierung von Betriebssystemfunktionen mit dem Ziel, die Portabilität von Programmen zu verbessern.

„

POSIX-Standards werden durch eine Arbeitsgruppe des Institute of Electrical and Electronics Engineers (IEEE) ausgearbeitet und lehnen sich an UNIX an.

„

„ „ „

POSIX Standards (Stand 1994) POSIX.0 POSIX.1 POSIX.2 POSIX.3 POSIX.4 POSIX.5 POSIX.6 POSIX.7 POSIX.8 POSIX.9 POSIX.10

Guide and overview Library functions Shell and utilities Test methods and conformance Real-time extensions Ada language binding to POSIX.1 Security extensions System administration Transparent file access Fortran 77 binding to POSIX.1 Supercomputing profile

POSIX.11 POSIX.12 POSIX.13 POSIX.14 POSIX.15 POSIX.16 POSIX.17 POSIX.18 POSIX.19 POSIX.20 POSIX.21

Transaction processing Protocol independent communication Real-time profiles Multiprocessor profile Batch/supercomputer extensions Language-independent POSIX.1 Directory/name services Basic POSIX system profile Fortran-90 binding to POSIX.4 Ada binding to POSIX.4 Distributed real-time

Kurzer Blick auf Konzepte zur Realisierung der Aufgaben eines Betriebssystems Einfluss auf Programmierung von Anwenderprogrammen Es werden Teilgebiete der folgenden grundlegenden Konzepte betrachtet … … … …

„

Prozessverwaltung Speicherverwaltung Ein- und Ausgabe Dateisysteme

Studenten des Studienganges „Angewandte Informatik“ wird der Besuch der Spezialvorlesung dringend empfohlen!

Einführung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.25

Einführung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5. Grundlagen Betriebssysteme

5. Grundlagen Betriebssysteme

Prozessverwaltung „ „ „ „

Prozesse

Prozesse und Threads Prozess-Scheduling Interprozesskommunikation Verklemmungen

„ „ „ „

„

„

Ein Prozess ist der Ablauf eines sequentiellen Programms. Benötigt Betriebsmittel (CPU, Speicher, Dateien, etc.) und ist selbst ein Betriebsmittel. Wird vom Betriebssystem verwaltet (Erzeugung, Terminierung, Scheduling, etc.) Ein Prozessor führt in jeder Zeiteinheit maximal einen Prozess aus. Laufen mehrere Prozesse, dann finden Prozesswechsel statt. Das Betriebssystem entscheidet über die Prozesswechsel. Prozesse sind gegeneinander abgeschottet, d.h. jeder besitzt (virtuell) seine eigene Betriebsmittel, wie etwa den Adressraum. Das BS sorgt für die Abschottung. Wir gehen von voneinander unabhängigen Prozessen aus. Bei Kooperation ist eine explizite Synchronisation erforderlich.

Prozessverwaltung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.26

5.27

Prozessverwaltung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.28

5. Grundlagen Betriebssysteme

5. Grundlagen Betriebssysteme

Eigenschaften von Prozessen „ „ „ „ „

Prozesszustände

Program Code: Folge von Maschinenbefehlen (text section) Internal State: Aktueller Zustand durch Programmzähler und Registerinhalte Stack: Inhalt des Stapelspeichers, wo temporäre Variablen und Parameter für Funktionsaufrufe verwaltet werden Data Section: Inhalt des Speichers, in dem die globalen Daten gehalten werden External State: Beziehung zu anderen Betriebsmitteln

„

Typische definierte Prozesszustände und Zustandsübergänge

New

Admit

Assign

Ready

Running

Terminate

Exit

Release Block

Unblock

Blocked

Prozessverwaltung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.29

5. Grundlagen Betriebssysteme

Prozessverwaltung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.30

5. Grundlagen Betriebssysteme

Win-NT’s Sieben-Zustände Modell

Unix Prozesszustandsmodell Lazy versus eager loading

New

Admit

Ready

Deblock

Preselect

Assign

Standby

Release

Running

Terminate

Exit

Block on event i

Blocked Blocked Reinitialize

Prozessverwaltung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.31

Prozessverwaltung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.32

5. Grundlagen Betriebssysteme

5. Grundlagen Betriebssysteme

Mögliche Attribute für einen Prozessleitblock (PCB)

PCB Struktur

Kontext

Scheduling Familie

Zeit

Prozessverwaltung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.33

Prozessverwaltung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5. Grundlagen Betriebssysteme

5. Grundlagen Betriebssysteme

Prozessbäume „ „ „ „

Leichtgewichtsprozesse (Threads)

Alle existierenden Prozesse sind in einer Prozesstabelle gespeichert Prozesse können neue Prozesse erzeugen, wodurch eine Hierarchie (Baum) von Prozessen entsteht Cascading termination möglich, falls erzeugte Prozesse nicht ohne erzeugenden Prozess existieren dürfen/sollen Mutterprozess und Kinderprozesse teilen keine/einige/alle Ressourcen

„

Threads sind parallele Kontrollflüsse, die nicht gegeneinander abgeschottet sind … …

laufen innerhalb eines Adressraumes, innerhalb eines „echten“ Prozesses teilen sich gemeinsame Ressourcen

Prozessverwaltung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.34

5.35

Prozessverwaltung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.36

5. Grundlagen Betriebssysteme

5. Grundlagen Betriebssysteme

Threads besitzen eigenen Stack

Thread Beispiel

Prozessverwaltung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.37

Prozessverwaltung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5. Grundlagen Betriebssysteme

5. Grundlagen Betriebssysteme

Charakterisierung von Threads „

… … … … … …

„

Vorteile/Nachteile von Threads „

Pro Prozess …

… … …

Kontextwechsel ist effizienter …

Adressraum Globale Variablen Offene Dateien Kinderprozesse Unerledigte Alarme Signal und Signalkontroller Informationen für Systemstatistiken

… …

„ „

Pro Thread …

„

Programmzähler Register Stack Zustand

„

kein Wechsel des Adressraumes kein automatisches Scheduling (Kernelthread bei BS, Benutzerthread bei Anwendung) kein Retten und Restaurieren des kompletten Kontextes (nur Programmzähler und Register)

Pro Zeiteinheit sind viel mehr Threadwechsel als Prozesswechsel möglich -> Leichtgewichtsprozesse Gleichzeitige Aktivitäten können besser modelliert werden, z.B. falls einige Aktivitäten von Zeit zu Zeit blockieren/warten Bessere Performance bei Erzeugung/Zerstörung und bei Mischung mit I/O intensiven Aufgaben (kein Vorteil bei reiner CPU-Nutzung) Nachteile … …

Schutzfunktionen fallen weg (z.B. getrennte Adressräume) Synchronisation erforderlich

Prozessverwaltung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.38

5.39

Prozessverwaltung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.40

5. Grundlagen Betriebssysteme

5. Grundlagen Betriebssysteme

Prozesswechsel „ „ „

Prozess-Scheduling (1/2)

mehrere Prozesse teilen sich einen Prozessor, weshalb Prozesswechsel notwendig sind Das Betriebssystem entscheidet über die Prozesswechsel Komponenten des Scheduling …

„

…

… … … …

Prozesswechsel sind relativ teuer wegen Sicherung des Kontextes

Warteschlangenmodelle „

Anforderungen …

Prozesswechselkosten „

…

„

„

Wartende Prozesse werden in internen Warteschlangen gehalten Auswahlstrategie der Warteschlangen haben wesentlichen Einfluss auf Systemverhalten

Entscheidungspunkte … … …

Scheduling-Verfahren

Fairness Effizienz Antwortzeit Verweilzeit Durchsatz

… …

Erzeugung eines neuen Prozesses Prozess terminiert oder blockiert I/O-Unterbrechungen (Interrupts) Zeitscheibe läuft ab Verfahren: „ „

nicht-präemptiv: laufender Prozess wird nicht von außen unterbrochen präemptiv: laufende Prozesse können von außen unterbrochen werden

Prozessverwaltung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.41

Prozessverwaltung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5. Grundlagen Betriebssysteme

5. Grundlagen Betriebssysteme

Prozess-Scheduling (2/2) „ „

Verfahren

Deterministische und probabilistisches Scheduling Verfahren hängt von gewünschten Eigenschaften ab …

„ „

…

„

… …

Fairness Effizienz (Nutzung der Ressourcen) Umsetzung der geünschten Policy

„

„ „

…

Interaktive Systeme

…

Realzeit-Systeme

„

„ „

…

Maximierung des Durchsatzes (Jobs/Zeit) Maximierung der einzelnen Laufzeiten Maximierung der CPU-Nutzung

…

„

First-Come First Served (FCFS) Shortest Job First (SJF) Shortest Remaining Time Next (SRTN)

Interaktiv: …

Batchsysteme „

Batch: …

Alle Systeme „

5.42

Round-Robin Priority Scheduling Shortes Process Next

Echtzeit: …

Earliest Deadline First (EDF)

Minimierung der Antwortzeit Einhalten von Deadlines, Vermeidung von Datenverlusten Vermeidung von Qualitätsverlusten in Multimedia-Systemen Prozessverwaltung

Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.43

Prozessverwaltung Dipl.-Inform. Michael Ebner, Prof. Dr. Dieter Hogrefe Informatik II - SS 2004

5.44