Prozesse. Prozesse. Nebenläufigkeit. Prozess-Scheduling. Echtzeit-Scheduling. Multiproz.-Scheduling. Inhalt Prozesse

Größe: px
Ab Seite anzeigen:

Download "Prozesse. Prozesse. Nebenläufigkeit. Prozess-Scheduling. Echtzeit-Scheduling. Multiproz.-Scheduling. Inhalt Prozesse"

Transkript

1 Modul: B-BS Betriebssysteme WS 2012/13 Prozesse Prof. Dr. Rüdiger Brause Adaptive Systemarchitektur Institut für Informatik Fachbereich Informatik und Mathematik (12) 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 Folie 2 Prozesse Nebenläufigkeit Prozess-Scheduling Echtzeit-Scheduling Multiproz.-Scheduling Folie 3 1

2 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 Folie 4 Prozesse und IO Parallelbetrieb: bessere CPU-Nutzung bei Ein/Ausg. CPU-Idle Diskette Daten lesen Daten lesen Daten lesen Daten lesen Festplatte Platte lesen Platte schreiben Platte lesen Platte.. Drucker Daten drucken Daten drucken Daten drucken... und noch freie Prozessorkapazität für rechenintensives Programm im Hintergrund Folie 5 Woraus bestehen Prozesse? Prozess = Programmdaten + Prozeßkontext Prozess Prozesskontext Daten Programm Stack CPU Register Dateiinfo, Zugriffsrechte MMU Register Kernelstack Folie 6 2

3 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 Folie 7 Prozesszustände Dispatcheraktionen nicht-ex. erzeugt bereit erhalte Signal blockiert erwarte Signal Zuteilung aktiv running term i niert nicht-ex Scheduler Erstellen der bereit -Liste Dispatcher schnelle Zuteilung zur CPU Prozesse warten... auf den Prozessor (bereit) auf eine Nachricht (blockiert) auf ein Zeitsignal (blockiert) auf Daten des I/O-Geräts (blockiert) Folie 8 Beispiel Unix: Prozesszustände erzeugt erhalte Signal blockiert warte auf Ereignis terminiert nicht-ex. idle bereit aktiv zombi nicht-ex. Zuteilung weitermachen stop warte auf Eltern Folie 9 3

4 Beispiel Prozesserzeugung Ein Programm (Job) kann mehrere Prozesse erzeugen z.b. UNIX shell (Elternprozeß) cat Text1 Text2 pr lpr Kindsprozess1 Kindsprozess2 Kindsprozess3 Folie 10 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; END; Folie 11 Unix: Prozesserzeugung PID = fork() /* PID 0 */ Eltern if (PID==0) { }; PID = wait(status) Kind /* PID = = 0 */ if (PID==0) { exec ( program )... };... exit (Status) };... Folie 12 4

5 Windows NT: Thread-Zustände erzeugt erhalte Signal waiting. nicht-ex. init ready running termin. Abbruch nicht-ex. ausgewählt, abgebrochen trans standby warte auf Signal dispatch terminiert Folie 13 Windows NT Subsystem-Prozesserzeugung Unix-Prozesserzeugung POSIX : NewPID = fork() LPC-message Win32: NewPIDhandle := NtCreateProcess (Eltern=CurrentPID) SystemCall WinNT kernel Folie 14 Prozesse: User mode und kernel mode UNIX User Prozess sys call kernel code user mode kernel mode Windows NT User Prozess user mode sys call Kernel Prozess kernel mode Folie 15 5

6 Frage Welche Prozess-Zustände haben Warteschlangen, welche keine? Antwort: Warteschlangen: bereit, blockiert. Keine Warteschlangen: alle anderen: - aktiv, standby, nicht-existent,. Folie 16 Prozesse Nebenläufigkeit Prozess-Scheduling Echtzeit-Scheduling Multiproz.-Scheduling Folie 17 Threads (Coroutinen) gemeinsamer Prozeßkontext (Speicher- Addressbereich, Dateien (file handles) asynchroner, paralleler, unterschiedlicher Programmverlauf (stack!) Thread 1 Thread 2 Thread 3 Gemeinsamer Prozeßkontext Folie 18 6

7 Nebenläufigkeit Methoden Methode 1 call return Methode 2 call return call Methode n return Prozess- StackPointer gemeinsamer Stack: temp., lokale Variable local1 1.1 local2 B ReturnAdr nach Methode 1 arg1 Error local local2 A ReturnAdr nach Methode 2 arg1 false arg local1 3.3 ReturnAdr nach Methode n-1 arg 1 1 arg 2 Hallo local local 2 A local 3 [2.1, 3.2, 5.0] Folie 19 Nebenläufigkeit Coroutinen und Threads Thread 3 Thread 1 local1 1.1 local2 hallo Stack 1 local1 3.3 local2 1 local3 true Stack 3 Thread 4 local Stack 4 Thread 2 local local2 B Stack 2 Prozess- StackPointer Folie 20 Nebenläufigkeit Prozesse und Threads Prozess Prozess MMU Register Dateiinfo, Zugriffsrechte CPU Register Kernelstack hallo B Return 1 error 2.25 A Methode 1 Methode 2 main Prozesskontext Speicher RAM Code MMU Register Dateiinfo, Zugriffsrechte CPU Register Kernelstack PC SP PC SP SP 1 SP true 1.1 B 2.25 A Thread 1 Thread 2 main Folie 21 7

8 Prozesse und Threads DEF Prozess Ein Prozess umfasst Programmcode sowie alle Verwaltungsinformation, die zum Ausführen unabhängig von anderem Programmcode vom Betriebssystem benötigt wird (Prozesskontext). Er teilt mit anderen Prozessen nichts, nur die global bekannten Betriebsmittel wie Dateisystem etc. Er kann als Untereinheiten mehrere Threads enthalten. DEF Thread Ein Thread umfasst neben dem Programmcode nur die Verwaltungsinformation SP des Stacks und des Programmzählers PC. Er teilt den gesamten restlichen Prozesskontext (Speicherbereich, offene Dateien, Pipes, ) mit allen anderen Threads seines Prozesses. Folie 22 Thread- Typen: lightweight threads kontrolliert vom Benutzerprogramm (z.b. Unix-Bibliothek). Sie laufen im (wie der Prozess) im user mode. Vorteil: sehr schneller thread-wechsel T 1, T 2 Nachteil: Blockieren aller threads bei I/O-Warten von einem thread. Prozess T 1 T 2 Systemaufruf Prozeß- I/O Folie 23 Thread- Typen: heavyweight threads kontrolliert vom Betriebssystem (z.b. Windows NT) via system calls. Sie laufen (wie der Prozess) im user mode. Vorteil: Unabhängiger I/O aller threads T 1, T 2 Nachteil: langsamer BS-Systemaufruf nötig fibers in Windows NT Prozess T 1 T 2 Systemaufruf thread I/O thread I/O Folie 24 8

9 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 Folie 25 Prozesse Nebenläufigkeit Prozess-Scheduling Echtzeit-Scheduling Multiproz.-Scheduling Folie 26 Prozeßscheduling Vorplanung in verschiedenen Zeitmaßstäben Nutzer Langzeitschedul Kurzzeitschedul Jobende Hier: Nur Kurzzeitschedul! Ankunft Warteschlange Abgang Prozessor Folie 27 9

10 Prozeßscheduling: Ziele Auslastung der CPU Ziel ist die 100%ige Auslastung der CPU, normal 40% 90%. Durchsatz (throughput) # Jobs pro Zeiteinheit sollte maximal sein. Faire Behandlung (fairness) Jeder Benutzer sollte im Mittel den gleichen CPU-Zeitanteil erhalten. Ausführungszeit (turnaround 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. Wartezeit (waiting time) Wartezeit in der bereit-liste minimieren (einziger Schedulingparameter) Antwortzeit (response time) Die Zeit zwischen einer Eingabe und der Übergabe der Antwortdaten an die Ausgabegeräte sollte minimal werden (interaktive Systeme!). Folie 28 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! Folie 29 Nicht-präemptives Scheduling Jeder Prozeß läuft so lange, wie er will. First Come First Serve (FCFS). Einsortieren in der Ankunftsreihenfolge (FIFO-Warteschlange). Job1=5, Job2=10, Job3=3 Job 1 Job 2 Job Ausführungszeit: Job1=5, Job2=15, Job3=18; Mittelwert=38/3=12,67. Shortest Job First (SJF) Job mit kürzester Bedienzeit zuerst (min. mittl. Wartezeit). Job 3 Job 1 Job Ausführungszeit: Job1=18, Job2=8, Job3=3; Mittelwert=29/3=9,67. Folie 30 10

11 Beispiele Scheduling Prozesse P1 P2 P3 Priorität 1, 5, 3 Länge 1, 5, 3 Hohe Zahl = hohe Prio Beispiel non-präempt. FIFO Schedul P1, P2, P3, mittl. Bearbeitungszeit: ( ) : 3 = 5 1 / Beispiel non-präempt. Prioritätsscheduling Schedul P2, P3, P1 mittl. Bearbeitungszeit: ( ) : 3 = 7 1 / Folie 31 Nicht-präemptives Scheduling Highest Response Ratio Next (HRN) Antwortzeit Bevorzugung min. Bedienzeit, = max Bedienzeit aber: 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 Lösung Statt feste Prio (statische Prio) für einen Prozess, änderbare Prio (dynamische Prio) vorsehen. Wächst sie mit der Zeit, kommt jeder Prozess einmal dran. Folie 32 Präemptives Scheduling Rücksichtslose Prozesse (Benutzer!) Einführung von Zeitscheiben : Prozeß1 Prozeß2 Prozeß3 Prozeß1 Prozeß2 Zeitscheibe Jeder Prozeß läuft nur so lange, wie er darf. Ankunft Warteschlange Abgang Prozessor Abbruch Folie 33 11

12 Präemptives Scheduling 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 Dynamic Priority Round Robin (DPRR) RR + wachsende Prio-Vorstufe Shortest Remaining Time First Job mit kürzester verbleibender Bedienzeit zuerst. Folie 34 Frage Können Prozesse beim präemptiven Scheduling verhungern? Antwort: Nein, da auch ihre Zeitscheibe regelmäßig zugeteilt wird. Folie 35 Beispiele RR-Scheduling Prozesse P1, P2, P3, Schedul: P1, P2, P3 Längen 1, 3, 5, Beispiel: Wechsel nach großen Zeitscheiben = 1 Jobeinheit P1 P2 P3 mittl. Bearbeitungszeit: ( ) : 3 = 5 1 / 3 Jobeinheiten Beispiel Wechsel nach jeweils sehr kurzen Zeitscheiben mittl. Bearbeitungszeit: ( ) : 3 = 6 1 / 3 Jobeinheiten P1 P2 P Folie 36 12

13 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). Folie 37 Multiple Warteschlangen und Scheduler Multiple Warteschlangen für I/O Hauptprozessor I/O Festplatte 1 I/O Festplatte 2... extra Warteschlange pro Gerät I/O Terminals multi level scheduling Prio 0: Systemprozesse Prio 1: Interaktive Jobs extra Warteschlange pro Prio Prio 2: Allgemeine Jobs Prio 3: Rechenintensive Jobs Verhungern? Folie 38 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 Round Robin Prio 3: Rechenintensive Jobs dyn.prio(t) ++ Folie 39 13

14 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 Real time System User prio run queue PCB 0.. #1 127 #2 128 # # # Folie 40 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 prio ready queue 0 = kleinste prio Real time 31.. Variable Priorität System 0 idle thread Folie 41 Prozesse Nebenläufigkeit Prozess-Scheduling Echtzeit-Scheduling Multiproz.-Scheduling Folie 42 14

15 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 Folie 43 Scheduling in Echtzeitbetriebssystemen Beispiel Flugdatenverarbeitung,Tasks für flight-by-wire Prozessorauslastung H Beschleunigung (x,y,z) 5 ms, Dauer 1 ms, H = 1/5 = 20% Drehungswinkel 40 ms, Dauer 5 ms, H = 5/40 = 12,5% Monitordisplay 100 ms, Dauer 2 ms, H = 2/100 = 2% Temperatur 1 s, Dauer 1 ms H = 1/1000= 0,1% GPS- Position 10 s, Dauer 20 ms H = 20/10000=0,2% Scheduling-Strategien =? Folie 44 Scheduling in Echtzeitbetriebssystemen Polled Loop Dauerwarten aber: andere Anforderungen Interruptgesteuerte Systeme Prio-gesteuerte ISR aber: Interrupt geringer Prio kann verloren gehen FIFO Warteschlange aber: berücksichtigt nicht wichtige Prozesse kleiner Periode Besser: Prioritäten beachten! Folie 45 15

16 Dynamisches RT-Scheduling Strategien mit festen Prioritäten Minimal Deadline First aber: gleiche Zeitschranken? Prio? nächste Zeitschranke zuerst Minimal Processing Time First SJF-Strategie aber: Prio unbeachtet bei langen Jobs Rate-Monotonic Scheduling (RMS) Task-Frequenz ~ Prio aber: nicht 100% Auslastung, sondern nur n(2 1/n 1) Prioritätsinversion für wichtige Tasks mit geringer Frequenz Folie 46 Dynamisches RT-Scheduling Strategien ohne feste Prioritäten für H=100% Auslastung Minimal Deadline First MDF, Earliest Deadline First EDF aber: nutzlos bei vielen Jobs gleicher Deadline Least Laxity First LLF (Zeitschranke-Jobende)= min aber: restl. Zeitbedarf aller Jobs hoher Rechenbedarf Time Slice Scheduling TSS Zeitscheibenlänge ~ CPU-Auslastung aber: lange Scheibe Event-Puffer nötig Guaranteed Percentage Scheduling GPS Anzahl der Zeitscheiben ~ CPU-Auslastung Folie 47 Scheduling in Echtzeitbetriebssystemen Notwendige, kritische Tasks Nützliche, unkritische Tasks (z.b. RMS, GPS) Foreground-Background Scheduling Hintergrundprozesse: Selbsttests, RAM scrabbing, Alarm-Monitore 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! Folie 48 16

17 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 Folie 49 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! Folie 50 Prozesse Nebenläufigkeit Prozess-Scheduling Echtzeit-Scheduling Multiproz.-Scheduling Folie 51 17

18 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 6 A A 3 C 2 B 2 3 A 4 gerichteter, gewichteter Graph Präzedenzgraph Mengen unabh. Tasks (Stufen) durch Präzedenzpartition Folie 52 Scheduling in Multiprozessorsystemen Beispiel Gantt-Diagramm, NB:Prozessortyp. Tasks P 1 A 1 A 2 A 3 A 4 A 5 A 6 P 2 B 1 B 4 B 2 B 3 P 3 C 1 C 3 C 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 n 1 max ti, t k 1 i n m k 1 Hier: NB verlängern Minimalzeit (30 statt 43/3 15 Takte) Scheduling-Strategien =? Folie 53 Scheduling in Multiprozessorsystemen Zerteilung der Taskmenge in Stufen (Präzedenzpartition) Scheduling aller Tasks jeweils einer Stufe, dann die nächste: Earliest Scheduling Task so früh wie möglich abarbeiten. P 1 A 1 B 1 C 1 A 5 P 2 A 2 A 3 B 4 C 3 P 3 A 4 C 2 B 2 B 3 A Takte Folie 54 18

19 Scheduling in Multiprozessorsystemen Latest Scheduling Lazy evaluation Task so spät wie möglich abarbeiten. P 1 A 1 B 1 C 1 A 5 B 3 A 6 P 2 A 4 B 4 C 3 P 3 A 2 A 3 C 2 B Takte Folie 55 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 P 1... C 1 C 2/2... P 2... C 2/2 C ½ 1 1,5 2 Folie 56 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 Warteschlange Abgang Prozessor Prozessor Prozessor Folie 57 19

20 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: Aufheben von Präzedenzbedingungen Verkleinern von Ausführungszeit Erhöhung der Prozessorzahl m >m führt nicht automatisch zu kürzerem T! Multiprozessoranomalien Folie 58 Grenzen der Lastverteilung Annahme: unendlich viele Prozessoren, keine Kommunikation. Frage: Wie schnell ist dann das Programm? Antwort: Zeit = T par + T seq Ex. m Prozessoren, m, T par AlteZeit Tseq T Tpar par speed up = = 1 + NeueZeit T 0 Tseq seq Sequentielle Zeit begrenzt den speed up! Beispiel: 10% seq., 90% par.code max. 10-facher speed up Folie 59 Grenzen der Lastverteilung Fakt: Betriebssystem (system calls) läuft 20-80% der Programmlaufzeit Problem: sequentielle Betriebssystemteile Lösung: parallelisierbare Betriebssystemteile P1 P2 Pn P1 P2 Pn BS Nutzer 1... Nutzer n Kern Programm Programm Dedizierter Prozessor für BS-Kern BS Nutzer 1... Nutzer n Kern Programm Programm Jeder Prozessor kann BS-Kern ausführen Also: Besser als asymmetrisches ist symmetrisches Multiprocessing Folie 60 20

21 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 Bedienrate l 1/T J m 1/T B Also: Verstopfung bei m < l 1/T J Folie 61 Stochastisches Scheduling Grenzen der analytischen Rechnung Die Annahme P J ~ Dt ist nur im Idealfall gültig Ein System besteht aus vielen, abhängigen Warteschlangen Eine Rechnung ist im Netzwerk sehr mühsam bzw. unmöglich Simulationen berücksichtigen auch sich zeitl. ändernden Kontext Konkrete Vorhersagen nur mit Simulationen! Folie 62 21

Kap. 2. Prozesse. Version vom 05.10.2009. Kap. 2 - Inhalt. Definition Prozeßzustände Threads Scheduling Beispiele. Folie 2

Kap. 2. Prozesse. Version vom 05.10.2009. Kap. 2 - Inhalt. Definition Prozeßzustände Threads Scheduling Beispiele. Folie 2 Kap. 2 Prozesse Version vom 05.10.2009 Kap. 2 - Inhalt Definition Prozeßzustände Threads Scheduling Beispiele Folie 2 Definition I - Woraus bestehen Prozesse? Prozeß ist ein Programm in seiner Ausführung,

Mehr

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads Prozesse und Prozessmanagement des BS 1 Unterschied Prozess, Threads 1.1 Prozess Bei jedem Programm muss gespeichert werden, welche Betriebsmittel (Speicherplatz, CPU- Zeit, CPU-Inhalt,...) es benötigt.

Mehr

Systeme 1. Kapitel 5. Scheduling

Systeme 1. Kapitel 5. Scheduling Systeme 1 Kapitel 5 Scheduling Scheduling Verteilung und Zuweisung von begrenzten Ressourcen an konkurrierende Prozesse Beispiel: -> Zeitablaufsteuerung Zwei Prozesse zur gleichen Zeit rechenbereit auf

Mehr

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Betriebssysteme I WS 2013/2014 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 16. Januar 2014 Betriebssysteme / verteilte Systeme Betriebssysteme

Mehr

Scheduling. Prozess-Ablaufplanung. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012

Scheduling. Prozess-Ablaufplanung. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduling Prozess-Ablaufplanung Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduler Der Scheduler ist ein besonders wichtiges Programmteil jedes Betriebssystems. Prozesse P 1 P

Mehr

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 7 Scheduling Maren Bennewitz Version 23.01.2013 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Betriebssysteme (BTS)

Betriebssysteme (BTS) 9.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 10.5.2007 Exkursion Die Exkursion wird am Freitag, den 18.5.2007

Mehr

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse)

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse) 5 CPU-Scheduling Im folgenden wird von Threads gesprochen. Bei Systemen, die keine Threads unterstützen, ist der einzige "Thread" eines Prozesses gemeint. Früher wurde dieser Thread synonym mit dem Begriff

Mehr

5) Realzeitscheduling

5) Realzeitscheduling Inhalte Anforderungen Klassifizierungen Verschiedene Verfahren: FIFO, Round Robin, Least Laxity, EDF, fixed/dyn. Prio. Beispiele und Aufgaben Seite 1 Motivation Gegeben: Ein Einprozessorsystem, das Multiprogrammierung

Mehr

CPU-Scheduling - Grundkonzepte

CPU-Scheduling - Grundkonzepte CPU-Scheduling - Grundkonzepte Sommersemester 2015 Seite 1 Gesamtüberblick 1. Einführung in Computersysteme 2. Entwicklung von Betriebssystemen 3. Architekturansätze 4. Interruptverarbeitung in Betriebssystemen

Mehr

Dämon-Prozesse ( deamon )

Dämon-Prozesse ( deamon ) Prozesse unter UNIX - Prozessarten Interaktive Prozesse Shell-Prozesse arbeiten mit stdin ( Tastatur ) und stdout ( Bildschirm ) Dämon-Prozesse ( deamon ) arbeiten im Hintergrund ohne stdin und stdout

Mehr

Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet.

Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet. Prozessverwaltung Prozesse Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet. Prozesse sind Abfolgen von Aktionen, die unter Kontrolle

Mehr

Übung zu Grundlagen der Betriebssysteme. 7. Übung 27.11.2012

Übung zu Grundlagen der Betriebssysteme. 7. Übung 27.11.2012 Übung zu Grundlagen der Betriebssysteme 7. Übung 27.11.2012 Threads Thread (Faden des (Kontrollflusses)): ist ein sequentieller Abarbeitungsablauf (Kontrollfluss) innerhalb eines Prozesses. Umfasst ein

Mehr

B.5 Prozessverwaltung B.5. Prozessverwaltung. 2002 Prof. Dr. Rainer Manthey Informatik II 1

B.5 Prozessverwaltung B.5. Prozessverwaltung. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Prozessverwaltung Prozessverwaltung 2002 Prof. Dr. Rainer Manthey Informatik II 1 Prozesse Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) ) von einem Rechner abgearbeitet.

Mehr

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur Hochschule Mannheim Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun Übungsklausur Aufgabe 1: Definieren Sie den Begriff der Systemsoftware. Nennen Sie die Aufgaben und Komponenten

Mehr

Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling

Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling 1 termini technici Der englische Fachausdruck scheduler wurde eingedeutscht : Der Scheduler Für scheduling ist im Deutschen auch zu verwenden: Ablaufplanung

Mehr

Quantitative Methoden. Betriebssysteme

Quantitative Methoden. Betriebssysteme Quantitative Methoden Betriebssysteme Problem und Gegenstand Problem Erfüllen von QoS-Anforderungen mit zeit- bzw. größenbeschränkten Ressourcen Gegenstand Scheduling basierend auf deterministischen Modellen

Mehr

8. Vorlesung Betriebssysteme

8. Vorlesung Betriebssysteme Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 1/69 8. Vorlesung Betriebssysteme Dr. Christian Baun Hochschule Mannheim Fakultät für Informatik wolkenrechnen@gmail.com Dr. Christian

Mehr

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation Inhaltsverzeichnis Systemprogrammierung - Kapitel 2 Prozessverwaltung 1/21 2.1 Was ist ein Prozess? Definition Prozesszustände Prozesskontrollblöcke 2.4 Thread-Systeme Sinn und Zweck Thread-Arten Thread-Management

Mehr

Round-Robin Scheduling (RR)

Round-Robin Scheduling (RR) RR - Scheduling Reigen-Modell: einfachster, ältester, fairster, am weitesten verbreiteter Algorithmus Entworfen für interaktive Systeme (preemptives Scheduling) Idee: Den Prozessen in der Bereitschaftsschlange

Mehr

Scheduling in Echtzeitbetriebssystemen. Prof. Dr. Margarita Esponda Freie Universität Berlin

Scheduling in Echtzeitbetriebssystemen. Prof. Dr. Margarita Esponda Freie Universität Berlin Scheduling in Echtzeitbetriebssystemen Prof. Dr. Margarita Esponda Freie Universität Berlin Echtzeitsysteme Korrekte Ergebnisse zum richtigen Zeitpunkt Hart Echtzeitsysteme Eine verspätete Antwort ist

Mehr

Technische Informatik II

Technische Informatik II Institut für Technische Informatik und Kommunikationsnetze Technische Informatik II Übung 1: Prozesse und Threads Aufgabe 1: Prozesse und Threads a) Wie verhält sich eine Applikation die aus mehreren Prozessen

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in

Mehr

5 CPU Scheduling. FH Regensburg BT/SS04 Betriebssysteme Wirtschaftsinformatik. 5.1 Grundlagen - 54 - 5.1.1 CPU Burst / I/O Burst

5 CPU Scheduling. FH Regensburg BT/SS04 Betriebssysteme Wirtschaftsinformatik. 5.1 Grundlagen - 54 - 5.1.1 CPU Burst / I/O Burst FH Regensburg BT/SS04 5 CPU Scheduling 5.1 Grundlagen 5.1.1 CPU Burst / I/O Burst Beobachtung: Programme rechnen typischerweise etwas, dann tätigen sie Ein/Ausgabe: CPU-Burst: das Programm rechnet eine

Mehr

Betriebssysteme und Systemsoftware

Betriebssysteme und Systemsoftware Merlin Denker Version 2 1 / 18 Vorwort Dieses Dokument soll einen Überblick über verschiedene Strategien aus der an der RWTH Aachen gehaltenen Vorlesung bieten. Die vorliegende Version dieses Dokuments

Mehr

Betriebssysteme Wintersemester 2005/06

Betriebssysteme Wintersemester 2005/06 Betriebssysteme Wintersemester 2005/06 Vorlesung 4 CPU Scheduling Dr. Oliver Waldhorst Rechnernetze und verteilte Systeme Universität Leipzig http://www.informatik.uni-leipzig.de/rnvs Fahrplan Nr. 1 2

Mehr

Hausübung 2(Musterlösung)

Hausübung 2(Musterlösung) SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Hausübung 2(Musterlösung) 2014-05-12 bis 2014-05-23 Hausübungsabgabe: Format: Lösungen in schriftlicher

Mehr

3. Scheduler und Schedulingstrategien

3. Scheduler und Schedulingstrategien 5 3 Scheduler und Schedulingstrategien Unter Scheduling versteht man einen Ablaufplan, einen Fahrplan oder eine Auswahlstrategie, nach der ein knappes Betriebsmittel im Wettbewerb befindlichen Prozessen

Mehr

Der Scheduler von Windows Konzepte und Strategien

Der Scheduler von Windows Konzepte und Strategien Gliederung Der Scheduler von Windows Konzepte und Strategien Daniel Lohmann 1 Grundbegriffe 2 Eigenschaften des Schedulers Grundlegende Eigenschaften Prioritätenmodell Dynamische Prioritätenanpassungen

Mehr

Datentechnik. => Das Rechenergebnis ist nur dann sinnvoll, wenn es rechtzeitig vorliegt. Die Zeit muß daher beim Programmdesign berücksichtigt werden.

Datentechnik. => Das Rechenergebnis ist nur dann sinnvoll, wenn es rechtzeitig vorliegt. Die Zeit muß daher beim Programmdesign berücksichtigt werden. 5. Steuerung technischer Prozesse 5.1 Echtzeit (real time) Im Gegensatz zu Aufgabenstellungen aus der Büroumgebung, wo der Anwender mehr oder weniger geduldig wartet, bis der Computer ein Ergebnis liefert

Mehr

13. Übung mit Musterlösung

13. Übung mit Musterlösung 13. Übung mit Musterlösung 1 Lösung 1 Teil 1.Multiple Choice) Bewertung: Ein Punkt für richtige Antwort, für jede falsche Antwort ein Punktabzug. a) Für die Exponentialverteilung ist die Zeit bis zum nächsten

Mehr

Kapitel III. Prozessverwaltung. VO Betriebssysteme

Kapitel III. Prozessverwaltung. VO Betriebssysteme Kapitel III Prozessverwaltung V 1 Was ist ein Prozess? Prozesse ein exekutierendes Programm (aktive Einheit) ein Prozess benötigt Ressourcen: CPU-Zeiten, Speicher, Files, I/O Systeme Betriebssystem ist

Mehr

Domänenanalyse Threadverwaltung/Scheduling

Domänenanalyse Threadverwaltung/Scheduling Domänenanalyse Threadverwaltung/Scheduling Johannes Handl, Marc Rößler, Christian Strengert 15. Mai 2003 Domänenanalyse Threadverwaltung/Scheduling [1] Domänendefinition Die Erzeugung, Verwaltung, Umschaltung/Wechsel,

Mehr

Echtzeitscheduling (1)

Echtzeitscheduling (1) Echtzeitscheduling (1) Scheduling in Betriebssystemen Ressourcenausteilung (CPU, Speicher, Kommunikation) Faire Ressourcenvergabe, insbesondere CPU Hohe Interaktivität / kurze Reaktionszeit für interaktive

Mehr

Scheduling. Gliederung. Was ist Scheduling? Scheduling. Übersicht: 1. Einführung und Übersicht. 2. Prozesse und Threads. 3. Interrupts. 4.

Scheduling. Gliederung. Was ist Scheduling? Scheduling. Übersicht: 1. Einführung und Übersicht. 2. Prozesse und Threads. 3. Interrupts. 4. Gliederung 1. Einführung und Übersicht 2. Prozesse und Threads 3. Interrupts 4. 5. Synchronisation 6. Interprozesskommunikation 7. Speicherverwaltung Cl. Schnörr / HM 1 Gliederung Cl. Schnörr / HM 2 Was

Mehr

Prozeß. 2. Prozesse. 2.1 Einführung

Prozeß. 2. Prozesse. 2.1 Einführung 2. Prozesse 2.1 Einführung Eine wichtige Eigenschaft moderner Computer ist es, dass sie mehrere Aufgaben quasi-gleichzeitig erledigen können. Wie wir in der Vorlesung über Rechnersysteme gelernt haben,

Mehr

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Architektur Verteilter Systeme Teil 2: Prozesse und Threads Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =

Mehr

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene Andi Drebes Fachbereich Informatik Universität Hamburg Gliederung Notwendigkeit des Schedulings Einführung: Begriff des Multitaskings

Mehr

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Sep 2012. 4) Task-Verwaltung

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Sep 2012. 4) Task-Verwaltung Inhalte Eigenschaften von Rechenprozessen (Tasks) Taskübergänge (process control block) Multitasking (kooperativ und präemptiv) Scheduler Erzeugen, Starten und Beenden von Tasks Taskzustände (running,

Mehr

Betriebssysteme (BS)

Betriebssysteme (BS) Betriebssysteme (BS) Scheduling Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund Olaf.Spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2012/bs/

Mehr

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel Aufgabe 1 (5 Punkte) (Multiple Choice) Beantworten Sie folgende Fragen durch Ankreuzen der richtigen Antwort. Für jede falsche Antwort wird ein Punkt abgezogen (es werden minimal 0 Punkte vergeben). Welche

Mehr

Prozesse und Scheduling

Prozesse und Scheduling Betriebssysteme für Wirtschaftsinformatiker SS04 KLAUSUR Vorbereitung mit Lösungen / Blatt 1 Prozesse und Scheduling Aufgabe 1 : Scheduling Gegeben seien die folgenden Prozesse und die Längen des jeweiligen

Mehr

Betriebssysteme. Teil 13: Scheduling

Betriebssysteme. Teil 13: Scheduling Betriebssysteme Teil 13: Scheduling Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 15.01.16 1 Literatur [13-1] Quade, Jürgen; Mächtel, Michael: Moderne Realzeitsysteme kompakt. dpunkt, 2012 [13-2] Quade,

Mehr

7.Vorlesung Betriebssysteme Hochschule Mannheim

7.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 1/70 7.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun Karlsruher Institut für Technologie Steinbuch Centre for Computing

Mehr

Übung zu Grundlagen der Betriebssysteme. 8. Übung 04.12.2012

Übung zu Grundlagen der Betriebssysteme. 8. Übung 04.12.2012 Übung zu Grundlagen der Betriebssysteme 8. Übung 04.12.2012 Threads Thread (Faden des (Kontrollflusses)): ist ein sequentieller Abarbeitungsablauf (Kontrollfluss) innerhalb eines Prozesses. Umfasst ein

Mehr

6.Vorlesung Betriebssysteme Hochschule Mannheim

6.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun 6.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 1/40 6.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun Karlsruher Institut für Technologie Steinbuch Centre for Computing

Mehr

Systemsoftware (SYS)

Systemsoftware (SYS) 5.Vorlesung Systemsoftware (SYS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Robotik 2.11.2007 Wiederholung vom letzten Mal Redundant Array of independent

Mehr

Verteilte Echtzeit-Systeme

Verteilte Echtzeit-Systeme - Verteilte Echtzeit-Systeme Hans-Albrecht Schindler Wintersemester 2015/16 Teil B: Echtzeit-Betriebssysteme Abschnitt 9: Scheduling gemischter Prozessmengen CSI Technische Universität Ilmenau www.tu-ilmenau.de

Mehr

Ein Laufzeitsystem für hochgradig parallele Simulationen

Ein Laufzeitsystem für hochgradig parallele Simulationen Ein Laufzeitsystem für hochgradig parallele Simulationen Luc Bläser ETH Zürich / LBC Informatik Seminar für Verkehrssimulation TU Berlin, 6. Juni 2008 Motivation Parallele Simulation Selbstaktive Agenten

Mehr

6.1 Einführung. Kapitel 6 Scheduling. Klassisches Scheduling-Problem. Anwendungs-Beispiele von Scheduling. Scheduling (zu deutsch etwa

6.1 Einführung. Kapitel 6 Scheduling. Klassisches Scheduling-Problem. Anwendungs-Beispiele von Scheduling. Scheduling (zu deutsch etwa 6.1 Einführung Kapitel 6 Scheduling Scheduling (zu deutsch etwa Ablaufplanung ) bedeutet i.a. die Zuordnung von Aktivitäten zu Instanzen, welche diese Aktivitäten durchführen können, in Raum und Zeit.

Mehr

Die Ausführung geschieht über die sequentielle Abarbeitung der Instruktionen.

Die Ausführung geschieht über die sequentielle Abarbeitung der Instruktionen. Kapitel 4 Prozesse Seite 1 4 Prozesse 4.1 Prozeßkonzept Prozess- ein Programm in Ausführung Die Ausführung geschieht über die sequentielle Abarbeitung der Instruktionen. Üblicher Start: über eine Kommandozeileneingabe

Mehr

Prozesse, CPU Umschalten, Dispatching und Scheduling

Prozesse, CPU Umschalten, Dispatching und Scheduling Prozesse, CPU Umschalten, Dispatching und Scheduling Aktive Elemente SS2001 Prof. H. D. Clausen - unisal 1 Prozesse Prozess - Programm in Ausführung sequentielle Programmausführung quasi-simultane Abwicklung

Mehr

Betriebssysteme. CPU-Scheduling - Fallbeispiele. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1.

Betriebssysteme. CPU-Scheduling - Fallbeispiele. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1. CPU-Scheduling - Fallbeispiele Sommersemester 2014 Prof. Dr. Peter Mandl Prof. Dr. Peter Mandl Seite 1 Gesamtüberblick 1. Einführung in 2. Betriebssystemarchitekturen und Betriebsarten 3. Interruptverarbeitung

Mehr

Betriebssysteme (BTS)

Betriebssysteme (BTS) 5.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 30.3.2007 Wiederholung vom letzten Mal Redundant Array of

Mehr

2 Echtzeitbetriebssysteme

2 Echtzeitbetriebssysteme 35 2 Echtzeitbetriebssysteme In den letzten Jahren hat sich die Automobilindustrie zu einem der wesentlichen Anwender von Echtzeitbetriebssystemen für eingebettete Systeme entwickelt. Relativ zeitig erkannten

Mehr

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper 1. Der Prozess beginnt im Zustand Erzeugt, nachdem sein Vaterprozess den Systemaufruf fork() (s.u.) abgesetzt hat. In diesem Zustand wird der Prozess-Kontext initialisiert. 2. Ist diese Aufbauphase abgeschlossen,

Mehr

Vorl. 6: Single- und Multitasking

Vorl. 6: Single- und Multitasking Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorl. 6: Single- und Multitasking Peter B. Ladkin Single Tasking Command Interpreter (ComInt) läuft wartet auf Tastatur-Eingabe

Mehr

Embedded-Linux-Seminare. Linux als Betriebssystem

Embedded-Linux-Seminare. Linux als Betriebssystem Embedded-Linux-Seminare Linux als Betriebssystem http://www.embedded-linux-seminare.de Diplom-Physiker Peter Börner Spandauer Weg 4 37085 Göttingen Tel.: 0551-7703465 Mail: info@embedded-linux-seminare.de

Mehr

Hausübung 2. Konzepte und Methoden der Systemsoftware. Aufgabe 1: Einfache Schedulingstrategien. SoSe bis

Hausübung 2. Konzepte und Methoden der Systemsoftware. Aufgabe 1: Einfache Schedulingstrategien. SoSe bis Universität Paderborn Fachgebiet Rechnernetze SoSe 2014 Konzepte und Methoden der Systemsoftware Hausübung 2 2014-05-12 bis 2014-05-23 Hausübungsabgabe: Format: Lösungen in schriftlicher oder gedruckter

Mehr

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH ARM Cortex-M Prozessoren Referat von Peter Voser Embedded Development GmbH SoC (System-on-Chip) www.embedded-development.ch 2 Instruction Sets ARM, Thumb, Thumb-2 32-bit ARM - verbesserte Rechenleistung

Mehr

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016 Verteilte Systeme SS 2016 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 31. Mai 2016 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/14) i

Mehr

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003 Task! evt. parallel zu bearbeitende Ausführungseinheit! Beispiel: Task A Zündung Task B Einspritzung Task C Erfassung Pedalwert Zeit t J. Schäuffele, Th. Zurawka:, Vieweg, 2003 Echtzeitbetriebssysteme

Mehr

RTEMS- Echtzeitbetriebssystem

RTEMS- Echtzeitbetriebssystem RTEMS- Echtzeitbetriebssystem Name: Hussein Hammoud Matrikel- Nr.: 230768 Studiengang: Technische Informatik Fach: Projekt Eingebettete Kommunikation Technische Universität Berlin Sommersemester 2006 RTEMS-

Mehr

Musterlösung der Klausur

Musterlösung der Klausur Matrikelnummer: 9999999 FB Informatik und Mathematik Prof. R. Brause Musterlösung der Klausur Betriebssysteme SS 2007 Vorname: Max Nachname: Musterfrau Matrikelnummer: 9999999 Geburtsdatum: Studiengang:

Mehr

(b) Worin besteht der Unterschied zwischen online und offline Scheduling?

(b) Worin besteht der Unterschied zwischen online und offline Scheduling? Universität Paderborn Fachgebiet Rechnernetze SoSe 2013 Konzepte und Methoden der Systemsoftware Präsenzübung 3 2013-05-06 bis 2013-05-10 Aufgabe 1: Scheduling - Grundbegriffe Bekanntlich gibt es für das

Mehr

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Vorbereitung zur Prüfung Echtzeitbetriebssysteme Vorbereitung zur Prüfung Echtzeitbetriebssysteme Zugelassene Hilfsmittel: Taschenrechner Bitte verwenden Sie keinen roten Farbstift! 1. Echtzeitbetriebssysteme - Allgemein (15 Punkte) 1.1. Warum setzen

Mehr

Operating System Kernels

Operating System Kernels Operating System Kernels von Patrick Bitterling 1 Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking

Mehr

TIMI: Technische Informatik für Medieninformatiker

TIMI: Technische Informatik für Medieninformatiker TIMI: Technische Informatik für Medieninformatiker Bachelor-Studiengang Digitale Medien Medieninformatik SS 2004 Niels Pollem Arbeitsgruppe Rechnernetze (Prof. Dr.-Ing. Ute Bormann) Scheduling:

Mehr

Lösungsskizzen zur Abschlussklausur Betriebssysteme

Lösungsskizzen zur Abschlussklausur Betriebssysteme Lösungsskizzen zur Abschlussklausur Betriebssysteme 24. Januar 2013 Name: Vorname: Matrikelnummer: Studiengang: Hinweise: Tragen Sie zuerst auf allen Blättern (einschlieÿlich des Deckblattes) Ihren Namen,

Mehr

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis...

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis... 1 Einführung................................................ 1 1.1 Was ist ein Betriebssystem?............................... 1 1.1.1 Betriebssystemkern................................ 2 1.1.2 Systemmodule....................................

Mehr

Windows CE. Process Control and Robotics. Fabian Garagnon

Windows CE. Process Control and Robotics. Fabian Garagnon Windows CE Process Control and Robotics Fabian Garagnon 14.01.2009 Agenda 3 Geschichte & Timeline Echtzeit & Multithreading Architektur Memory Management & Context Switch Entwicklung unter CE Interrupts

Mehr

BP 2 Prozessorvergabe - Multiprozessoren: Kern-Fäden. besten, wenn der Zusatzaufwand für Kontextumschaltungen gering ist.

BP 2 Prozessorvergabe - Multiprozessoren: Kern-Fäden. besten, wenn der Zusatzaufwand für Kontextumschaltungen gering ist. BP 2 Prozessorvergabe - Multiprozessoren: Kern-Fäden 5.2 Prozessorvergabe für Kern-Fäden Scheduler-Struktur Struktur der Warteschlangen Parallele Bearbeitung von Warteschlangen Strategien Statische oder

Mehr

Musterlösung der Abschlussklausur Betriebssysteme

Musterlösung der Abschlussklausur Betriebssysteme Musterlösung der Abschlussklausur Betriebssysteme 14. Februar 2014 Name: Vorname: Matrikelnummer: Tragen Sie auf allen Blättern (einschlieÿlich des Deckblatts) Ihren Namen, Vornamen und Ihre Matrikelnummer

Mehr

VORSTELLUNG DER DIPLOMARBEIT

VORSTELLUNG DER DIPLOMARBEIT 1 VORSTELLUNG DER DIPLOMARBEIT Thomas Werner Inhaltsverzeichnis 2 Thema Aufgabenstellung Anwendungsdebugging Threads Remote Debugging Implementierung Ausblick Quellen 3 Thema Untersuchung von Funktionsabläufen

Mehr

Musterlösung Prüfung SS 2002

Musterlösung Prüfung SS 2002 Musterlösung Prüfung SS 2002 Fach: I4neu (SEE, KOS, GRS, BTS) Teilprüfung: Betriebssystem Tag: 2.7.2002 8:15 12:15 Raum 1006 Bearbeitungszeit: 72 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:

Mehr

In diesem Kapitel will ich die Grundlagen legen, die für das Verständnis von Mac OS X hilfreich sind.

In diesem Kapitel will ich die Grundlagen legen, die für das Verständnis von Mac OS X hilfreich sind. 11 In diesem Kapitel will ich die Grundlagen legen, die für das Verständnis von Mac OS X hilfreich sind. Unterschiede zu anderen Systemen Abb. 2 1 Die Grundarchitektur Diese Beschreibung von Mac OS X ist

Mehr

(Prüfungs-)Aufgaben zum Thema Scheduling

(Prüfungs-)Aufgaben zum Thema Scheduling (Prüfungs-)Aufgaben zum Thema Scheduling 1) Geben Sie die beiden wichtigsten Kriterien bei der Wahl der Größe des Quantums beim Round-Robin-Scheduling an. 2) In welchen Situationen und von welchen (Betriebssystem-)Routinen

Mehr

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum Moderne Betriebssysteme Kapitel 8 Multiprozessorsysteme Kapitel 8 Folie: 1 Multiprozessorsysteme Autor: Andrew S. Tanenbaum Pearson Studium 2009 2 3 4 5 6 7 Betriebssystemarten für Multiprozessoren Jede

Mehr

Kapitel 2: Betriebssysteme

Kapitel 2: Betriebssysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Vorlesung: Dr. Peer Kröger Übungen:

Mehr

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002 Die L4-Mikrokern Mikrokern-Familie Hauptseminar Ansätze für Betriebssysteme der Zukunft 18.04.2002 Folie 1 Aufbau des Vortrags 1. Mikrokerne: Idee und Geschichte 2. L4: ein schneller Mikrokern 3. L4Linux:

Mehr

Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG

Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG Am Pfaffenstein 14 D-55270 Klein-Winternheim Tel. +49 (0) 6136 9948-0 Fax. +49 (0) 6136 9948-10 PikeOS: multiple VM Umgebung VM #0 VM #1 VM #2... PikeOS

Mehr

Real-Time Operating Systems Ein Überblick

Real-Time Operating Systems Ein Überblick Real-Time Operating Systems Ein Überblick Stefan Tittel Universität Dortmund Proseminar: Werkzeuge und Techniken zur Spezifikation, Simulation und Implementierung von eingebetteten Systemen, 2004 1 Einführung

Mehr

Von Prozessen und Prozessoren (Prozess-Management)

Von Prozessen und Prozessoren (Prozess-Management) Von Prozessen und Prozessoren (Prozess-Management) V1.1 Technische Berufsschule Zürich IT Seite 1 Aus dem Geschichtsbuch: Grossrechner IBM 7094, 1965: Online- und Batchbetrieb IBM-Lochkarte Technische

Mehr

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme Wilhelm Haas Wilhelm.Haas@informatik.stud.uni-erlangen.de Friedrich-Alexander-Universität Erlangen-Nürnberg Institut für Informatik Lehrstuhl 4

Mehr

4 Threads. FH Regensburg BT/SS04 Betriebssysteme Wirtschaftsinformatik. 4.1 Allgemein

4 Threads. FH Regensburg BT/SS04 Betriebssysteme Wirtschaftsinformatik. 4.1 Allgemein 4 Threads 4.1 Allgemein Prozessmodell: Zwei unabhängige Eigenschaften eines Prozesses: Er hat Resourcen: Adressen, Daten, geöffnete Dateien und ist ausführbar Thread: hat keine eigenen Resourcen (ausser

Mehr

3. Unix Prozesse. Betriebssysteme Harald Kosch Seite 57

3. Unix Prozesse. Betriebssysteme Harald Kosch Seite 57 3. Unix Prozesse Ein Prozeß ist die Umgebung eines laufenden Programms. Ein bißchen Analogie. Wer kocht gerne? Papa möchte mit Hilfe eines Rezeptes eine Torte für seine Tochter backen. Das Rezept ist das

Mehr

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN 2. UNIX/Linux-Prozessverwaltung und zugehörige Systemaufrufe Wintersemester 2015/16 2. Die UNIX/LINUX-Prozessverwaltung Aufgaben: 1. Erzeugen neuer Prozesse

Mehr

Thread-Erzeugung kostengünstiger als Prozesserzeugung Thread-Umschaltung kostengünstiger als Prozessumschaltung

Thread-Erzeugung kostengünstiger als Prozesserzeugung Thread-Umschaltung kostengünstiger als Prozessumschaltung 1.5 Threaded Server Server als ein Prozess mit mehreren Threads Threads Thread als Aktivitätsträger virtueller Prozessor eigener Programmzähler eigener Stackbereich eingebettet in den Kontext eines Prozesses

Mehr

Klassisches Scheduling-Problem 6 Prozesse 3 Prozessoren. Strategie und Mechanismus

Klassisches Scheduling-Problem 6 Prozesse 3 Prozessoren. Strategie und Mechanismus Betriebssysteme Sommersemester 0. Einführung Betriebssysteme. Kapitel Scheduling Prof. Matthias Werner Professur Betriebssysteme Scheduling (etwa: Ablaufplanung): Zeitliche Zuordnung von Aktivitäten zu

Mehr

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Betriebssysteme Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Umfaßt z.b. auch Compiler, Interpreter und Dienstprogramme

Mehr

Prozesse und Threads. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at

Prozesse und Threads. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Prozesse und Threads Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1 Ziel: Gleichzeitiges, kontrolliertes Ausführen von Programmen auf einem Rechner Welche Mechanismen sind

Mehr

Nebenläufige Programmierung

Nebenläufige Programmierung Nebenläufige Programmierung Perspektiven der Informatik 27. Januar 2003 Gert Smolka Telefon-Szenario Eine Telefonzelle Mehrere Personen wollen telefonieren Immer nur eine Person kann telefonieren Ressource

Mehr

Parallelverarbeitung mit Ruby

Parallelverarbeitung mit Ruby Fachhochschule Wiesbaden - Fachbereich DCSM Parallelverarbeitung mit Ruby Prozess-Ebene Multithreading 04.12.2008 2003, 2008 H. Werntges, FB Design Informatik Medien (DCSM), FH Wiesbaden 1 Fachhochschule

Mehr

Technische Informatik II

Technische Informatik II Institut für Technische Informatik und Kommunikationsnetze Technische Informatik II Übung 3: Input / Output Hinweis: Weitere Aufgaben zu diesem Thema finden sie in den Begleitbüchern zur Vorlesung. Aufgabe

Mehr

Rechnernutzung in der Physik. Betriebssysteme

Rechnernutzung in der Physik. Betriebssysteme Rechnernutzung in der Physik Betriebssysteme 1 Betriebssysteme Anwendungsprogramme Betriebssystem Treiber BIOS Direkter Zugriff von Anwenderprogrammen auf Hardware nur in Ausnahmefällen sinnvoll / möglich:

Mehr

Einführung in die Echtzeitbetriebssysteme

Einführung in die Echtzeitbetriebssysteme Einführung in die Echtzeitbetriebssysteme Hauptseminararbeit in dem Studiengang B.Sc. Informatik von Maximilian von Piechowski Technische Hochschule Mittelhessen Inhaltsverzeichnis 1 Was versteht man unter

Mehr

Übungen zum Fach Betriebssysteme Kapitel 3

Übungen zum Fach Betriebssysteme Kapitel 3 Übungen zum Fach Betriebssysteme Kapitel 3 Prof. Dr. Kern & Prof. Dr. Wienkop Prozessverwaltung 1 Prozeßauslagerung Ein Betriebssystem, das die Zustände "rechnend", "bereit" und "wartend" sowie den künstlichen

Mehr

Zusammenfassung Modul 223

Zusammenfassung Modul 223 Zusammenfassung Modul 223 von Christian Roth Powered by Schuschu Bison Schweiz AG, Surentalstrasse 10, CH-6210 Sursee, www.bison-group.com Inhaltsverzeichnis 1 Entwurfmuster... 3 1.1 Singleton... 3 1.1.1

Mehr

183.579, SS2012 Übungsgruppen: Do., 14.6. Mi., 20.6.2012

183.579, SS2012 Übungsgruppen: Do., 14.6. Mi., 20.6.2012 VU Technische Grundlagen der Informatik Übung 8: Systemsoftware und Netzwerke 183.579, SS2012 Übungsgruppen: o., 14.6. Mi., 20.6.2012 ufgabe 1: Virtual Memory Zeichnen Sie ein System das Paging zur Speicherverwaltung

Mehr

Inhaltsverzeichnis. 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners

Inhaltsverzeichnis. 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners Inhaltsverzeichnis Systemprogrammierung - Kapitel 1 Einführung 1/19 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners E/A-Operationen, Speicherstrukturen

Mehr