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

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 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

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

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

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

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

Ü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

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

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

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

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

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

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

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

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

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

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

Ü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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Betriebssysteme (BTS)

Betriebssysteme (BTS) 19.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 22.6.2007 Heute 2.Testklausur mit 22 Fragen aus den Vorlesungen

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

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

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

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

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

(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

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

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

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Name: Matrikel-Nr: Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Bitte schreiben Sie leserlich und antworten Sie kurz und präzise. 1. Zeichnen Sie das Schichten-Modell eines Computersystems und markieren

Mehr

Kapitel III. Prozesse. Prozessverwaltung. Was ist ein Prozess?

Kapitel III. Prozesse. Prozessverwaltung. Was ist ein Prozess? Kapitel III Prozessverwaltung 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 verantwortlich

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

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

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Friedrich-Alexander-Universität Erlangen-Nürnberg Ausgewählte Kapitel eingebetteter Systeme Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Sven Kerschbaum 1. Einführung Bei einem eingebetteten

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

Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung

Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung Zusammenfassung Kapitel 4 Dateiverwaltung 1 Datei logisch zusammengehörende Daten i.d.r. permanent

Mehr

Unterschiede in den Konzepten von TinyOS und Embedded Linux

Unterschiede in den Konzepten von TinyOS und Embedded Linux Fakultät Informatik Institut für Angewandte Informatik, Professur Technische Informationssysteme Unterschiede in den Konzepten von TinyOS und Embedded Linux Dresden, 29.11.2010 Inhalt 1. Einführung 1.1

Mehr

Betriebssystem? Übersicht. Ziele. Grundlagen. Das ist nur die Oberfläche... Wissen, was man unter einem Betriebssystem versteht

Betriebssystem? Übersicht. Ziele. Grundlagen. Das ist nur die Oberfläche... Wissen, was man unter einem Betriebssystem versteht Betriebssysteme Grundlagen Quellen: InSy Folien zum Thema Unix/Linux Wikipedia Das ist nur die Oberfläche... 1 Ziele 2 Übersicht Wissen, was man unter einem Betriebssystem versteht Was Was ist istein einbetriebssystem?

Mehr

20 Eingebettete Software

20 Eingebettete Software 20 Eingebettete Software 20.0 Einführung Lernziele Echtzeitsysteme Eingebettete Systeme 20.1 Entwurf eingebetteter Systeme Modellierung von Echtzeitsystemen Programmierung von Echtzeitsystemen 20.2 Architekturmuster

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

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen Albrecht Achilles 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Betriebssysteme Eine kompakte Einführung mit Linux

Mehr

POSIX Echtzeit: Kernel 2.6 und Preempt-RT

POSIX Echtzeit: Kernel 2.6 und Preempt-RT POSIX Echtzeit: Kernel 2.6 und Preempt-RT Slide 1 - http://www.pengutronix.de - 21.01.2007 Echtzeit-Systemplanung Wenn das zeitliche Verhalten spezifiziert ist, kann auch spezifiziert werden, welche Applikationsteile

Mehr

Prozesse. Stefan Janssen. sjanssen@cebitec.uni-bielefeld.de. Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de

Prozesse. Stefan Janssen. sjanssen@cebitec.uni-bielefeld.de. Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Netzwerk - Programmierung Prozesse Stefan Janssen sjanssen@cebitec.uni-bielefeld.de Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Madis Rumming mrumming@cebitec.uni-bielefeld.de Übersicht Prozesse

Mehr

Prozesse und Logs Linux-Kurs der Unix-AG

Prozesse und Logs Linux-Kurs der Unix-AG Prozesse und Logs Linux-Kurs der Unix-AG Benjamin Eberle 22. Januar 2015 Prozesse unter Linux gestartete Programme laufen unter Linux als Prozesse jeder Prozess hat eine eindeutige Prozess-ID (PID) jeder

Mehr

Prozesseinplanung. Kurzfristige Einplanung. Mittelfristige Einplanung. Abfertigungszustände

Prozesseinplanung. Kurzfristige Einplanung. Mittelfristige Einplanung. Abfertigungszustände Prozesseinplanung Kurzfristige Einplanung Systemaufrufe Programmverwaltung Zugriffskontrolle Dateiverwaltung Ein /Auslagerung Vernetzung Ein /Ausgabe Fadenverwaltung Koordination Prozesseinplanung Prozessabfertigung

Mehr

Dipl.-Inf. J. Richling Wintersemester 2003/2004. Weiche Echtzeit

Dipl.-Inf. J. Richling Wintersemester 2003/2004. Weiche Echtzeit Dipl.-Inf. J. Richling Wintersemester 2003/2004 Weiche Echtzeit Wiederholung - Resultat/Wert-Funktion "harte" Echtzeit Wert Zeit Wert Zeit Wert Deadline Zeit "weiche" Echtzeit Wert Deadline Zeit Deadline

Mehr

Kapitel I Betriebssysteme: Aufgaben und Überblick Betriebssysteme: VO Betriebssysteme 2

Kapitel I Betriebssysteme: Aufgaben und Überblick Betriebssysteme: VO Betriebssysteme 2 Vorlesung: Betriebssysteme T. Fahringer Institut für Informatik Universität Innsbruck VO Betriebssysteme Thomas.Fahringer@uibk.ac.at 1 Kapitel I Betriebssysteme: Aufgaben und Überblick VO Betriebssysteme

Mehr

Embedded OS für ARM Cortex Microcontroller

Embedded OS für ARM Cortex Microcontroller Embedded OS für ARM Cortex Microcontroller RTOS Design, Timinganalyse und Test mit Core Simulation und Hardware Debugger Entscheidende Fragen für oder gegen RTOS Lohnt sich der Einsatz eines RTOS auch

Mehr

Echtzeitanforderung und Linux

Echtzeitanforderung und Linux Echtzeitanforderung und Linux Slide 1 - http://www.pengutronix.de - 21.01.2007 Definition Harte Echtzeit I Was zeichnet ein Echtzeitsystem aus? Zeitverhalten ist Teil der System-Spezifikation! Bei Embedded-Systemen

Mehr

Prozesse und Logs Linux-Kurs der Unix-AG

Prozesse und Logs Linux-Kurs der Unix-AG Prozesse und Logs Linux-Kurs der Unix-AG Andreas Teuchert 27./28. Juni 2012 Prozesse unter Linux gestartete Programme laufen unter Linux als Prozesse jeder Prozess hat eine eindeutige Prozess-ID (PID)

Mehr

Einführung in UNIX 1. Das Betriebssystem UNIX ist fähig, mehrere Aufgaben scheinbar gleichzeitig zu erledigen. Dies wird mit Multitasking bezeichnet.

Einführung in UNIX 1. Das Betriebssystem UNIX ist fähig, mehrere Aufgaben scheinbar gleichzeitig zu erledigen. Dies wird mit Multitasking bezeichnet. Einführung in UNIX 1 7 Prozesse Das Betriebssystem UNIX ist fähig, mehrere Aufgaben scheinbar gleichzeitig zu erledigen. Dies wird mit Multitasking bezeichnet. Auf einem UNIX-Rechner können hundert oder

Mehr

1. Prozesse & Threads (10 Punkte)

1. Prozesse & Threads (10 Punkte) Fachbereich Informatik/Mathematik Seite 1/9 1. Prozesse & Threads (10 Punkte) a) Erklären Sie den Unterschied zwischen Prozessen und Threads. [4 P.] Der wesentliche Unterschied ist, dass Prozesse über

Mehr

Performance Messungen von FreeRTOS und

Performance Messungen von FreeRTOS und Performance Messungen von FreeRTOS und µc/os-iii auf ARM-Architekturen Tim Wacher (wht4@bfh.ch) Master of Science in Engineering MRU Production Technology 16. August 2011/ CH-3400 Burgdorf Outline 1 Ziel

Mehr

Informatik II. Betriebssysteme. Betriebssysteme. Betriebssysteme. Betriebssysteme. Rainer Schrader. 26. November 2008

Informatik II. Betriebssysteme. Betriebssysteme. Betriebssysteme. Betriebssysteme. Rainer Schrader. 26. November 2008 Informatik II Rainer Schrader Zentrum für Angewandte Informatik Köln 26. November 2008 1 / 73 2 / 73 Gliederung Aufgaben Scheduling Speicherverwaltung ist ein Standardthema in jedem Informatik-Curriculum

Mehr

Vorlesung: Betriebssysteme

Vorlesung: Betriebssysteme Vorlesung: Betriebssysteme T. Fahringer Institut für f r Informatik Universität t Innsbruck Thomas.Fahringer@uibk.ac.at 1 Kapitel I Betriebssysteme: Aufgaben und Überblick 2 Was ist ein Betriebssystem

Mehr

CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik)

CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik) Prof. Dr. Th. Letschert CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik) Vorlesung 7 Th Letschert FH Gießen-Friedberg Ressourcen Verwaltung passive Ressourcen aktive Ressourcen

Mehr

Schichtenmodell eines Betriebssystems

Schichtenmodell eines Betriebssystems FB Technologie und Management SISD Operanden VonNeumannRechner Rechenwerk Ergebnisse Datenverarbeitung (DV 1) (Kapitel 6 Betriebssysteme) Steuerwerk Speicherwerk Befehle Eingabe Speicher Ausgabe 1 2 Layer

Mehr

Reflex The Real-Time Event Flow EXecutive

Reflex The Real-Time Event Flow EXecutive Einführung The Real-Time Event Flow EXecutive Karsten Walther, und Jörg Nolte Brandenburgische Technische Universität Cottbus 1. Statusseminar des InnoProfile Projekt TANDEM 2007 Gliederung Einführung

Mehr

Betriebssysteme (BS)

Betriebssysteme (BS) Betriebssysteme (BS) Prozesse 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/ss2011/bs/

Mehr

Scheduling-Verfahren für Mehrbenutzer-Systeme. Klaus Kusche, Juni 2012

Scheduling-Verfahren für Mehrbenutzer-Systeme. Klaus Kusche, Juni 2012 Scheduling-Verfahren für Mehrbenutzer-Systeme Klaus Kusche, Juni 2012 Inhalt Einleitung & Begriffe Ziele & Voraussetzungen Das Round-Robin-Verfahren...... und seine Probleme Die Scheduler in Windows und

Mehr

Zusammenfassung Betriebssysteme. Michael Gregorius. 15. November 2002 M G. http://www.michaelgregorius.de/

Zusammenfassung Betriebssysteme. Michael Gregorius. 15. November 2002 M G. http://www.michaelgregorius.de/ Zusammenfassung Betriebssysteme Michael Gregorius 15. November 2002 M G http://www.michaelgregorius.de/ Vorwort Diese Zusammenfassung wurde im Rahmen der Vorbereitung auf die zweite Hauptdiplomsprüfung

Mehr

COMPOSITA: Eine Studie über Laufzeit-Architekturen für massiv parallele Systeme

COMPOSITA: Eine Studie über Laufzeit-Architekturen für massiv parallele Systeme COMPOSITA: Eine Studie über Laufzeit-Architekturen für massiv parallele Systeme Luc Bläser HSR Hochschule für Technik Rapperswil Jürg Gutknecht ETH Zürich Vortrag KPS 2013 1 Oktober 2013 Motivation Heutige

Mehr

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS geschrieben von Oliver Botschkowski 1 Offene Systeme und deren Schnittstelle für die Elektronik im Kraftfahrzeug 1 Oliver Botschkowski - OSEK-OS

Mehr

Implementierung der Jikes Research Virtual Machine

Implementierung der Jikes Research Virtual Machine Fakultät Informatik Institut für technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Implementierung der Jikes Research Virtual Machine Hauptseminar Technische Informatik

Mehr

bzw. 7. Nebenläufigkeit

bzw. 7. Nebenläufigkeit 7. Nebenläufigkeit 7.1 Terminologie Thread: - In einer bestimmten Reihenfolge (sequentiell) auszuführende Folge von Instruktionen, - Typischerweise ein Ausführungskeller für Prozeduraufrufe und Rekursion,

Mehr

Definitionenen und Grundlagen

Definitionenen und Grundlagen Echtzeitbetriebssysteme & verteilte Systeme, Teil 1 Dozent: Dr. rer. nat. Frank Dopatka Voraussetzung: Grundkenntnisse in Betriebssystemen & -Verfahren Ziel: Einführung in industrielle Echtzeitanforderungen,

Mehr

5 Speicherverwaltung. bs-5.1 1

5 Speicherverwaltung. bs-5.1 1 5 Speicherverwaltung bs-5.1 1 Pufferspeicher (cache) realer Speicher Primärspeicher/Arbeitsspeicher (memory) Sekundärspeicher/Hintergrundspeicher (backing store) (Tertiärspeicher/Archivspeicher) versus

Mehr

Betriebssysteme it-akademie Bayern z/os und OS/390 Lehrgang 2008 Prof. Dr.-Ing. Wilhelm G. Spruth Teil 6 Scheduling

Betriebssysteme it-akademie Bayern z/os und OS/390 Lehrgang 2008 Prof. Dr.-Ing. Wilhelm G. Spruth Teil 6 Scheduling Betriebssysteme it-akademie Bayern z/os und OS/390 Lehrgang 2008 Prof. Dr.-Ing. Wilhelm G. Spruth Teil 6 Scheduling copyright W. G. Spruth, 10-2005 Hardware Extern E/A Programm System- Fehler Aufruf Unterbrechungssteuerung

Mehr

1.6 Anwendung/Prozesse, Umleitung und Verkettung

1.6 Anwendung/Prozesse, Umleitung und Verkettung 1.6 Anwendung/e, Umleitung und Verkettung 1.6.1 e Ein (englisch task) ist ein im Lauf befindliches Programm. Auf einem Linux-System erhält man mit den Befehlen ps (process list), top (table of processes)

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) 6. Übung http://ess.cs.tu-.de/de/teaching/ws2013/bsb/ Olaf Spinczyk olaf.spinczyk@tu-.de http://ess.cs.tu-.de/~os AG Eingebettete System Informatik 12, TU Dortmund Agenda Vorstellung

Mehr

3. Betriebssystemorganisation

3. Betriebssystemorganisation 3. Betriebssystemorganisation 3.1 Monolithische Betriebssysteme Sammlung von Routinen, ohne Hierarchie, Kapselung und Schichtung. Jede Prozedur kann beliebige andere aufrufen und Datenstrukturen ändern.

Mehr

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! VO 182.711 Prüfung Betriebssysteme 8. November 2013 KNr. MNr. Zuname, Vorname Ges.)(100) 1.)(35) 2.)(20) 3.)(45) Zusatzblätter: Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! 1 Synchronisation

Mehr

Rechnerarchitektur. 11. Betriebssysteme und Prozesse. Inhalt. Ziele von Betriebssystemen. Betriebssystemkomponenten. Betriebssystemkomponenten

Rechnerarchitektur. 11. Betriebssysteme und Prozesse. Inhalt. Ziele von Betriebssystemen. Betriebssystemkomponenten. Betriebssystemkomponenten Inhalt Rechnerarchitektur 11. e und Soft- und eines Rechners Ziele von en komponenten dienste und -funktionen Mehrprogrammbetrieb Dateisysteme Ein-/Ausgabe architekturen Monolithische Systeme Geschichtete

Mehr

Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching. Rainer Müller

Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching. Rainer Müller Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching Rainer Müller 21. November 2013 Spezialisierung von Betriebssystemen Vielzweckbetriebssysteme (General Purpose OS,

Mehr

Vorlesung Betriebssysteme

Vorlesung Betriebssysteme Vorlesung Betriebssysteme Dipl.-Inform. Reinhard Griesinger Reinhard.Griesinger@gmx.de http://griesinger.gmxhome.de/reinhard/vorlesungen/betriebssysteme Ausgabe Frühjahr 2014 ii Inhaltsverzeichnis 1 Was

Mehr