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

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

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

Ü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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ü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

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

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

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

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

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

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

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. Threads, Serverprozesse und Benachrichtigungen

5. Threads, Serverprozesse und Benachrichtigungen 5. Threads, Serverprozesse und Benachrichtigungen Threads allgemein Threads in Android: Handler und Messages Services: Local, Remote, Binding Benachrichtigungen Entwicklung mobiler Anwendungen Europäische

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

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

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

OSEKtime - Time-Triggered OSEK/OS

OSEKtime - Time-Triggered OSEK/OS OSEKtime - Time-Triggered OSEK/OS Gregor Kaleta gregor.kaleta@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung OSEKtime Task-Zustandsmodell, Scheduling-Verfahren Interrupt-Verarbeitung

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

Rapid I/O Toolkit. http://projects.spamt.net/riot. Alexander Bernauer alex@copton.net 08.12.08

Rapid I/O Toolkit. http://projects.spamt.net/riot. Alexander Bernauer alex@copton.net 08.12.08 Rapid I/O Toolkit http://projects.spamt.net/riot Alexander Bernauer alex@copton.net 08.12.08 Inhalt Motivation Architektur Beispiel I/O Features Ausblick Motivation Problemstellung Vorgaben Datenverarbeitung

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

Verteilte Systeme. Synchronisation I. Prof. Dr. Oliver Haase

Verteilte Systeme. Synchronisation I. Prof. Dr. Oliver Haase Verteilte Systeme Synchronisation I Prof. Dr. Oliver Haase 1 Überblick Synchronisation 1 Zeit in verteilten Systemen Verfahren zum gegenseitigen Ausschluss Synchronisation 2 Globale Zustände Wahlalgorithmen

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

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

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

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 3 Betriebssystem Überwacher

Mehr

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance 5. November 2013 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität Basel Repetition

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

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

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

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

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

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

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

Mehr

Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen

Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen 1. Einführung 1.1 Embedded Systeme Embedded Systeme besitzen / benutzen einen Mikrocontroller Embedded Systeme erfüllen meist eine

Mehr

Grundlagen der Informatik. Teil VI Betriebssysteme

Grundlagen der Informatik. Teil VI Betriebssysteme Grundlagen der Informatik Teil VI Betriebssysteme Seite 1 Definition nach DIN: Unter Betriebssystem versteht man alle Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage

Mehr

Für die Software-Entwicklung von

Für die Software-Entwicklung von Betriebssysteme Embedded Design Für die Software-Entwicklung von Embedded- und Echtzeit-Systemen stehen unterschiedliche Arten von Task-Schedulern zur Auswahl. Sie reichen von einfacher, periodischer Ausführung

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

Zeit- und ereignisgesteuerte Echtzeitsysteme

Zeit- und ereignisgesteuerte Echtzeitsysteme Zeit- und ereignisgesteuerte Echtzeitsysteme Stephan Braun Stephan.Braun.Hagen@t-online.de PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Echtzeitsystemmodell Einführung Ereignis- und zeitgesteuerte

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

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

Echtzeit-Linux mit dem RT-Preemption-Patch

Echtzeit-Linux mit dem RT-Preemption-Patch Echtzeit-Linux mit dem RT-Preemption-Patch IT-Klinger Andreas Klinger ak@it-klingerde 22072008 Der RT-Preemption-Patch integriert sich beinahe nahtlos in den Standard-Kernel und bietet Echtzeitfähigkeit

Mehr

1. Allgemeines zum tevitel.wq-monitor Seite 3. 2. WQ-Monitor konfigurieren Seite 4

1. Allgemeines zum tevitel.wq-monitor Seite 3. 2. WQ-Monitor konfigurieren Seite 4 tevitel.wq-monitor Inhaltsverzeichnis 1. Allgemeines zum tevitel.wq-monitor Seite 3 2. WQ-Monitor konfigurieren Seite 4 2.1 Einstellungen Message-Server Seite 4 3.2 Einstellungen Warteschlangen Seite 5

Mehr

Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden

Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden 27.05.13 Autor / Redakteur: Nach Unterlagen von National Instruments / Hendrik Härter Messdaten

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

Prof. Dr.-Ing. Dagmar Meyer Architekturen verteilter SW-Systeme 5 SYNCHRONISATION

Prof. Dr.-Ing. Dagmar Meyer Architekturen verteilter SW-Systeme 5 SYNCHRONISATION Prof. Dr.-Ing. Dagmar Meyer 5 SYNCHRONISATION Warum braucht man Synchronisation? Ausgangssituation Prozesse müssen sich koordinieren / synchronisieren, z. B. beim Zugriff auf gemeinsame Ressourcen. Alle

Mehr

leave: mov flag, 0 ; 0 in flag speichern: Lock freigeben ret

leave: mov flag, 0 ; 0 in flag speichern: Lock freigeben ret Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]: STATS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)

Mehr

2.2 Rechnerorganisation: Aufbau und Funktionsweise

2.2 Rechnerorganisation: Aufbau und Funktionsweise 2.2 Rechnerorganisation: Aufbau und Funktionsweise é Hardware, Software und Firmware é grober Aufbau eines von-neumann-rechners é Arbeitsspeicher, Speicherzelle, Bit, Byte é Prozessor é grobe Arbeitsweise

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

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

5.6 Realzeitarchitektur auf Multicore-Basis

5.6 Realzeitarchitektur auf Multicore-Basis 5.6 Realzeitarchitektur auf Multicore-Basis 63 VxWorks Vertreter eines klassischen Realzeitbetriebssystems mit einer starken Marktdurchdringung ist VxWorks der Firma Wind River. Ursprünglich als Realzeitbetriebssystem

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

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

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

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

*DE102007042999A120090312*

*DE102007042999A120090312* *DE102007042999A120090312* (19) Bundesrepublik Deutschland Deutsches Patent- und Markenamt (10) DE 10 2007 042 999 A1 2009.03.12 (12) Offenlegungsschrift (21) Aktenzeichen: 10 2007 042 999.3 (22) Anmeldetag:

Mehr

Programmieren in C. Operatoren, Variablen und deren Sichtbarkeit. Prof. Dr. Nikolaus Wulff

Programmieren in C. Operatoren, Variablen und deren Sichtbarkeit. Prof. Dr. Nikolaus Wulff Programmieren in C Operatoren, Variablen und deren Sichtbarkeit Prof. Dr. Nikolaus Wulff Auswertung von Ausdrücken Was passiert wenn ein Ausdruck wie z. B. int y,x=2; y = ++x * x++; im Computer abgearbeitet

Mehr

Erstellen deterministischer. Johann Wagner

Erstellen deterministischer. Johann Wagner Erstellen deterministischer Anwendungen mit LabVIEW Johann Wagner Applications Engineer Agenda Was ist Real Time Wichtige RT Begriffe Unterschiede der Betriebsysteme LabVIEW Real Time mit Echtzeithardware

Mehr

1 Welcher Service Operation Prozesse fehlen? Incident Management, Problem

1 Welcher Service Operation Prozesse fehlen? Incident Management, Problem 1 Welcher Service Operation Prozesse fehlen? Incident Management, Problem Management, Access Management a. Event Management b. Service Desk c. Facilities Management d. Change Management e. Request Fulfilment

Mehr

Vom Abitur zur Informatik (computer science)

Vom Abitur zur Informatik (computer science) Vom Abitur zur Informatik (computer science) André Frimberger, andre@frimberger.de 16.06.2009 André Frimberger Vom Abitur zur Informatik (computer science) 1 1 Einleitung Was ist Informatik? 2 Das Informatikstudium:

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

Redwood Cronacle und REALTECH theguard! Integration

Redwood Cronacle und REALTECH theguard! Integration Redwood Cronacle und REALTECH theguard! Integration Einleitung Redwood Software und REALTECH haben gemeinsam eine Lösung entwickelt, die die Systemverfügbarkeit von SAP und mysap Systemen signifikant erhöht.

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

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

Technische Informa/k II

Technische Informa/k II Technische Informa/k II Prof. Dr. Bernd Freisleben Sommersemester 2013 Vorlesung zur Klausurvorbereitung Folie 00-2 Organisatorisches Klausur: Dienstag, 16.07.13, 12:00-14:00 Uhr im Hörsaal 00/0070 Zugelassene

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

9 Verteilte Verklemmungserkennung

9 Verteilte Verklemmungserkennung 9 Verteilte Verklemmungserkennung 9.1 Grundlagen Für die Existenz einer Verklemmung notwendige Bedingungen Exklusive Betriebsmittelbelegung Betriebsmittel können nachgefordert werden Betriebsmittel können

Mehr

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

Soft-SPS - Was ist eine SPS?

Soft-SPS - Was ist eine SPS? Soft-SPS - Was ist eine SPS? SPS = Speicherprogrammierbare Steuerung PLC = Programmable Logic Control Ursprünglich elektronischer Ersatz von Relaissteuerungen (Schützsteuerung) 1 Soft-SPS - Relais-Steuerung

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

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

Technische Informatik II

Technische Informatik II Universität Stuttgart INSTITUT FÜR KOMMUNIKATIONSNETZE UND RECHNERSYSTEME Prof. Dr.-Ing. Andreas Kirstädter Diplomprüfung Prüfer: Termin: Dauer: Verlangte Aufgaben: Zugelassene Hilfsmittel: Technische

Mehr

Mobile App Development. - Alarm -

Mobile App Development. - Alarm - Mobile App Development - Alarm - Inhalt Alarme AlarmManger Wake locks 2 Alarm Alarm Oft ist es notwendig eine App zu starten, auch wenn der Benutzer nicht mit ihr interagiert Starten von Activities zu

Mehr