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