1 Vorlesung 6 Peter B. Ladkin Single- und Multitasking Peter B. Ladkin

Slides:



Advertisements
Ähnliche Präsentationen
Beschreibung und Verwaltung von Prozesse
Advertisements

Bauteile des PC´c Werden vorgestellt: PC-Gehäuse Prozessor Tastatur
Ausführen.
Leistung.
7.3 Scheduling Zur Erinnerung:
10.2 Wechselseitiger Ausschluss in Hardware
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
Prozesse Einführung in WI 1 (DV-Infrastruktur) WS03/04.
Beim Start eines Prozesses in Windows NT, 2000 wird a der Programmtext aus der exe-Datei ab der dort angegebenen Adresse gespeichert.
Informatik 12 | DAES Compilerbau Wintersemester 2010 / 2011 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung.
1 Was ist ein klassischer Prozess? A eine exe-Datei B log. Adressraum, Ablaufumgebung für genau einen Thread C log. Adressraum, Ablaufumgebung für eine.
C Tutorium – Semaphoren –
PC-Cluster.
3 Prozessverwaltung  sieht einen Prozess als Objekt der Verwaltung,
Enno Rehling und Roger Butenuth, Uni-GH Paderborn: Arminius: Software für Linux-basierte SCI-Cluster Arminius: Software für Linux-basierte SCI-Cluster.
Zentraleinheit CPU, Motherbord, RAM
Aufgaben zum Scheduling
Systeme 1 Kapitel 5 Scheduling WS 2009/10.
Systeme 1 Kapitel 7 Deadlocks WS 2009/10.
Systeme 1 Kapitel 5.1 Unix Scheduling WS 2009/101.
FH-Hof Deadlocks Richard Göbel. FH-Hof Deadlock - Definition Menge von Prozessen ist an einem Deadlock beteiligt: wenn jeder Prozess in dieser Menge auf.
Kapitel 7 Prozesse und Threads
Vorlesung: Betriebssysteme © 2002 Prof. Dr. G. Hellberg 1 Studiengang Informatik FHDW Vorlesung Betriebssysteme 1. Quartal 2002.
Medizinische Statistik und Informationsverarbeitung Goldschmidt, Quade, Baur Institut für Medizinische Statistik, Dokumentation und Datenverarbeitung.
Vorl. 6: Single- und Multitasking Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 4: Memory Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.
Vorlesung 2 Rechnerarchitektur Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 10 Mutual Exclusion Peter B. Ladkin Sommersemester 2001 Universität Bielefeld Technische Fakultät.
Vorlesung 9.2: Specification Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 5: Interrupts Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.
Technische Informatik II Rechnerarchitektur und Betriebssysteme Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter.
Vorlesung 9.1: Erinnerung Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 5 Interrupts Peter B. Ladkin
Vorlesung 9.1: Erinnerung Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.
Rechnerarchitektur Vorlesung 2 Peter B. Ladkin
Situationen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
Entwicklung verteilter eingebetteter Systeme - Einführung
Computerorientierte Physik VORLESUNG und Übungen Vorlesung Zeit: Di., 8.30 – Uhr Ort: Hörsaal 5.01, Institut für Experimentalphysik, Universitätsplatz.
Systeme 1 Kapitel 4 Prozesse WS 2009/10.
Betriebssysteme allgemein
4) Task-Verwaltung Inhalte Eigenschaften von Rechenprozessen (Tasks)
Na, was meinst Du? Sind Computer eher weiblich???
Betriebssysteme & BIOS
Vergleich Windows – Linux I
Wichtige Errungenschaften
Real Time Operating System
Computerorientierte Physik VORLESUNG und Übungen Vorlesung Zeit: Mo., – Uhr Ort: Hörsaal 5.01, Institut für Physik, Universitätsplatz 5, A-8010.
Betriebssysteme Übung Tutorium „System Calls & Multipgrogramming“
Μ Version 1.0Seite 1µVision Start Debugger Set Breakpoint µVision Debugger.
Systemsoftware und Betriebssysteme
Vorgeschichte:. Der Prozess X befindet sich in der CPU in Ausführung
Scheduling- Algorithmen. Bedeutung nicht-verdängende Strategie Prozesse werden nacheinander ausgeführt Kein Prozess wird bevorzugt Hängt ein Prozess,
Parallelisierung für Multiprozessor-Maschinen
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
Autor: Timo Pagel Nutzung: Diese Lernkarten sind für die Nutzung mit OpenCards gedacht Siehe dazu
Agenda für heute, 21. April, 2005 Interaktion mit Pascal-ProgrammenInteraktion mit Pascal-Programmen Dateneingabe Programmsteuerung Debugging Datentypen:
2.3 Implementierung von Prozessen
1 Technische Informatik II Rechnerarchitektur und Betriebssysteme Peter B. Ladkin
Medizinische Statistik und Informationsverarbeitung Goldschmidt, Quade, Baur Institut für Medizinische Statistik, Dokumentation und Datenverarbeitung.
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Der Taskmanager ist Bestandteil des Betriebssystems, der als Prozessmanager Prozessmanager unter anderem die aktuell laufenden Programme und Prozesse.
Pointer. Grundsätzliches: Im Arbeitsspeicher werden Daten gespeichert. Um auf die Daten eindeutig zugreifen zu können, werden diesen Daten Adressen zugeordnet.
Multiprocessing mit OpenMPI Marius Albath. Vorlesung Betriebssysteme, Was ist OpenMPI Was ist OpenMPI OpenMPI Standard Setup OpenMPI Standard.
Center for Biotechnology Bielefeld Bioinformatics Service Netzwerk - Programmierung Prozesse Alexander Sczyrba Jan Krüger.
Netzwerk - Programmierung
Echtzeit-Betriebssysteme
 Präsentation transkript:

1 Vorlesung 6 Peter B. Ladkin Single- und Multitasking Peter B. Ladkin

2 Single Tasking ● Command Interpreter (ComInt) läuft ● wartet auf Tastatur-Eingabe ● "liest" (parst) die Eingabe (für Prog-Name) ● Macht "Lookup" von ● Führt "JMP " aus ● Jedes Programm muss "JMP " am Ende ausführen

3 Single Tasking ● Einfach zu programmieren ● braucht keine Clock-Interrupts ● kann Busy-Wait für I/O machen (warten muss er sowieso) ● Wenn ein Program fehl schlägt, hängt der Rechner ● Bekanntes Beispiel: MS-DOS

4 Single Tasking

5 Single-Tasking: MS-DOS ● Basis für Windows-3.x, Windows-95, 98 usw. ● Die "persönlichen" Versionen ● Aber nicht Windows-NT ● MS-DOS ist 16-Bit (im IBM-XT mit 8-Bit Datenübertragung auf Grund des Busses der CPU)

6 Multitasking ● Programme laufen "gleichzeitig" ● Ein Scheduler-Programm (BS) verteilt die Prozessor- Zeit auf die laufenden Programme ● Ein Programm kann also zweimal während der gleichen Zeit ausgeführt werden ● Wir sprechen nicht mehr von Programmen, sondern besser von "Prozessen"

7 Zeit-Ablauf ● Clock Interrupts ● Time-Slicing über den Clock Interrupt Handler ● Handler ● loop if i > 0 then i <- (i-1) else Store(State); i < Scheduler; endloop

8 Prozesse ● Ein Prozess ist ein "Programm im Lauf" ● Besteht aus "aktuellem Zustand" (Current State) ● Current State beinhaltet: ● Werte vom PC und allen Registern ● Die Werte der Programm-Variablen ● Ist das Programm Ready, Waiting, Running, Terminated?

9 Process Table ● Die Prozess-Zustände werden in einer Tabelle gespeichert: Die “Process Table” ● Die Process Table beinhaltet den Current State (PC und Register-Werte) plus Status (Ready, Waiting, Running, Terminated) ● Wenn Running, Current State nicht aktuell ● Wenn Terminated, Current State nicht aktuell

10 Queues ● Ready Prozesse müssen zugeordnet werden ● Wenn ein I/O Interrupt signalisiert, dass I/O fertig ist, wird der Handler den entsprechenden Prozess von Waiting zu Ready umstellen ● Wenn ein Prozess nur wegen Zeitablaufs unterbrochen wird, wird er als Ready gehalten ● Sonst wegen I/O als Waiting

11 Ausswappen ● Scheduler ● Case: timeout: Store(CurrentState,ProcTab.ReadyQ); Load(Head(ProcTab.ReadyQ) I/O wait: Store(CurrentState, ProcTab.WaitingQ) Load(Head(Processtable.ReadyQueue)

12 Queues ● Verwaltung von Ready-Queue ist nicht unbedingt einfach ● Ready-Prozesse könnten klassifiziert werden ● Auf der nächsten Folie: Eine 5-fache Klassifizierung

13 Prozess-Klassifizierung

14 Prozess-Klassifizierung ● Auf der nächsten Folie: Wie die Prozess-Tabelle mit Prioritäten, sowie auch Begründungen für Waiting-Status (auch eine Art Klassifizierung) aussieht

15 Prozess-Tabelle

16 Prozess-Klassifizierung ● Auf der nächsten Folie: Eine feinere Klassifizierung der Betriebssystem-Software

17 Prozess-Klassifizierung

18 Prozess-Klassifizierung ● User benutzen Shells, Compiler, usw. ● Shells, Compiler usw. benutzen Signale, Character I/O System, File-System, usw. ● Signale, Character I/O, File-System benutzen Terminal- Kontroller, Device-Kontroller, Speicher-Management ● Hierarchie von virtuellen Maschinen (wie in Vorlesung 3 eingeführt)

19 Layers

20 Ready-Prozess-Auswahl ● 3 Ready-Prozesse: A, B, C ● Prioritäten: A:1, B:2, C:3 ● 3 ist höchste ● Prozess mit höchster Priorität wird nach Zeitablauf als Running ausgewählt ● Konsequenz: A läuft nie - Starvation oder Indefinite Blocking

21 Probleme des Scheduling ● Wir haben Starvation gesehen ● Ausserdem gibt es den Deadlock - ● Zwei oder mehr Prozesse warten gegenseitig aufeinander (d.h. der eine wartet, bis der andere was tut, und der andere wartet, bis der erste was tut) ● Die zwei größten Probleme des Scheduling ● Scheduling ist nicht trivial

22 Beispiel: Scheduling Policy I ● Jeder Ready Prozess wird gestartet und läuft bis zum Ende ● Single-Tasking

23 Beispiel: Scheduling Policy II ● Jeder Prozess läuft für eine bestimmte Zeit, wird dann ausgeswappt und wartet als Ready Prozess ● Multitasking

24 Scheduling Policy Auswahl ● Wann ist welche Policy sinnvoll? ● Policy I ● Einfache Systeme mit beschränkten Ressourcen ● Ein-Benutzer Systeme ● Echtzeit Systeme, in denen jeder Prozess und dessen genauer Zeitlauf bekannt, vertraut, wichtig und Hard- Deadlined ist ● Naturwissenschaftliche Supercomputer

25 Scheduling Policy Auswahl ● Wann ist Policy II sinnvoll? ● General-Purpose Computer ● Business Info-Systeme ● WWW- und Internet-Server WWW ● Transaction-Processing ● Bank ATM ● Flugkarte/Bahnfahrkarte Reservierungssystem ● Allgemeine Informationssysteme - Amedeo

26 Policy II: Subpolicies ● First Come First Served ● Datenstruktur: Queue/Linked-List ● Shortest Job First ● Braucht Zeitschätzung / Prioritäten ● Priorities ● Datenstruktur: Zuordnung / Sorting ● Multilevel Queue ● Datenstruktur: Prioritäten + Queue pro Prioritätswert