Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Modul: B-BS Betriebssysteme SS 2011 Prof. Dr. Rüdiger Brause Adaptive Systemarchitektur Institut für Informatik Fachbereich Informatik und Mathematik.

Ähnliche Präsentationen


Präsentation zum Thema: "Modul: B-BS Betriebssysteme SS 2011 Prof. Dr. Rüdiger Brause Adaptive Systemarchitektur Institut für Informatik Fachbereich Informatik und Mathematik."—  Präsentation transkript:

1

2 Modul: B-BS Betriebssysteme SS 2011 Prof. Dr. Rüdiger Brause Adaptive Systemarchitektur Institut für Informatik Fachbereich Informatik und Mathematik (12) Prozesse

3 Folie 2 R.Brause: Betriebssysteme SS11 - Prozesse Inhalt Prozesse Was ist ein Prozess? Wie wir er erzeugt? Was sind Threads? Wann nimmt man Threads, wann Prozesse? Prozess-Scheduling und Dispatching Scheduling in Echtzeitsystemen Scheduling in Multiprozessorsystemen

4 Folie 3 R.Brause: Betriebssysteme SS11 - Prozesse Prozess-Scheduling Prozesse Nebenläufigkeit

5 Folie 4 R.Brause: Betriebssysteme SS11 - Prozesse Programme und Prozesse Warum Mehrprozessbetrieb? Effiziente Nutzung des Systems Mehrprogrammbetrieb: mehrere Teilnehmer und mehrere Aufgaben am Rechner bzw. Server-Betrieb im Netz Parallelbetrieb: unterschiedliche CPU vs.I/O-Nutzung parallel auszuführender Programme

6 Folie 5 R.Brause: Betriebssysteme SS11 - Prozesse CPU-Idle Diskette Festplatte Drucker... und noch freie Prozessorkapazität für rechenintensives Programm im Hintergrund Parallelbetrieb: bessere CPU-Nutzung bei Ein/Ausg. Daten drucken Platte lesen Daten lesen Daten drucken Platte schreiben Platte lesen Platte.. Prozesse und IO

7 Folie 6 R.Brause: Betriebssysteme SS11 - Prozesse Woraus bestehen Prozesse ? Prozess = Programmdaten + Prozeßkontext Prozess CPU MMU Register Dateiinfo, Zugriffs- Kernel- rechtestack Prozesskontext Pro- gramm Stack Daten

8 Folie 7 R.Brause: Betriebssysteme SS11 - Prozesse Unix Prozesskontext Speicherresidente Prozesskontrollblöcke PCB der Prozesstafel Scheduling-Parameter Speicherreferenzen: Code-, Daten-, Stackadressen im Haupt- bzw. Massenspeicher Signaldaten: Masken, Zustände Verschiedenes: Prozesszustand, erwartetes Ereignis, Timerzustand, PID, PID der Eltern, User/Group-IDs Auslagerbarer Benutzerkontext (swappable user structure) Prozessorzustand: Register, FPU-Register,  Systemaufruf: Parameter, bisherige Ergebnisse,  Datei-Info-Tabelle (file descriptor table) Benutzungsinfo: CPU-Zeit, max. Stackgröße,  Kernel-stack: Platz für Systemaufrufe des Prozesses

9 Folie 8 R.Brause: Betriebssysteme SS11 - Prozesse Prozesszustände Prozesse warten... auf den Prozessor (bereit) auf eine Nachricht (blockiert) auf ein Zeitsignal (blockiert) auf Daten des I/O-Geräts (blockiert) nicht-ex. erzeugt bereit itermniert nicht-ex erhalte Signal aktiv running Zuteilung blockiert erwarte Signal Dispatcheraktionen

10 Folie 9 R.Brause: Betriebssysteme SS11 - Prozesse Beispiel Unix: Prozesszustände blockiert erzeugt nicht-ex. idle bereit aktiv zombi nicht-ex. stop erhalte Signal Zuteilung warte auf Ereignis warte auf Eltern weitermachen terminiert

11 Folie 10 R.Brause: Betriebssysteme SS11 - Prozesse Beispiel Prozesserzeugung Ein Programm (Job) kann mehrere Prozesse erzeugen z.B. UNIX shell (Elternprozeß) cat Text1 Text2 Kindsprozess1 Kindsprozess2 | pr Kindsprozess3 | lpr

12 Folie 11 R.Brause: Betriebssysteme SS11 - Prozesse Beispiel Prozesserzeugung Beispiel shell Pseudocode LOOP Write(prompt); (* tippe z. B. ´>´ *) ReadLine(command, params); (* lese strings, getrennt durch Leertaste *) pid := fork(); (* erzeuge Kopie dieses Prozesses *) IF (pid=0) THEN execve(command,params,0 )(* Kind: überlade mit Programm *) ELSE wait() (* Eltern: warte aufs Ende vom Kind *) END;

13 Folie 12 R.Brause: Betriebssysteme SS11 - Prozesse Kind if (PID==0) {exec („program“)... }; /* PID = = 0 */ Unix: Prozesserzeugung Eltern PID = fork() /* PID  0 */ if (PID==0) {... }; PID = wait(Status)... exit(Status) };...

14 Folie 13 R.Brause: Betriebssysteme SS11 - Prozesse Windows NT: Thread-Zustände waiting. nicht-ex. init ready running termin. nicht-ex. standby erhalte Signal dispatch warte auf Signal Abbruch ausgewählt, abgebrochen terminierterzeugt trans

15 Folie 14 R.Brause: Betriebssysteme SS11 - Prozesse Windows NT Subsystem-Prozesserzeugung Win32 : NewPIDhandle := NtCreateProcess (Eltern=CurrentPID) POSIX : NewPID = fork() LPC-message SystemCall Unix-Prozesserzeugung WinNT kernel

16 Folie 15 Frage Welche Prozess-Zustände haben Warteschlangen, welche keine? R.Brause: Betriebssysteme SS11 - Prozesse Antwort:  Warteschlangen: bereit, blockiert.  Keine Warteschlangen: alle anderen - aktiv, standby, nicht-existent, ….

17 Folie 16 R.Brause: Betriebssysteme SS11 - Prozesse Prozess-Scheduling Prozesse Nebenläufigkeit

18 Folie 17 Grundlagen der Programmierung 1 - Prozesse und ihre Synchronisierung Threads (Coroutinen) gemeinsamer Prozeßkontext (Speicher- Addressbereich, Dateien (file handles) Thread 1 Thread 2 Thread 3 Gemeinsamer Prozeßkontext asynchroner, paralleler, unterschiedlicher Programmverlauf (stack !)

19 Folie 18 Grundlagen der Programmierung 1 - Prozesse und ihre Synchronisierung Nebenläufigkeit Methoden Methode 1 Methode 2 Methode n  return call local11.1 local2‘B’ ReturnAdr nach Methode 1 arg1“Error” local12.25 local2‘A’ ReturnAdr nach Methode 2 arg1false arg local13.3  ReturnAdr nach Methode n-1 arg 11 arg 2“Hallo” local local 2‘A’ local 3[2.1, 3.2, 5.0] gemeinsamer Stack: temp., lokale Variable Prozess- StackPointer

20 Folie 19 R.Brause: Betriebssysteme SS11 - Prozesse Nebenläufigkeit Coroutinen und Threads Thread 1 Thread 3 Thread 4 Thread 2 local1 1.1 local2 “hallo” local1 3.3 local2 1 local3 true local local local2 ‘B’ Prozess- StackPointer Stack 1 Stack 3 Stack 4 Stack 2

21 Folie 20 R.Brause: Betriebssysteme SS11 - Prozesse Nebenläufigkeit Prozesse Prozesskontext Speicher RAM Code “hallo” … 1.1 ‘B’ Return 1 “error” 2.25 ‘A’ Methode 1 … Methode 2 … main Dateiinfo, Zugriffs- Zugriffs- Kernel- rechte rechte stack CPU Register MMU Register Dateiinfo, Zugriffs- Zugriffs- Kernel- rechte rechte stack CPU Register MMU Register PC SP SP 1 SP true … 1.1 ‘B’ 2.25 ‘A’ … Thread 1 … Thread 2 … main SP PC und Threads Prozess Prozess

22 Folie 21 Grundlagen der Programmierung 1 - Prozesse und ihre Synchronisierung Thread- Typen: lightweight threads nkontrolliert vom Benutzerprogramm (z.B. Unix-Bibliothek) Vorteil:sehr schneller thread-Wechsel T 1, T 2 Nachteil: Blockieren aller threads bei I/O-Warten von einem thread. Prozess T1T1 T2T2 Prozeß- I/O Systemaufruf

23 Folie 22 Grundlagen der Programmierung 1 - Prozesse und ihre Synchronisierung Thread- Typen: heavyweight threads nkontrolliert vom Betriebssystem (z.B. Windows NT) Vorteil:Unabhängiger I/O aller threads T 1, T 2 Nachteil:langsamer BS-Systemaufruf nötig  „ fibers“ in Windows NT Prozess T1T1 T2T2 thread I/Othread I/O Systemaufruf

24 Folie 23 Grundlagen der Programmierung 1 - Prozesse und ihre Synchronisierung Frage Wozu gibt es Threads im Unterschied zu Prozessen? Bitte schreiben Sie einen Satz auf, und geben das Papier Ihrem linken Nachbarn. Antwort Damit unabhängige Teilaufgaben auch unabhängig abgearbeitet werden können, ohne zeitaufwändigen Kontextwechsel

25 Folie 24 R.Brause: Betriebssysteme SS11 - Prozesse Grundlagen der Programmierung PRG-1 Teil 1 V07 Prozess-Scheduling Prozesse Nebenläufigkeit

26 Folie 25 R.Brause: Betriebssysteme SS11 - Prozesse Prozeßscheduling Vorplanung in verschiedenen Zeitma ß st ä ben Hier: Nur Kurzzeitschedul ! Ankunft WarteschlangeAbgang Prozessor

27 Folie 26 R.Brause: Betriebssysteme SS11 - Prozesse Prozeßscheduling: Ziele n Auslastung der CPU Ziel ist die 100%ige Auslastung der CPU, normal 40% – 90%. n Durchsatz (throughput) # Jobs pro Zeiteinheit sollte maximal sein. n Faire Behandlung (fairness) Jeder Benutzer sollte im Mittel den gleichen CPU-Zeitanteil erhalten. n Ausführungszeit (turn­around time) Die Zeitspanne vom Jobbeginn bis zum Jobende sollte sie minimal sein. Sie enth ä lt alle Zeiten in Warteschlangen, der Ausf ü hrung (Bedienzeit) und der Ein- und Ausgabe. n Wartezeit (waiting time) Wartezeit in der bereit-Liste minimieren (einziger Scheduling- parameter) n Antwortzeit (response time) Die Zeit zwischen einer Eingabe und der Übergabe der Antwortdaten an die Ausgabegeräte sollte minimal werden (interaktive Systeme!).

28 Folie 27 R.Brause: Betriebssysteme SS11 - Prozesse Prozeßscheduling: Konflikte Problem: Ziele sind weder vollständig noch konsistent Prozeßumschaltung (context switch) kostet Zeit.  Werden viele kurze Prozesse bevorzugt  Durchsatz, Ausführungszeit, Antwortzeit werden gut, aber die Umschaltzeit verkürzt rel. Zeitanteil für lange Prozesse (fairness!)  Erhöhen der Auslastung  Erhöhen der Antwortzeit; Beispiel Autovermietung Werden bestimmte Kunden bevorzugt, müssen andere warten. Sind alle Wagen gut ausgelastet, müssen neue Kunden warten. Es gibt keinen idealen Schedulingalgorithmus !

29 Folie 28 R.Brause: Betriebssysteme S Ausführungszeit: Job1=18, Job2=8, Job3=3; Mittelwert=29/3=9,67. S11 - Prozesse First Come First Serve (FCFS). Einsortieren in der Ankunftsreihenfolge (FIFO-Warteschlange). Ausführungszeit: Job1=5, Job2=15, Job3=18; Mittelwert=38/3=12,67. Nicht-präemptives Scheduling Shortest Job First (SJF) Job mit kürzester Bedienzeit zuerst (min. mittl. Wartezeit). Job 3 Job 1 Job Job 1Job 2 Job Job1=5, Job2=10, Job3=3 „Jeder Prozeß läuft so lange, wie er will.“ Ausführungszeit: Job1=18, Job2=8, Job3=3; Mittelwert=29/3=9,67.

30 Folie 29 R.Brause: Betriebssysteme SS11 - Prozesse Beispiele Scheduling Beispielnon-präempt. Prioritätsscheduling Schedul P2, P3, P1 mittl. Bearbeitungszeit: ( ) : 3 = 7 1 / 3 Beispiel non-präempt. FIFO Schedul P1, P2, P3, mittl. Bearbeitungszeit: ( ) : 3 = 5 1 / 3 Prozesse P1 P2 P3 Priorität 1, 5, 3 Länge 1, 5, Hohe Zahl = hohe Prio 5 3 1

31 Folie 30 R.Brause: Betriebssysteme SS11 - Prozesse Nicht-präemptives Scheduling Highest Response Ratio Next (HRN) Antwortzeit Bevorzugung min. Bedienzeit, Bedienzeitaber: lange Bedienzeit  lange Antwortzeiten  hoher Quotient. Vorausgesetzt: gemessene (geschätzte) Werte Priority Scheduling (PS) Priorität  Prozeß; Bevorzugung von hoher Priorität. Problem SJF und PS erlauben verhungern (starvation) von benachteiligten Prozessen = max

32 Folie 31 R.Brause: Betriebssysteme SS11 - Prozesse Präemptives Scheduling Rücksichtslose Prozesse (Benutzer!)  Einführung von „Zeitscheiben“: Ankunft WarteschlangeAbgang Prozessor Abbruch Prozeß2Prozeß1Prozeß3Prozeß2Prozeß1 Zeitscheibe „Jeder Prozeß läuft nur so lange, wie er darf.“

33 Folie 32 R.Brause: Betriebssysteme SS11 - Prozesse Round Robin (RR) FIFO-Warteschlange Einsortieren in der Ankunftsreihenfolge + Zeitscheibe Zeitscheibengröße T von Umschaltzeit des Kontextes abhängig! Richtwert: T > I/O-burst Intervall von 80% der Jobs Präemptives Scheduling Shortest Remaining Time First Job mit kürzester verbleibender Bedienzeit zuerst. Dynamic Priority Round Robin (DPRR) RR + wachsende Prio-Vorstufe

34 Folie 33 Frage Können Prozesse beim präemptiven Scheduling verhungern ? R.Brause: Betriebssysteme SS11 - Prozesse Antwort: Nein, da auch ihre Zeitscheibe regelmäßig zugeteilt wird.

35 Folie 34 R.Brause: Betriebssysteme SS11 - Prozesse Beispiele RR-Scheduling Beispiel Wechsel nach jeweils sehr kurzen Zeitscheiben mittl. Bearbeitungszeit: ( ) : 3 = 6 1 / 3 Jobeinheiten Prozesse P1, P2, P3, Schedul: P1, P2, P3 Längen 1, 3, 5, P1 P2 P Beispiel: Wechsel nach großen Zeitscheiben = 1 Jobeinheit P1 P2 P3 mittl. Bearbeitungszeit: ( ) : 3 = 5 1 / 3 Jobeinheiten

36 Folie 35 R.Brause: Betriebssysteme SS11 - Prozesse Adaption der Parameter Beispiel: Parameter a eines Prozesses = gewichteter Mittelwert aus dem aktuellen Wert b t und dem früheren Wert a(t-1) a( t ) = (1–  ) a( t-1 ) +  b t Es ergibt sich hier die Reihe a(0)  b 0 a(1) = (1–  ) b 0 +  b 1 a(2) = (1–  ) 2 b 0 + (1–  )  b 1 +  b 2 a(3) = (1–  ) 3 b 0 + (1–  ) 2  b 1 + (1–  )  b 2 +  b 3... a(n) = (1–  ) n b 0 + (1–  ) n–1  b (1–  ) n–i  b i  b n Mit   1 schwindet der Einfluß der frühen Messungen exponentiell, der Parameter altert (zeitabhängige pdf).

37 Folie 36 R.Brause: Betriebssysteme SS11 - Prozesse Multiple Warteschlangen und Scheduler Multiple Warteschlangen für I/O multi level scheduling extra Warteschlange pro Gerät extra Warteschlange pro Prio Verhungern ? Hauptprozessor I/O Festplatte 1 I/O Festplatte 2... I/O Terminals

38 Folie 37 R.Brause: Betriebssysteme SS11 - Prozesse Multiple Warteschlangen und Scheduler RR-Korrektheit: Kein Verhungern durch feste Reihenfolge multi level scheduling: Kein Verhungern durch zeitl. ansteigende Job-Priorität extra Warteschlange pro Prio: Prio 0: Systemprozesse Prio 1: Interaktive Jobs Prio 2: Allgemeine Jobs Prio 3: Rechenintensive Jobs dyn.Prio(t) ++ Round Robin

39 Folie 38 R.Brause: Betriebssysteme SS11 - Prozesse Scheduling: Unix Round-Robin, ersetzbar. dyn.Prio, jeweils eine FCFS-Warteschlange pro prio Benutzer: nice -Kommando Umhängen in andere Schlangen bei prio-Erhöhung HP-UX: 0 = hohe prio Prio fixe Multi level- Warteschlangen

40 Folie 39 R.Brause: Betriebssysteme SS11 - Prozesse Scheduling: Windows NT Round-Robin für Threads Non-präemptiv für real time Jobs Vom Scheduling getrenntes dispatching Dyn. Prio, abhängig von Zeit und Liste: erhöht beim Warten, abgesenkt beim Laufen Prozessoraffinitäten Symmetrisches multiprocessing 0 = kleinste prio

41 Folie 40 Scheduling in Echtzeit- Betriebssystemen

42 Folie 41 R.Brause: Betriebssysteme SS11 - Prozesse Scheduling in Echtzeitbetriebssystemen Echtzeitbetriebssysteme (real time systems) = ? Soft-Echtzeitsysteme: gewünschte Zeitschranken „Verzögerung ärgerlich, aber Zeitschranke nicht bindend“: Texteingabesysteme, Banken, Behörden,... Hard-Echtzeitsysteme: verbindliche Zeitschranken Konsequenzen bei Nichterfüllung der Spezifikation: Kontrolle von Kernkraftwerken, Flugzeugen, Fahrzeugen, Produktionsstraßen,... Typisch: periodisch wiederkehrende, gleiche tasks

43 Folie 42 R.Brause: Betriebssysteme SS11 - Prozesse Scheduling in Echtzeitbetriebssystemen Beispiel Flugdatenverarbeitung,Tasks für flight-by-wire n Beschleunigung (x,y,z) 5 ms n Drehungswinkel40 ms n Monitordisplay100 ms n Temperatur1 s n GPS- Position10 s Scheduling-Strategien = ?

44 Folie 43 R.Brause: Betriebssysteme SS11 - Prozesse Scheduling in Echtzeitbetriebssystemen Polled Loop Dauerwarten aber: andere Anforderungen Interruptgesteuerte Systeme Prio-gesteuerte ISR aber: Interrupt geringer Prio kann verloren gehen Minimal Deadline First n ä chste Zeitschranke zuerst aber : gleiche Zeitschranken? Prio? Minimal Processing Time First SJF-Strategie aber: Prio unbeachtet Rate-Monotonic Scheduling (RMS) Task-Frequenz ~ Prio aber : Priorit ä tsinversion f ü r wichtige Tasks mit geringer Frequenz Foreground-Background Scheduling n ü tzlich vs. notwendig Hintergrundprozesse: Selbsttests, RAM scrabbing, Alarm-Monitore

45 Folie 44 R.Brause: Betriebssysteme SS11 - Prozesse Scheduling in Echtzeitbetriebssystemen Notwendige, kritische Tasks (z.B. RMS) Nützliche, unkritische Tasks (z.B. Hintergrund) Notwendige, aber unkritische Tasks: Zeitpunkt T S wenn notw. Ressourcen frei, Zeitschranke T D, restl. Bedienzeit T C, Wichtigkeit w Minimum Earliest Start min. T S Minimum Laxity First min. T D - (T S +T C ) Kombin. Kriterium 1 min. T D + wT C Kombin. Kriterium 2 min. T D + wT S Simulationsergebnis: Kombin. Kriterium 2 ist am besten!

46 Folie 45 R.Brause: Betriebssysteme SS11 - Prozesse Scheduling in Echtzeitbetriebssystemen Echtzeitanforderungen: kontrollierte Zeitvergabe! Betriebssysteme Keine swapping-Algorithmen (Prozessauslagerung) Programme Keine automatische Speicherbereinigung Java: garabage collection der JVM abschalten, eigene Heap-Verwaltung einführen

47 Folie 46 Embedded Systems Unterschiede „normaler“ BS zu eingebetteten Systemen: Eingebettete Systeme haben Kein Dateisystem (nur ROM, EEPROM,..) Keine Angriffe (keine Viren): kein user/kernel mode Kein RAM-Allocation (nur feste Programmlagen) Keine Sicherheitsfunktionen Kein Netzwerk ? … Aber: I/O-System, Dispatcher,… „Abgespecktes“ System ist problematisch bei Erweiterung! R.Brause: Betriebssysteme SS11 - Prozesse

48 Folie 47 Scheduling in Multiprozessor- systemen

49 Folie 48 R.Brause: Betriebssysteme SS11 - Prozesse Scheduling in Multiprozessorsystemen Abhängigkeiten zwischen Tasks beachten Beispiel Präzedenzrelationen „>>“ = „direkt davor auszuführen“ A 1 >> B 1 >> C 1 >> A 5 >> B 3 >> A 6 B 1 >> B 4 >> C 3 >> B 3 A 2 >> A 3 >> B 4 A 3 >> C 2 >> B 2 >>B 3 A 4 >> C C 1 A A 1 B 1 B 4 C 3 B 3 A A C 2 B 2 A 3 A gerichteter, gewichteter Graph Präzedenzgraph Mengen unabh. Tasks (Stufen) durch Präzedenzpartition

50 Folie 49 R.Brause: Betriebssysteme SS11 - Prozesse Scheduling in Multiprozessorsystemen BeispielGantt-Diagramm, NB:Prozessortyp. Tasks P1P1 A 1 A 2 A 3 A 4 A 5 A 6 P2P2 B 1 B 4 B 2 B 3 P3P3 C 1 C 3 C 2 Takte Kürzeste Ausführungszeit Abhängige Tasks:kritischer Pfad durch Präzedenzgraph Unabhängige Tasks: optimale Aufteilung oder längster Task T opt = max Hier: NB verlängern Minimalzeit (30 statt 43/3  15 Takte) Scheduling-Strategien = ?

51 Folie 50 R.Brause: Betriebssysteme SS11 - Prozesse Scheduling in Multiprozessorsystemen Zerteilung Zerteilung der Taskmenge in Stufen (Pr ä zedenzpartition) Scheduling Scheduling aller Tasks jeweils einer Stufe, dann die n ä chste: Earliest Scheduling Task so fr ü h wie m ö glich abarbeiten.

52 Folie 51 R.Brause: Betriebssysteme SS11 - Prozesse Scheduling in Multiprozessorsystemen Latest Scheduling Lazy evaluation Task so sp ä t wie m ö glich abarbeiten Takte

53 Folie 52 R.Brause: Betriebssysteme SS11 - Prozesse Scheduling in Multiprozessorsystemen Speziell: Dual-Prozessorsystem m = 2 Spezialfall : einheitl. Prozeßlänge Wenn optimaler preemptiver Schedul ex. für jede Stufe  ex. opt. Gesamtschedul Allgemeinfall: nicht-einheitl. Prozeßlänge Prozeß = s  VirtProzessEinheiten  Spezialfallbedingungen gegeben mit optimalem Schedul aber: ungerade Prozeßanzahl in einer Stufe  Aufteilung eines Prozesses auf beide Prozessoren

54 Folie 53 R.Brause: Betriebssysteme SS11 - Prozesse Scheduling in Multiprozessorsystemen List Scheduling  Alle Tasks werden mit Priorit ä ten versehen entweder in eine zentrale bereit-Liste oder in eine zentrale blockiert-Liste gestellt.  Alle Prozessoren bedienen sich parallel aus der Liste mit dem Task jeweils h ö chster Priorit ä t. Ankunft WarteschlangeAbgang Prozessor

55 Folie 54 R.Brause: Betriebssysteme SS11 - Prozesse Multiprozessorscheduling: Minimalzeit Annahme: Prio-gesteuerte, präzedenzorientierte, zentrale Warteschlange Minimalzeit T prio für alles = ? Satz:Sei T 0 = optimaler Schedul, m Prozessoren T prio < T 0 (2 – 1/m) Aber: n Aufheben von Präzedenzbedingungen n Verkleinern von Ausführungszeit n Erhöhung der Prozessorzahl m‘>m führt nicht automatisch zu kürzerem T !  „Multiprozessoranomalien“

56 Folie 55 R.Brause: Betriebssysteme SS11 - Prozesse Multiprozessorlastverteilung Parallel schnellere Programmausführung - wieviel ? speed up speed up =  = 1 + Sequentielle Zeit begrenzt den speed up! Beispiel: 10% seq., 90% par.Code  max. 10-facher speed up Problem: % Jobzeit sind system calls Also: Besser als asymmetrisches ist symmetrisches Multiprocessing

57 Folie 56 R.Brause: Betriebssysteme SS11 - Prozesse Stochastisches Scheduling Wann verstopft ein System? Ziel: Analyt. Ausdruck für mittl. Ankunftszeit T J von Tasks Annahme Je länger der Zeitraum, umso mehr Tasks treffen ein P J (∆t) ~ ∆t.... Rechnung.... Ankunftsrate  1/T J Bedienrate  1/T B Also: Verstopfung bei  <  1/T J

58 Folie 57 Stochastisches Scheduling R.Brause: Betriebssysteme SS11 - Prozesse


Herunterladen ppt "Modul: B-BS Betriebssysteme SS 2011 Prof. Dr. Rüdiger Brause Adaptive Systemarchitektur Institut für Informatik Fachbereich Informatik und Mathematik."

Ähnliche Präsentationen


Google-Anzeigen