Vorlesung Informatik 2

Größe: px
Ab Seite anzeigen:

Download "Vorlesung Informatik 2"

Transkript

1 Vorlesung Informatik 2 Teil 4: Rechnerarchitektur und Parallelverarbeitung Echtzeitprogrammierung Stand Lernziele für dieses Kapitel Die blau & kursiv gedruckten Begriffe sind Ihnen geläufig Sie können erklären, was unter Echtzeitbetrieb verstanden wird und wie man Echtzeitanforderungen formulieren kann. Sie können das Konzept Multi-Tasking erklären und die daraus erwachsenden Aufgaben für ein Betriebssystem erläutern. Sie wissen, wozu ein Scheduler benötigt wird und nach welchen Strategien er funktioniert. Sie wissen, wozu man wechselseitigen Ausschluß braucht, welche verschiedenen Lösungskonzepte zur Implementierung von wechselseitigem Ausschluß es gibt und wie man diese (auf Maschinenbefehlsebene) ununterbrechbar realisiert. Sie können Synchronisierung, Koordinierung und Datentransfer unterscheiden und erklären, wie sie funktionieren. Slide 1

2 Inhalt Echtzeitbetrieb Multitasking Scheduling Zeitgeber Wechselseitiger Ausschluss Synchronisierung und Datentransfer zwischen Tasks Brown-out Behandlung Watchdogs Slide 2 Echtzeitbetrieb Rechner sind heute zum überwiegenden Anteil in sogenannten eingebetteten Anwendungen, z.b. zur Steuerung und/oder Analyse von Geräten, Maschinen oder Anlagen, verbaut Der Rechner ist dabei integraler Bestandteil des Geräts, der Maschine oder der Anlage Heute sind 9 von 10 aller elektronischen Bauelemente in eingebetteten Systemen verbaut Eine statistische Erhebung in 2002 hat ergeben, dass von 8,3 Milliarden weltweit produzierten Prozessoren 8,15 Milliarden in eingebetteten Systemen verbaut wurden; lediglich 150 Millionen wurden in Personal Computern, Servern und Mainframes verbaut. Das entspricht einem Verhältnis von 98:2 Beispiel: ein Oberklasse Auto besitzt heute (je nach Zusatzausstattung) bis über 100 miteinander vernetzte Microcontroller mit jeweils bis zu LOC (Lines of Code, Quellcode-Zeilen) Slide 3

3 Echtzeitbetrieb (*) der Begriff Ausgabe meint "Ergebnisse", nicht unbedingt, dass diese an einen Nutzer "ausgegeben" werden Klassifikation von Rechnersystemen (rein) transformationale Systeme Systeme, die anfänglich und vollständig bekannte Eingaben in eine Ausgabe(*) transformieren während der Berechnung ist keine Interaktion möglich interaktive Systeme Systeme, die kontinuierlich Ausgaben erzeugen und sich mit ihrer Umgebung synchronisieren und interagieren Synchronisation und Interaktion erfolgt dabei entweder proaktiv (das System fordert von sich aus neue Daten an (engl. "to prompt") oder reaktiv (Ereignisse und Daten werden von der Umgebung an das System herangetragen und das System muss darauf reagieren) Interaktive Systeme sind abschnittsweise transformational, da sie i.a. nicht zu jedem beliebigen Zeitpunkt zur Interaktion fähig sind. Wenn nötig, werden geschützte Programmabschnitte definiert, in denen keine Interaktion passieren darf (z.b. Maskierung von Interrupts) Slide 4 Echtzeitbetrieb Bei interaktiven Systemen geht man oft davon aus, dass sie nichtdeterministisch sind: der Computer trifft die Entscheidung ob und wann eine Anfrage beantwortet werden soll auch die Reaktion auf eine Sequenz von Anfragen muss nicht immer gleich sein Deterministisches (vorhersagbares) Verhalten ist dagegen ein fester Bestandteil eines reaktiven Systems die Reaktion muss eindeutig durch die Eingabesignale und ggf. durch deren Reihenfolge bestimmt sein Das Verhalten eines nichtdeterministischen Systems ist weitaus schwieriger zu modellieren und verlangt andere Methoden, Techniken und Werkzeuge Slide 5

4 Echtzeitbetrieb Klassifikation eingebetteter Systeme Mobiltelefon, Brotbackautomat, Microwelle Herzschrittmacher ABS, ESP, Airbag eingebettete Systeme sind Rechnersysteme, die integraler Bestandteil eines mechanischen, chemischen oder biologischen Systems sind reaktive Systeme sind eingebettete Systeme, die kontinuierlich mit ihrer Umgebung interagieren und deren Interaktion weniger durch das System selbst, als durch Ereignisse aus ihrer Umgebung bestimmt werden wichtige Eigenschaften: funktionale Korrektheit Determinismus Nebenläufigkeit hohe Zuverlässigkeit Einhaltung von Zeitschranken Echtzeitsysteme sind reaktive Systeme deren erlaubte Reaktionszeit eng limitiert ist Systeme, die oftmals sicherheitskritisch sind Slide 6 Echtzeitbetrieb Strukturbild eines eingebetteten Systems Kontrolleinheit (Electronic Control Unit, ECU) (Steuergerät) Benutzer- Schnittstelle Stellgrössen Prozessgrössen Aktoren (Aktuatoren) Eingriff Sensoren Messung kontrollierter Teil der Umgebung Umgebung Slide 7

5 Echtzeitbetrieb Kern der Kontrolleinheit ist ein Microcontroller ein speziell für die Prozesssteuerung zugeschnittener Microprozessor (CPU) mit Speicher und E/A Funktionen auf dem Chip integriert Implementierungsvarianten: ASIP Application Specific Instruction Set Computer von seiner Struktur und seinem Befehlssatz her auf den Einsatz in bestimmten Anwendungen optimierter Microprozessor DSP Digital Signal Processor ein ASIP für die Signalverarbeitung mit Spezialbefehlen, z.b. für die schnelle Fourier-Transformation (FFT), MPEG, JPEG, bspw. eingesetzt in MP3 Playern, Bildverarbeitung, Sprachsignalverarbeitung ASIC Application Specific Integrated Circuit anwendungsspezifische integrierte Schaltung, die spezifische Leistungs- und Zeitanforderungen erfüllt kann wie ein ASIP programmierbar oder auch fest verdrahtet sein FPGA Field-Programmable Gate Array ein komplexer programmierbarer Logikbaustein aus einzelnen Funktionsblöcken, die in regelmässigen Strukturen (Arrays) angeordnet sind die Funktionen der einzelnen Blöcke und das Netzwerk der Verbindungen zwischen Blöcken ist programmierbar (einmalig oder re-konfigurierbar) Slide 8 Echtzeitbetrieb An Rechenanlagen in eingebetteten Systemen werden erhöhte Anforderungen gestellt, die teils durch Hardware, teils durch Software erfüllbar sind: Temperatur Erschütterung EM-Störungen Verfügbarkeit Zuverlässigkeit Reaktionszeiten Software Hardware informell: Erfüllbarkeit durch SW bzw. HW In diesem Kapitel werden vor allem reaktive, deterministische Systeme betrachtet Im Vordergrund steht die Frage der Garantie von (minimalen) Reaktionszeiten, also der hauptsächlich softwareseitig lösbare Teil des Problems eingebetteter Anwendungen Slide 9

6 Echtzeitbetrieb Server / Host und desk-top Betriebssysteme Realzeit- Betriebssysteme Nimmt man einen "nackten" Rechner (ohne Betriebssystem) an, auf dem die Programme als Kollektion von Assembler-Routinen (davon einige als Interrupt-Service-Routinen (ISR)) vorliegen, dann hat der Programmierer die volle Kontrolle über die Ausführungszeiten jeder einzelnen Routine, wenn er sehr diszipliniert programmiert er kann jede mögliche Ausführungsreihenfolge (insbesondere die Schachtelung von ISR Aufrufen) bzgl. maximaler Laufzeit abschätzen und kann auf dieser Basis (nachweisbare) Garantien abgeben Diese Art der Programmierung ist für kleinere Mikrocontroller angemessen und überschaubar. Komplexere Anwendungen verlangen jedoch eine (zu) große Zahl von Routinen, so dass das (erwünschte und vor allem das nicht erwünschte) Zusammenwirken aller Routinen nicht mehr im Voraus vollständig übersehen werden kann Man erreicht bald die Situation, in der man ein Betriebssystem braucht, welches geeignete Abstraktionen für Laden, Starten und Unterbrechen von Programmen bereitstellt die Programme wirksam voreinander schützt die Ressourcen (CPU, ) fair zwischen den konkurrierenden Programmen verteilt geeignete Mittel der Interaktion zwischen Programmen bereitstellt gleichzeitig die Realzeitfähigkeit der Anwendungen aufrecht erhält Slide 10 Echtzeitbetrieb Definition Betriebssystem (DIN 44300): Unter einem Betriebssystem versteht man diejenigen Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage die Basis der möglichen Betriebsarten des digitalen Rechnersystems bilden und insbesondere die Abwicklung von Programmen steuern und überwachen. Definition Betriebsmittel (Ressource): Betriebsmittel sind allgemeine Objekte, welche die Rechenprozesse während ihres Ablaufs benötigen und auf die sie warten müssen, wenn sie nicht verfügbar sind (u.a. da ein anderer Rechenprozess sie gerade in Anspruch nimmt). Beispiele derartiger Betriebsmittel sind CPU, Speicherbereiche, Peripheriegeräte, usw., aber auch Systemprogramme und Prozeduren. Slide 11

7 Echtzeitbetrieb In den Vorlesungen wurden bisher sogenannte sequentielle Hochsprachen- Programme betrachtet, die mithilfe eines handelsüblichen Compilers und (desk-top) Betriebssystems (Windows, Unix) sowie der entsprechenden Hardware zur Ausführung gebracht wurden Die Anforderungen an die Verfügbarkeit und Reaktionszeit des Rechners sind mit "einfacher" sequentieller Programmierung und desk-top Betriebssystemen in vielen Anwendungsfällen (Kernkraftwerk, Flugzeug, Bremsassistent, Airbag-Controller) nicht zu erfüllen, sondern verlangen 1. Programme, die auf Realzeitfähigkeit hin entwickelt wurden 2. Betriebssysteme, die solche Programme so unterstützen, dass diese die Anforderungen auch in Konkurrenz zu anderen Programmen erfüllen können 3. ggf. auch besondere Hardware (I/O an Sensoren und Aktuatoren, Interrupt-Werke, Mehrprozessorsysteme, ) In diesem Kapitel befassen wir uns mit den Konzepten zur Programmierung sowie Eigenschaften von Betriebssystemen im Kontext von Realzeit- Anforderungen Slide 12 Echtzeitbetrieb Realzeitfähigkeit ist ein relativer Begriff jeder Rechner / jedes Betriebssystem ist realzeitfähig jedoch nicht in jedem Anwendungskontext: Ein Windows-Betriebssystem ist realzeitfähig genug, wenn es um die Ansteuerung der "üblichen" PC-Peripherie geht hierbei sind nämlich nur sogenannte "weiche" Anforderungen zu erfüllen, d.h. es passieren keine ernsten Verluste, wenn Zeitschranken einmal nicht eingehalten werden Im Gegensatz dazu muss z.b. ein Airbag von einem Rechner ausgelöst werden, der unter allen Umständen eine fest definierte maximale Reaktionszeit nicht überschreitet und auch eine minimale Reaktionszeit nicht unterschreitet Zwischen diesen beiden Extremen gibt es Abstufungen, die sich in Art und Aufwand der Programmierung, Kosten der Hardware usw. unterscheiden Slide 13

8 Echtzeitbetrieb Im Kontext von Realzeitanwendungen relevant sind: die Kürze der Zeitschranken ("Härte der Zeitanforderung") für die Reaktion eines Rechners; sie sind durch den Einsatzkontext (Gerät, Maschine, Anlage) gegeben die Schwere der Konsequenzen aus dem Nichteinhalten der Zeitschranken (personelle und/der materielle und/oder ideelle Schäden) die Komplexität (hier v.a. Laufzeit und Platzbedarf) der Algorithmen, die vom Rechner zur Berechnung der notwendigen Reaktion abgearbeitet werden müssen Realzeitfähigkeit bezieht sich also auf die Fähigkeit des Rechners (HW & SW), diese Algorithmen ohne Verletzung der Zeitschranken abzuarbeiten und dies auch noch bei der ungünstigsten anzunehmenden Abfolge von Ereignissen (worst-case) benötigte Reaktionszeiten und adäquate Implementierungsalternativen Minuten Steuerung "von Hand" ~ 1 Minute Mechanisches System ~ 1 Sekunde Standardbetriebssystem ~ Millisekunden Realzeitbetriebssystem ~ μ-sekunden Interrupt-Service Routine darunter direkte Hardwareimplementierung Slide 14 Echtzeitbetrieb Definition Echtzeit (real-time (RT), Realzeit): Die Fähigkeit eines Systems, Dienste in einer deterministisch begrenzten Antwortzeit (Reaktionszeit) zur Verfügung zu stellen Beachte: Echtzeit Schnelligkeit Die Rechengeschwindigkeit ist nicht relevant: Von Bedeutung ist einzig, ob die Antwort auf ein externes oder internes Prozessereignis vor Ablauf einer Zeitschranke (Deadline) bzw. innerhalb eines gegebenen Zeitintervalls erfolgt Reaktionszeit t R = Latenzzeit t L + Verarbeitungszeit t V t L t V t Ereignis Deadline Slide 15

9 Echtzeitbetrieb Harte und weiche Echtzeitbedingungen Toleranzbereich für den Ablaufzeitpunkt von t R Ereignis t Deadline harte Echtzeitbedingungen: die Antwort muss vor Ablauf der Deadline erfolgt sein oder noch verschärft: die Antwort muss möglichst kurz vor Ablauf der Deadline erfolgt sein Bereits gelegentliche Verletzung führt zu erheblichen Schäden weiche Echtzeitbedingungen: die Antwort muss vor Ablauf der Toleranz erfolgt sein und die Antwort darf auch schon längere Zeit vor Ablauf der Deadline erfolgt sein Gelegentliche Verletzung führt zu tolerierbaren Qualitätseinbussen (bspw. Multimedia: Bildflackern) Slide 16 Echtzeitbetrieb Zeitschranken in der Literatur wird häufig nur von einer oberen Zeitschranke besprochen, da diese zunächst am schwersten konstruktiv zu erreichen ist eine untere Schranke kann ggf. durch einfaches Warten eingehalten werden bei der Kombination aus unteren und oberen Zeitschranken (beidseitigen Zeitschranken) im selben System ist auch unteren Schranken besondere Beachtung zu schenken Beispiele für harte Schranken: Drehwinkelberechnung und Impulszählung in einer Motorsteuerung müssen jeweils in der Lage sein alle 143μs einen Impuls entgegen zu nehmen; auch die Klopferkennung und Zündzeitpunktberechnung müssen in dieser Zeit durchgeführt werden die Zündimpulserzeugung muss in einer engen Zeitspanne von 12 μs erfolgen, da der Zündwinkel auf ½ Grad genau eingestellt sein muss Slide 17

10 Echtzeitbetrieb Definition Echtzeitbetrieb (DIN 44300): Echtzeitbetrieb ist der Betrieb eines Rechensystems, bei dem Programme zur Verarbeitung anfallender Daten ständig betriebsbereit sind, derart, dass die Verarbeitungsergebnisse innerhalb einer vorgegebenen Zeitspanne verfügbar sind. Die Daten können je nach Anwendungsfall nach einer zeitlich zufälligen Verteilung oder zu vorherbestimmten Zeitpunkten anfallen. Echtzeitsysteme sind also Systeme, die eine korrekte Reaktion innerhalb einer definierten Zeitspanne produzieren müssen. Überschreitung der Zeitlimits führt zu Leistungseinbussen und/oder Fehlfunktionen Die Korrektheit eines Echtzeitsystems ist also nicht nur von der logischen Korrektheit der Ergebnisse, sondern auch von deren Rechtzeitigkeit abhängig: "Ein richtiges Ergebnis zur falschen Zeit ist ein Fehler" Slide 18 Echtzeitbetrieb Charakterisierung Informationssysteme Richtigkeit der Berechnungen Gleichzeitigkeit nicht erforderlich I/O-intensiv Datenorientierte Anwendungen Komplexe Datenstrukturen Maschinenunabhängige Programmierung Echtzeitsysteme Richtigkeit umfasst auch Rechtzeitigkeit Gleichzeitigkeit Rechenintensiv Ereignisorientierte Programme Einfache Datenstrukturen Hardwarenahe Programmierung Slide 19

11 Inhalt Echtzeitbetrieb Multitasking Scheduling Zeitgeber Wechselseitiger Ausschluss Synchronisierung und Datentransfer zwischen Tasks Brown-out Behandlung Watchdogs Slide 20 Multitasking Programme, welche gerade von einem Rechner ausgeführt werden, werden auch als Tasks, Jobs oder Prozesse bezeichnet Während also der Begriff "Programm" mehr den Aspekt der Programmerstellung (deren statisches Ergebnis) bezeichnet, verwendet man die Begriffe "Task" (Job oder Prozess), wenn man über die Abarbeitung eines Programms durch die Maschine spricht (dynamischer Aspekt) Jedes Programm wird beim Laden zu (mindestens) einem Task, der vom Betriebssystem verwaltet und von der Hardware ausgeführt wird: Was im Detail im Rahmen des Tasks von der Maschine getan werden soll, beschreibt das Programm Die für die Ausführungen relevanten Eigenschaften des Programms beschreibt der Task (genauer: eine Datenstruktur, der Task-Control- Block (s.u.)) Betriebssysteme, die mehr als einen Task gleichzeitig ausführen können, nennt man Multitasking-Betriebssysteme Slide 21

12 Multitasking man spricht von "quasi", solange nur ein CPU-Kern verfügbar ist Man unterscheidet allgemein folgende Betriebsarten: Stapelbetrieb (Batch-Betrieb) Dialogbetrieb Realzeit-/Echtzeit-Betrieb Mehr-Benutzer-Betrieb (Multi-User-Betrieb) Mehr-Programm-Betrieb (Multi-Tasking-Betrieb) Definition Multitasking: Eigenschaft des Betriebssystems zur quasi-simultanen / quasi-parallelen Ausführung mehrerer Programme, obwohl physikalisch nur ein Prozessor vorhanden ist. Definition Multi-Threading: mehrere quasi-parallele Ausführungsstränge in einem Programm Definition Prozess: ein in Ausführung befindliches Programm Definition Task: ein in Ausführung befindlicher Thread bei Multi-Threading sind einem Prozess mehrere Tasks zugeordnet Definition Job: ein oder mehrere Tasks, die zusammen einem Benutzerauftrag entsprechen (Begriff vor allem im Batch-Betrieb verwendet: z.b: Übersetzen, Binden, Laden und Ausführen eines Programms) Slide 22 Multitasking Programm (single threaded) Programm (multi-threaded) PC PC 1 PC 2 PC 3 Laden des Programms Task Task 1 Task 2 Task 3 Jeder Thread hat ein eigenes Statuswort, Stack, Registersatz und einen eigenen Programmzähler, teilt sich aber Daten und Code mit den anderen Threads seines Programms ("Sonderfall": single threaded Programm) Jedem Thread wird bei seiner Ausführung ein Task zugeordnet Die Tasks werden vom Betriebssystem verwaltet und konkurrierend (im Wettbewerb) zueinander zur Ausführung gebracht Slide 23

13 Multitasking Aufgaben des Multitaskings mehrere voneinander unabhängige Tasks ausführen mehrere voneinander abhängige Tasks ausführen Reihenfolge und Zeit der Tasks kontrollieren wechselseitigen Ausschluss implementieren Reihenfolge und Zeit der Tasks kontrollieren wechselseitigen Ausschluss implementieren inter-task Kommunikation bereitstellen und kontrollieren Scheduling Mutual Exclusion Scheduling Mutual Exclusion Synchronisierung und Datentransfer mutual exclusion = wechselseitiger Ausschluss bei Zugriff auf gemeinsam genutzte Betriebsmittel Slide 24 Multitasking Multitasking-Betriebssysteme müssen also (unabhängig davon, ob sie auch für Realzeitanwendungen geeignet sind) folgende Funktionen bereitstellen: Scheduling wann sollen Tasks ausgeführt werden? Verwaltungsmittel (Datenstrukturen) und Algorithmen zur geordneten Zuteilung von Ressourcen (vor allem Ausführungszeit) an die Tasks dabei ggf. Einbeziehung von Prioritäten der Tasks Mutual Exclusion wie werden Tasks voreinander geschützt? Schutz der Tasks voreinander, so bald diese auf die gleichen Ressourcen zugreifen wollen (Speicher, Festplatte, ), denn unkontrollierter Zugriff führt zu Datenverlust oder Verfälschung Synchronisierung und Datentransfer wie können sich Tasks abstimmen? Explizit programmierte oder implizite Synchronisation Austausch von einfachen Signalen oder größeren Datenmengen zwischen Tasks (ohne Mutual Exclusion Bedingungen zu verletzen) Slide 25

14 Multitasking Verschiedene Implementierungsalternativen (insbes. des Schedulings) sind unterschiedlich gut für die Implementierung von realzeitfähigen Betriebssystemen geeignet Wie oben definiert, ist Realzeitfähigkeit keine absolute Größe, sondern muss in Bezug zu den Anforderungen an ein System bestimmt werden allgemein gilt: umso "härter" die Realzeitanforderungen werden, umso weniger kann der Programmierer von den Details des Task- Ausführung abstrahieren umso disziplinierter muss er die Ausführungszeiten seines Programms, die Taskwechsel, die Synchronisierungen und inter-task-kommunikation programmieren umso wichtiger wird der Scheduling-Algorithmus des Betriebssystems Slide 26 Inhalt Echtzeitbetrieb Multitasking Scheduling Zeitgeber Wechselseitiger Ausschluss Synchronisierung und Datentransfer zwischen Tasks Brown-out Behandlung Watchdogs Slide 27

15 Scheduling Unter Scheduling bzw. Zeitablaufsteuerung versteht man die Zuordnung von gegebenen, mengen- und terminmäßig spezifizierten Aufträgen zu Ressourcen und die Bestimmung der zeitlichen Reihenfolge, in der die zu einem bestimmten Zeitpunkt an einer Ressource wartenden Aufträge bearbeitet werden sollen Eingabe ist die Menge der zur Ausführung anstehenden Tasks Als Ergebnis wird ein Plan ("schedule") der Aktivierungsreihenfolge aufgestellt (mindestens: der nächste zu aktivierende Task bestimmt) Alle zur Ausführung anstehenden Tasks warten in einer Warteschlange (z.b. organisiert als FIFO first in first out) Auch die Komponenten des Betriebssystems (damit also auch der Scheduler selbst ) warten in Gestalt von Tasks auf ihre Ausführung Slide 28 Scheduling Einige wichtige Anforderungen an einen guten Scheduling-Algorithmus (die sich z.t. widersprechen): Fairness: gerechte Verteilung der Ressourcen auf Tasks Effizienz: möglichst vollständige Auslastung der CPU (Ziel: keine Task wartet während die CPU nicht ausgelastet ist; realistisch erreichbar: 40-90% Auslastung) Antwortzeit: möglichst kurze Zeit zwischen Ereignissen und den Antworten des Systems (minimale Reaktionszeiten) Verweilzeit: Zeitdauer vom ersten Eintritt eines Tasks in die Warteschlange (seiner Erzeugung) bis zu seiner Beendigung (Anmerkung: es gibt auch notwendigerweise endlos laufende Tasks) Durchsatz: Maximierung der Anzahl der Tasks, die innerhalb einer bestimmten Zeitspanne ausgeführt werden (Negativer Effekt: thrashing des Systems, wenn aufgrund zu hoher Task-Anzahl sehr viele Task-Wechsel pro Zeiteinheit stattfinden und dafür die eigentliche Task- Abarbeitung drastisch reduziert wird) Wartezeit: Minimierung der Summe der Wartezeiten der bereiten Tasks Verklemmungsfreiheit: Vermeidung von deadlocks (Verklemmungen), also zyklischen Warteabhängigkeiten zwischen Tasks Slide 29

16 Scheduling Die Komponente, welche den vom Scheduling-Algorithmus aufgestellten Plan ausführt, wird Dispatcher genannt Die grundlegende Aufgabe des Dispatchers ist also die kontrollierte Zuteilung der Ressource CPU an die gemäß Schedule auf die Ausführung wartenden Tasks CPU Dispatcher Auf ihre Ausführung wartende Tasks Scheduler T1 T4 T2 T3 Ein Task bekommt i.a. nur für eine begrenzte Zeit die CPU zugewiesen; erreicht er in dieser Zeit noch nicht sein Ende, reiht er sich erneut in die Warteschlange ein und wird vom Scheduler erneut eingeplant Slide 30 Scheduling Scheduling Verfahren Statisches (offline) Scheduling (pre-run-time scheduling) Deterministisch (d.h. Antwortzeitpunkte sind vorhersagbar) Betriebssystem ist nicht flexibel (arbeitet festen Plan ab) Keine Reaktion auf unerwartete externe Ereignisse möglich Minimaler Aufwand im Betriebssystem Keine vorzeitige Unterbrechung der Tasks Vorausberechnung eines 'optimalen' Plans ist aufwändig: bei n Tasks gibt es n! Pläne Dynamisches (online) Scheduling Konfigurierbar Sehr flexibel Nimmt Zeit für Scheduler und Dispatcher in Anspruch Tasks werden ggf. vorzeitig unterbrochen 'Optimalität' des Schedules kann wg. notwendiger Rechenzeit i.a. nicht erreicht werden Slide 31

17 Scheduling Scheduling Verfahren Statisches offline Scheduling (Timed Cyclic Scheduling) Jedem Task wird innerhalb einer festgelegten Zykluszeit jeweils einmal die CPU zugeteilt Die Tasks beenden sich selbst nach bekannter maximaler Laufzeit (oder früher) non-pre-emptive scheduling Ggf. wird ein Leerlauf-Task (idle-task) eingefügt, wenn nach dem letzten Task noch Zykluszeit übrig ist, um den jitter (Varianz der Zykluszeit) auszugleichen Mit dem nächsten Zyklus wird wieder der erste Task aktiviert T1 T2 T3 T4 T5 T idle T1 T2 T3 T4 T5 T idle Zykluszeit Nachteile: ein Task, der die Kontrolle nicht vereinbarungsgemäß zurück gibt, blockiert das System; nachfolgende Tasks können nicht mehr aktiviert werden ein neuer Task wird immer hinten angehängt, kommt also erst nach einiger Verzögerung zur ersten Ausführung die Anzahl der Tasks ist durch den Zeitrahmen der Zykluszeit limitiert lange Tasks dominieren die Ausführung (Kurzläufer müssen immer auf ihre Aktivierung warten und können nicht zwischengeschoben werden) Slide 32 Scheduling Beispiel für Timed Cyclic Scheduling: Heizungssteuerung VL-Temp WW-Temp Pumpe 1 Pumpe 2 Radiatoren Warmwasser (Brauchwasser) Heizkessel RL-Temp Slide 33

18 Scheduling Start WWTmin = Minimale Brauchwassertemperatur WWTmax = Maximale Brauchwassertemperatur TDmin = minimale Differenz zwischen Vorlauf- und Rücklauftemperatur TDmax= maximale Differenz zwischen Vorlauf- und Rücklauftemperatur WWTemp < WWTmin? nein Delay 13 ja Brauchwasser erhitzen ein nein Kessel an? ja Kessel ein! Delay 11 Delay 10 Wir nehmen an: jede Operation dauere eine Zeiteinheit Der Regelalgorithmus besteht aus 2x2 Blöcken die für die Kontrolle der Brauchwasserbzw. der Heizungskreislauf- Temperatur verantwortlich sind Der Regelalgorithmus hat eine feste Periode von = 36 Zeiteinheiten timed cyclic scheduling die delay-operationen sorgen dafür, dass kein jitter entsteht A RLTemp < VLTemp - TDmax? nein Delay 13 B Pumpe 1 ein! ja Pumpe 2 ein! Raumheizkreis ein Kessel an? ja Delay 11 nein Kessel ein! Delay 10 Slide 34 Scheduling A B WWTmin = Minimale Brauchwassertemperatur WWTmax = Maximale Brauchwassertemperatur TDmin = minimale Differenz zwischen Vorlauf- und Rücklauftemperatur TDmax= maximale Differenz zwischen Vorlauf- und Rücklauftemperatur WWTemp > WWTmax? nein Delay 3 ja Pumpe 1 aus! Brauchwasser erhitzen aus (Kessel an) & ja (RLTemp > VLTemp TDmin)? nein Delay 1 Kessel aus! RLTemp > VLTemp - TDmin? ja Pumpe 2 aus! Raumheizkreis aus nein (Kessel an) & (WWTemp > WWTmax)? ja Delay 3 nein Delay 1 Kessel aus! Slide 35

19 Scheduling Scheduling Verfahren Statisches Scheduling Erzeuge im Vorfeld alle möglichen Zuteilungspläne und bestimme den besten nur für einfache / eingeschränkte Systeme möglich Dynamisches Scheduling, Einfachwarteschlangen, non-pre-emptive FCFS (first come first served) ablaufbereite Prozesse werden in einer FIFO-Queue (first in first out) verwaltet. Der jeweils vorderste Prozess der Warteschlange wird ohne Unterbrechung ausgeführt einfach hohe mittlere Wartezeit keine Bevorzugung von Kurzläufern Shortest-Job-First Schätzung der Bedienzeit erforderlich minimale mittlere Systemwartezeit Bevorzugung von Kurzläufern Langläufer werden u.u. unbestimmt verzögert IOA i/o Activities Schätzung der I/O Aktivitäten erforderlich optimierte Auslastung des I/O Systems Slide 36 Scheduling Scheduling Verfahren Dynamisches Scheduling, Einfachwarteschlangen, pre-emptive Shortest-Job-First mit Entzug kleine mittlere Systemwartezeit Bevorzugung von Kurzläufern Shortest remaining time kürzest mögliche mittlere Systemwartezeit Bevorzugt Kurzläufer Verdrängung der Langläufer Round-Robin Zeitscheibenverfahren garantierte Antwortzeiten einfache FIFO-Queue Verwaltung Fairness Verlängerung der Zeit für Langläufer Alterung Priorität wird in Abhängigkeit von der Wartezeit und Ereignissen (z.b. Tastatur, Maus) verändert Fairness keine Verdrängung der Langläufer Earliest Deadline First (mit / ohne Entzug) Wähle den Task mit frühesten Deadline aus Slide 37

20 Scheduling Scheduling Verfahren Round Robin (Time Slicing) Allen Tasks wird reihum einmal die CPU zugeteilt Die Tasks beenden sich selbst oder werden nach einer Maximalzeit 'gewaltsam' beendet und durch den nachfolgenden Task ersetzt (preemptive scheduling) Nach dem letzten Task wird wieder der erste Task aktiviert T1 T2 T3 T4 T5 T6 T1 T2 T3 T4 T5 T6 T1 T2 T3 T4 T5 T6 Die Tasks warten in eine FIFO Schlange und werden nach dem "round robin" Prinzip bedient Nachteil: durch das gewaltsame Beenden der Tasks entsteht zusätzlicher Aufwand für den Kontext-Wechsel (Programmstatus sichern und später wieder herstellen) Vorteile: Das System wird nicht von Langläufern dominiert Es zeigt eine insgesamt bessere Reaktivität auf Ereignisse Es hat eine bessere Ausnutzung gemeinsam genutzter Ressourcen Slide 38 Scheduling Scheduling Verfahren Dynamisches Scheduling, Mehrfachwarteschlangen, pre-emptive statische Zuordnung Prozesse werden einer Priorität und damit einer Warteschlange zugeordnet, z.b. Batchprozesse, interaktive Prozesse, Echtzeitprozesse dynamische Zuordnung vgl. Alterung Wechsel der Warteschlange gemäß veränderter Priorität Sonderfall kooperatives Multitasking: in frühen Windows Betriebsystemen eingesetzt dynamisches non-prä-emptives Scheduling jeder Task musste kooperativ sein und von sich aus die Kontrolle an das Betriebssystem nach kurzer Rechenzeit zurückgeben, wenn er das nicht tut, wird das System von dem Task dominiert Slide 39

21 Scheduling t1 t2 t Beispiel: folgende 3 Tasks treffen zu den gegeben Ereigniszeitpunkten ein und benötigen die angegebene Taskdauer Berechnen Sie die durchschnittliche Bearbeitungszeit für die Verfahren FCFS, SJF, RR Task 1 Ereigniszeitpunkt 0 Task- Dauer FCFS (first come first served) schedule: (t1,t2,t3); Gesamtzeit Bearbeitungszeiten: t1 = 80, t2 = 116, t3 = 120; Mittelwert: 105, t1 t2 t SJF (shortest job first/next, non-pre-emptive) schedule: (t1,t3,t2); Gesamtzeit 130 Bearbeitungszeiten: t1 = 80, t2 = 126, t3 = 80; Mittelwert: 95,3 t1 t2 t RR (round robin), Zeitscheibe:10, pre-emption overhead vernachlässigt schedule: (t1; t1,t2,t3; t1,t2; t1,t2; t1,t2; t1; t1; t1); Gesamtzeit 130 Bearbeitungszeiten: t1 = 130, t2 = 96, t3 = 30; Mittelwert: 85,3 Slide 40 Scheduling Scheduling Verfahren lassen sich also unterscheiden nach: statisch dynamisch pre-emptive non-pre-emptive statische dynamische Priorisierung einfache mehrfache Warteschlangen Slide 41

22 Scheduling Für Echtzeit (u.a.) geeignet: timed cyclic scheduling (statisch, non-pre-emptive) geeignet bei vollständig vorhersehbaren Ereignissen round robin (dynamisch, pre-emptive) flexibel und gute Reaktionszeit typischerweise mit Priorisierung und mehrfachen Warteschlangen kombiniert In Realität sind Tasks nicht zu jedem Zeitpunkt entweder ausführbar (bereit, wartend, ready) oder in Ausführung (laufend, running), sondern können auch zeitweise nicht ausführbar sein (blockiert, blocked) es liegt daher nahe die Anzahl der möglichen Zustände zu erweitern und assoziierte Warteschlangen einzuführen zu einfach: bereit laufend Slide 42 Scheduling Task-Zustandsdiagramm und assoziierte Task- Warteschlangen Abmeldung Anmeldung Abbruch Start existiert / beendet Beendigung Abbruch wartend auf: Zuteilung der CPU bereit Zuteilung Entzug laufend Fortsetzung Fremdblockade Eigenblockade wartend auf: Zeitsignale Ereignisse andere Tasks blockiert Slide 43

23 Scheduling Damit ein Task vom Scheduling Algorithmus einbezogen wird, muss er erzeugt und beim System angemeldet werden. Dies passiert beim Laden eines Programms ein Task-Control-Block wird angelegt, der alle Verwaltungsdaten erfasst Im Verlauf der Lebensdauer eines Tasks durchläuft dieser eine Reihe von Zuständen, z.b. gemäß dem Diagramm auf voriger Folie und wird dabei in die entsprechenden Warteschlangen eingekettet Tasks im Zustand blockiert warten z.b. auf Ereignisse von Peripherie Zeitsignale andere Prozesse Sie kommen in den Zustand blockiert, indem sie sich selbst dorthin begeben (sie setzen sich selbst "wartend" auf ein Ereignis) oder indem ihnen die CPU entzogen wird Slide 44 Scheduling Task ID Status Priorität next Task Der Task Control Block (TCB) speichert Informationen über einen Task (aber nicht den Code selbst) ist so organisiert, dass der TCB in Warteschlangen eingekettet werden kann Warteschlangen (queues) sind verkettete Listen von TCBs Queue Task ID Task ID Task ID Status Status Status Priorität Priorität Priorität next Task next Task next Task Queues werden bei Änderung der Priorität einzelner Tasks umsortiert dadurch besteht die Gefahr, dass niedrig priorisierte Tasks immer wieder 'nach hinten' rutschen und lange blockiert werden Oft werden mehrere Queues verwaltet, z.b: für Tasks mit extrem kurzer Reaktionszeit (z.b: Not-Aus; typisch: 1 ~ 100 μs Latenz) Tasks mit kurzer Reaktionszeit (Tastatur, Maus, ) Tasks, die einigermaßen regelmäßig aktiviert werden müssen (Display refresh) Tasks, die nur in besonderen Betriebszuständen (z.b. Wartung) gebraucht werden Slide 45

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

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

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

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

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

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

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

Ü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

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

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

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

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

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

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

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

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

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7 Echtzeitprogrammierung und Echtzeitverhalten von Frank Erdrich Semester AI 7 Inhalt Einleitung Echtzeit und Echtzeitsysteme Echtzeitprogrammierung Real-Time Operating System Keil RTOS RTX Zusammenfassung

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

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

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

Aufbau eines Echtzeit-Betriebssystems für Embedded Systems

Aufbau eines Echtzeit-Betriebssystems für Embedded Systems Aufbau eines Echtzeit-Betriebssystems für Embedded Systems I. Begriffsdefinition II. Anforderungen III. Struktur und Komponenten Dr.-Ing. Ludwig Eckert, Seite 1 I. Begriffsdefinition: Embedded System Bsp.:

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

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

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

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

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

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Betriebssysteme Betriebssysteme 2002 Prof. Dr. Rainer Manthey Informatik II 1 Bekannte Betriebssysteme Windows 2000 CMS UNIX MS-DOS OS/2 VM/SP BS 2000 MVS Windows NT Solaris Linux 2002 Prof. Dr. Rainer

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

Simple Scope. ecos-vertiefung. Florian Franzmann Tobias Klaus Peter Wägemann

Simple Scope. ecos-vertiefung. Florian Franzmann Tobias Klaus Peter Wägemann Simple Scope ecos-vertiefung Florian Franzmann Tobias Klaus Peter Wägemann Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) http://www4.cs.fau.de

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

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

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

Betriebssysteme Kap A: Grundlagen

Betriebssysteme Kap A: Grundlagen Betriebssysteme Kap A: Grundlagen 1 Betriebssystem Definition DIN 44300 Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten

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

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

Monitore. Klicken bearbeiten

Monitore. Klicken bearbeiten Sascha Kretzschmann Institut für Informatik Monitore Formatvorlage und deren Umsetzung des Untertitelmasters durch Klicken bearbeiten Inhalt 1. Monitore und Concurrent Pascal 1.1 Warum Monitore? 1.2 Monitordefinition

Mehr

Zur Erinnerung: Threads. Threadverwaltung. Threads: Prioritäten. Beispiel Flugbuchungsprogramm. Nichtdeterminismus

Zur Erinnerung: Threads. Threadverwaltung. Threads: Prioritäten. Beispiel Flugbuchungsprogramm. Nichtdeterminismus Zur Erinnerung: Threads Programmierung (fortgeschrittene Konzepte) Threads, Monitore, Semaphore und speisende en Wolf-Ulrich Raffel (uli@wuraffel.de) Möglichkeiten, Threads zu definieren Bildung einer

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

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

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

Domänenmodell: Fadenkommunikation und -synchronisation

Domänenmodell: Fadenkommunikation und -synchronisation Domänenmodell: Fadenkommunikation und -synchronisation Alexander Humphreys, Reinhard Rösch, Fabian Scheler 15. Mai 2003 Inhaltsverzeichnis 1 Domänendefinition 1 2 Domänenlexikon 1 3 Konzeptmodelle 4 4

Mehr

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C Interrupts Funktionsprinzip Interrupts bei ATmega128 Beispiel in C Funktionsprinzip 1 Was ist ein Interrupt? C muss auf Ereignisse reagieren können, z.b.: - jemand drückt eine Taste - USART hat Daten empfangen

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

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

Übung zu Grundlagen der Betriebssysteme. 10. Übung 18.12.2012

Übung zu Grundlagen der Betriebssysteme. 10. Übung 18.12.2012 Übung zu Grundlagen der Betriebssysteme 10. Übung 18.12.2012 Aufgabe 1 a) Was versteht man unter einem kritischen Abschnitt oder kritischen Gebiet (critical area)? b) Welche Aufgabe hat ein Semaphor? c)

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

Reaktive Systeme und synchrones Paradigma

Reaktive Systeme und synchrones Paradigma Sascha Kretzschmann Freie Universität Berlin Reaktive Systeme und synchrones Paradigma Einführung in das Seminar über synchrone Programmiersprachen Worum geht es? INHALT 2 Inhalt 1. Einleitung - Wo befinden

Mehr

2. Hintergrundverarbeitung in Android: Services und Notifications

2. Hintergrundverarbeitung in Android: Services und Notifications 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht: In Mobis 1: Threads; hier genauerer Blick auf Services

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

SurefireKernel ÜBERSICHT SPEZIFIKATION. www.triadem.ch. Sicherheitskernel DATASHEET

SurefireKernel ÜBERSICHT SPEZIFIKATION. www.triadem.ch. Sicherheitskernel DATASHEET Sicherheitskernel ÜBERSICHT SurefireKernel ist ein schlanker skalierbarer nicht preemptiver Echtzeit-Kernel der für den Einsatz auf Kontrollersysteme optimiert ist. Er verfügt über eine Realtime-Überwachung

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 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

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

Übung Betriebssysteme 11

Übung Betriebssysteme 11 Übung Betriebssysteme 11 Christian Motika Christian-Albrechts-Universität zu Kiel Institut für Informatik AG Echtzeitsysteme / Eingebettete Systeme Kiel, Germany 29-JAN-2013 CAU - WS 2012/13 Übung Betriebssysteme

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

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

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant? Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Einleitung 1 2 der nebenläufigen Programmierung WS 2011/12 Stand der Folien: 18. Oktober 2011 1 TIDS

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

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

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

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

Verbessertes Konzept: Monitore

Verbessertes Konzept: Monitore Verbessertes Konzept: Monitore Ein Nachteil von Semaphoren ist die Notwendigkeit zur expliziten Anforderung P und Freigabe V des kritischen Bereiches durch den Programmierer Vergißt der Entwickler z.b.

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

9 Multithreading. 1 Idee des Multithreading

9 Multithreading. 1 Idee des Multithreading 9 Multithreading Jörn Loviscach Versionsstand: 21. Juli 2015, 11:50 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work is licensed

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

RTOS mit Energiesparfunktionen für Low-Power Applikationen

RTOS mit Energiesparfunktionen für Low-Power Applikationen mit Energiesparfunktionen für Low-Power Applikationen 2012 by roger.weber@bfh.ch Low-Power Applikationen Portable und Batteriebetriebene Geräte Quelle: Bayer Vital GmbH Quelle: BFH-TI Quelle: www.garmin.com

Mehr

Prozessor (CPU, Central Processing Unit)

Prozessor (CPU, Central Processing Unit) G Verklemmungen G Verklemmungen Einordnung: Prozessor (CPU, Central Processing Unit) Hauptspeicher (Memory) Ein-, Ausgabegeräte/ Periphere Geräte (I/O Devices) externe Schnittstellen (Interfaces) Hintergrundspeicher

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

2.2 Prozesse in Java

2.2 Prozesse in Java 2.2 Prozesse in Java! Java sieht kein Schlüsselwort für Prozesse vor, sondern bestimmte Klassen und Schnittstellen. Mit anderen Worten: der Prozessbegriff wird mit Mitteln der Objektorientierung eingeführt.

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

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen Seite 8 A UFGABE 11 INTERP ROZEßKOMMUNIKATION Das folgende Petrinetz zeigt zwei verkoppelte Prozesse P1 und P2. Die Transitionen a und b beschreiben Aktionen von P1, die Transitionen c und d Aktionen von

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

Ü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

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161? Was machen wir heute? Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1

Mehr

Timm M. Steinbeck und Arne Wiebalck Lehrstuhl für Technische Informatik Universität Heidelberg. Prozess-Monitoring auf CPU-Takt Ebene

Timm M. Steinbeck und Arne Wiebalck Lehrstuhl für Technische Informatik Universität Heidelberg. Prozess-Monitoring auf CPU-Takt Ebene Timm M. Steinbeck und Arne Wiebalck Lehrstuhl für Technische Informatik Universität Heidelberg Prozess-Monitoring auf CPU-Takt Ebene Einleitung Unser Arbeitsgebiet: ALICE Teilchenphysik Experiment Cluster

Mehr

OSEK-OS. Oliver Botschkowski. oliver.botschkowski@udo.edu. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab

OSEK-OS. Oliver Botschkowski. oliver.botschkowski@udo.edu. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab OSEK-OS Oliver Botschkowski oliver.botschkowski@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung Motivation Ziele Vorteile Einführung in OSEK-OS Architektur Task Management Interrupt

Mehr

Klausur zur Vorlesung Grundlagen der Betriebssysteme WS 2011 / 2012

Klausur zur Vorlesung Grundlagen der Betriebssysteme WS 2011 / 2012 Name: Matrikelnummer: Studiengang: INF CV IM Lehramt BSc MSc BEd MEd Diplom Klausur zur Vorlesung Grundlagen der Betriebssysteme WS 0 / 0 Montag, den. Februar 0, 09: Uhr 0: Uhr Prof. Dr. D. Zöbel, Dipl.

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

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

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

Programmiertechnik II

Programmiertechnik II Analyse von Algorithmen Algorithmenentwurf Algorithmen sind oft Teil einer größeren Anwendung operieren auf Daten der Anwendung, sollen aber unabhängig von konkreten Typen sein Darstellung der Algorithmen

Mehr

6. Tutorium zu Softwaretechnik I

6. Tutorium zu Softwaretechnik I 6. Tutorium zu Softwaretechnik I Parallelität und Testen Michael Hoff 01.07.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

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

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (1) Was ist ein Rechner? Maschine, die Probleme für

Mehr

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Ein Prozess kann unmittelbar vom Zustand 1. Running in den Zustand Ready 2. Running in den Zustand Blocked 3. Ready in den Zustand Running Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Der Adressraum

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

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

Softwarelösungen: Versuch 4

Softwarelösungen: Versuch 4 Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

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

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

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

Mehr

Arten der Synchronisation. Koordination nebenläufiger Prozesse. Koordinierung. Reihenschaltung. Einseitige Synchronisation

Arten der Synchronisation. Koordination nebenläufiger Prozesse. Koordinierung. Reihenschaltung. Einseitige Synchronisation Koordination nebenläufiger Prozesse Arten der Synchronisation Systemaufrufe Programmverwaltung Zugriffskontrolle Dateiverwaltung Ein /Auslagerung Vernetzung Ein /Ausgabe Fadenverwaltung Koordination Prozesseinplanung

Mehr

Thread-Konzept in objektorientierten Programmiersprachen. Threads. Threads in Java

Thread-Konzept in objektorientierten Programmiersprachen. Threads. Threads in Java Thread-Konzept in objektorientierten Programmiersprachen 1 Threads ein Thread ist ein eigenständiges Programmfragment, das parallel zu anderen Teilen eines Programmes ablaufen kann alle Threads eines Programmes

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

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 2013 Kapitel 2: Betriebssysteme Vorlesung:

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

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

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 5 26.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: Erläutern

Mehr