Echtzeitverarbeitung HTWM. Hochschule für Technik und Wirtschaft Mittweida. Erstellt von: Isabel Drost (if99wp1) Dozent: Prof. Dr.

Größe: px
Ab Seite anzeigen:

Download "Echtzeitverarbeitung HTWM. Hochschule für Technik und Wirtschaft Mittweida. Erstellt von: Isabel Drost (if99wp1) Dozent: Prof. Dr."

Transkript

1 HTWM Hochschule für Technik und Wirtschaft Mittweida Technikumsplatz Mittweida Echtzeitverarbeitung Erstellt von: Isabel Drost (if99wp1) Dozent: Prof. Dr. Ruck Druckhinweis: in Buchform geschrieben

2

3 0 Motivation Literaturhinweise: VO Gliederung. 5 1 Sequentielle und parallele Prozesse Parallele Prozesse werden in zwei Klassen unterteilt: Trennung von Prozessen und Programm 7 2 Verwaltung paralleler Prozesse Klassifizierung paralleler Rechenprozesse Aufgaben der Prozessverwaltung Werkzeuge der Prozessverwaltung Verwaltungsstrategien: Das Echtzeitbetriebssystem MRT Betriebsmittelverwaltung Prozessorverwaltung Speicherverwaltung Zeitgeberverwaltung Ein-/ Ausgabeverwaltung Prozessorbelastung Beschreibung von Echtzeitsystemen Petrinetze Formale Beschreibungen und Zeitdiagramme.. 21

4

5 Echtzeitverarbeitung Motivation 0 Motivation sequentielle Denkweise für den Ablauf eines Einzelprozesses soll ergänzt werden um die nebenläufige beim Zusammenspiel abhängiger Prozesse Annahmen der klassischen Programmierung: Ein Rechner führt genau ein Programm aus. (Im Gegensatz zu Multitasking Systemen) Ein Programm wird genau auf einem Rechner ausgeführt. (Im Gegensatz zum verteilten Rechnen) Ein Programm erfüllt seine Funktion unabhängig vom Startzeitpunkt und benötigter Bearbeitungszeit. (Echtzeitverarbeitung setzt hier einen Gegensatz an.) Im Gegensatz zu diesen Annahmen existiert die: concurrent, distributed, realtime dependend programs nebenläufige (simultane), verteilte und echtzeitabhängige Programme Arbeitet man mit dieser Art von Programmen, muß zwischen dem Programm selbst und dem Prozess unterschieden werden. 0.1 Literaturhinweise: Herrtwich, R.G.; Hommel, G.: nebenläufige Programme.Nebenläufige verteilte und echzeitabhängige Rechenprozesse Berlin, Heidelberg, New York, Springer 1994 (siehe auch Bibliothek) Wettstein, H: Entwicklung von Betriebssystemen.München, Wien, Carl Hanser Dannegger, Ch.: Gengelin-Dannegger: Parallele Prozesse unter UNIX.München, Wien, Carl Hanser, VO Gliederung Sequentielle und parallele Prozesse - Prozessbegriff - Demonstration der Zeitabhängigkeit voneinander abhängiger Prozesse Verwaltung paralleler Prozesse - Steuerung der simultan ablaufenden Prozesse - räuml. und zeitl. Verwaltung - Betriebsmittelbegriff - konkurierende und kooperierende Prozesse - Verwaltungsaufgaben (Prozeßkoordination, -synchronisation, -kommunikation) - Verwaltungswerkzeuge (Semaphor, Warteschlange, Nachrichtenpuffer) - Verwaltungsstrategien (RoundRobin, Ereignissteuerung) - Begriffe wie VM, ext. Ereignis, Echzeit, Deadlock BM- Verwaltung - Prozessor, Speicher, Clock, E/A-Kanäle Beschreibung von Echzeitsystemen - Petri-Netze ohne, mit, mit unterscheidbaren Marken - formale Beschreibungen - Zeitdiagramme EchtzeitBS - wichtige EZBS in der Praxis - zeitliches Verhalten von RT-BS Echzeitsprachen - zugeschnittenes RT-Sprachen für embedded systems - Möglichkeiten von C, Ada, Pearl - Ergänzung prozeduraler Sprachen (z.b. C) um einen RT-BS-Kern Isabel Maine C. Drost Seite 5 von 29

6 Echteitverarbeitung Parallele Prozesse werden in zwei Klassen unterteilt: 1 Sequentielle und parallele Prozesse Ein System ist ein relativ abgeschlossener Teil der Welt, der über Ein- und Ausgangsrößen mit seiner Umwelt in Wechselwirkung steht. U M W E L T in einem solchen System laufen Prozesse ab - Ein Prozeß abstrakt definiert: Zeitlich geordnete Folge von Zuständen. - Ein Prozeß konkret definiert: quantitative oder qualitative Änderung von Stoffen, Energien oder Informationen in Abhängigkeit von der Zeit. mehrere (separierbare) Prozesse laufen gleichzeitig ab, sind aber nicht voneinander isoliert S Y S T E M Eingangsgrößen Ausgangsgrößen System = abgeschlossener Raum der Umwelt Abbildung 1-1; Ein System in seiner Umwelt für zwei Prozesse gelten folgende Beziehungen: - sequentielle Prozesse, genau dann, wenn b beginnt, wenn a beendet ist oder umgekehrt - parallele Prozesse, genau dann, wenn b beginnt, bevor a beendet ist. 1.1 Parallele Prozesse werden in zwei Klassen unterteilt: unabhängige Prozesse: es gibt keine Wechselwirkungen zw. den Prozessen, sie laufen vollständig assynchron abhängige Prozesse: Wechselwirkungen existieren, der Zustand eines Prozesses ist vom Zustand eines anderen Prozesses abhängig, laufen meist assynchron in Multitask- und Echtzeitsystemen müssen Berechnungsschritte simultan ausgeführt werden, weil andernfalls ein Informationsverlust möglich wäre Echtzeit: relative Lage der Prozesse zueinander simultane Arbeitsweise bringt Probleme, die durch die nicht vorherbestimmbaren relativen Ausführungsgeschwindigkeiten von Rechenprozessen entstehen es kann zu falschen Ergebnissesn (Zeitvarianz) bei abhängigen parallelen Rechenprozessen führen Beispiel: Gegeben seien zwei parallele Prozesse a und b, die die externen Ereignisse 1 und 2 in einer gemeinsamen, globalen Variablen zählen. B B B A A A A Zeit Prozeß a und b beeinflußen sich nicht, laufen sequentiell ab Zeit Prozess a und b laufen gleichzeitig, beeinflußen sich nicht Zeit Prozess a und b laufen parallel und beeinflussen sich Prozess A Prozess B E1 i++ i++ E2 `. Zeit Ergebnis ist OK, die Summe ist zwei Abbildung 1-2; Visualisierung der Prozessarten Zeiit Beim Compilieren eines Programms, geschrieben in einer Hochsprache wird eine solche Anweisung im ungünstigsten Fall in mehrere Prozessorschritte zerlegt: Hole die Variable, Inkrementiere die Variable, Schreibe die Variable zurück. Somit ist das Ergebnis zeitabhängig. Isabel Maine C. Drost Seite 6 von 29

7 Echtzeitverarbeitung Verwaltung paralleler Prozesse Das gleiche Problem tritt bei quasisimultaner Aktionsfolge auf. (B sei höher priorisiert als A) Prozess A Prozeß B E1 a=i E2. b=i. b++. i=b a++ i=a `. zeit Folge: i ist wieder nur um eins erhöht! Forderung: Die Ausgangsgrößen (Ergebnisse) eines Echtzeitsystems sind eine zeitunabhängige Folge der Eingangsgrößen (Parameter). 1.2 Trennung von Prozessen und Programm wichtiger Aspekt bei parallelen Rechenprozessen: Mehrere Prozesse können gleichzeitig dasselbe Programm benutzen reentrante Programme strikte Trennung zwischen Programm und Prozess Programm = Folge von Befehlen/ Anweisungen im Speicher oder auf einem externen Datenträger - enthält die exakte Forumulierung eines Algorithmus in einer Programmiersprache - legt Regeln für die Verarbeitung von Informationen fest - kann einen Teil der Prozeßumgebung (Prozeßrumpf) bilden Prozeß = existiert während der Ausführung eines Programmes auf einem Rechner - ist ein dynamischer, lebendiger Vorgang - entsteht, wenn ein Progrmm gestartet wird - seine Lebensdauer beginnt mit der ersten und endet mit der letzten ausgeführten Anweisung 2 Verwaltung paralleler Prozesse Ziel: - Steuerung der gleichzeitig auf dem Rechner ablaufenden Prozesse - sinnvolle Aufteilung der Rechnerhardware, zeitliche Organisation der Prozesse Prozeßverwaltung: - räumliche und zeitliche Koordination von Benutzerprozessen auf dem Rechner - ist von konkreter Rechnerhardware abhängig aber von Funktionen der Benutzerprozesse unabhängig - Problemunabhängigkeit des Prozeßverwalters Betriebsmittel (BM): - physische Bestandteile eines Rechners (Speicher, CPU) - im erweiterten BM-Begriff gehören auch Nachrichtenpuffer, Semaphoren, Prozeßbeschreibungen (TCB) dazu 2.1 Klassifizierung paralleler Rechenprozesse - konkurrierende Prozesse = unabhängige parallele Rechenprozesse kommen aufgrund ihrer Ausführung auf dem selben Rechner in Berührung = konkurrieren um gemeinsam genutzte BM - kooperierende Prozesse = abhängige Prozesse kommen aufgrund ihrer Ausführung auf dem selben Rechner sowie aufgrund des Infromationsaustauschs in Berührung = laufen meist assynchron Isabel Maine C. Drost Seite 7 von 29

8 Echteitverarbeitung Aufgaben der Prozessverwaltung Typisch für konkurrierende Prozesse: Multitasksysteme Multiusersysteme (Auslastung der Rechnerhardware, Zugangsmöglichkeit für mehrere Nutzer) Typisch für kooperierende Prozesse: Systeme der Prozessdatenverarbeitung mit einem gemeinsamen Steuerungsziel 2.2 Aufgaben der Prozessverwaltung Prozeßkoordination - wechselseitiger Ausschluß beim BM-Zugriff - für konkurierende und kooperierende Prozesse Prozeßsynchronisation - Gleichlauf von Prozessen zu bestimmten Zeiten - nur für kooperierende Prozesse Prozesskommunikation - Nachrichtenaustausch mit oder ohne zeitl. Entkopplung - nur für kooperierende Prozesse 2.3 Werkzeuge der Prozessverwaltung Semaphor: globale Variable zum wechselseitigen Ausschluß sowie zur Synchronisation paralleler Prozesse Beispiel: Einseitige Synchronisation mit binärem Semaphor Semaphoren sind häufig binär (z.b. µp INT FF), manchmal aber auch mehrwertig (Wertevorat ist mindestens so groß, dass alle gesendeten aber noch nicht empfangenen Zeitsignale erfaßt werden können.) Einseitige Synchronisation in C Einseitige Synchronisation in C Prozeß B soll erst dann in den Zustand m+1 eintreten, wenn Prozeß A schon in n+2 war Prozeß A Semaphor Prozeß B Zustand n n+1 n+2 Zustand m warten Zustand m+1 Abbildung 2-1; Beispiel für einen binären Semaphor p(sema) und v(sema) sind Operatoren, nach Dijkstra, die folgende Bedeutung haben: int sema=0; /*Semaphor wird initialisiert*/ void Prozess_A() { v(sema) /*Semaphor freigeben*/ } void Prozess_B() { p(sema); /*Semaphor abfragen*/ } p Probieren/ request semaphor sema-- j anfordernden Prozeß block. sema<0 Abbildung 2-2; Visualisierung der atomaren Funktion p v Erhöhen/ Release-Semaphore sema++ j sema<=0 anfordernden Prozeß deblock. n n Abbildung 2-3; Visualisierung der atomaren Funktion v Isabel Maine C. Drost Seite 8 von 29

9 Echtzeitverarbeitung Verwaltung paralleler Prozesse Zweiseitige Synchronisation und wechselseitiger Ausschluß Zweiseitige Synchronisation und wechselseitiger Ausschluß int sema=1; void Prozess_A() { P(sema); /*Eintritt in kritischen Abschnitt*/ V(sema); /*Austritt aus kritischem Abschnitt*/ } void Prozeß_B() { P(sema); V(sema); } Nachricht zwischen parallelen Prozessen ausgetauschte Daten mit beiden kommunizierenden Seiten bekannter Bedeutung Austausch im Rendevous bzw. mit zeitlicher Entkopplung bei Benutzung von BM Warteschlange geordnete Liste von Prozessen, die auf Benutzung eines gemeinsamen BM warten 2.4 Verwaltungsstrategien: nichtunterbrechbare Steuerung: FCFS First come first served SJN shortest job next HRN highest response ratio next typisch für konventionelle Dtenverarbeitungsanlgen (effektive Rechnerauslastung, vorherschaubare Antwortzeiten, Antwortzeit: vom Start des Programms bis zum Ende, aber in Multitasking-Umgebung, Antwortverhältnis Antowortzeit Rechenzeit unterbrechende Steuerung: RoundRobin, EventControl typisch für Echzeitsysteme, nicht effiziente Rechnerauslasturn, sondern Auslastung des kompletten Systems entscheiden RoundRobin: Zeitscheibenverfahren, in Multiuser- und tasksystemen Event Control: Verwaltung nur zu systemrelevanten Zeitpunkten, in Echtzeitsystemen und damit Multitasksystemen, bei Ereigniseintritt (externe Unterbrechung, interner Aufruf) erfolgt Entscheidung, welcher Prozeß jetzt forzuführen ist Virtuelle Maschine: zur Ausführung eines Programms simulierte Funktion eines Rechners gegenwärtige Prozessoren arbeiten sequentiell Widerspruch zu simultan zu lösenden Aufgaben für jeden Prozeß eigener Prozessor emuliert virtuelle Parallelmaschine, jeder Prozeß läuft auf eigenem Pseudoprozessor Isabel Maine C. Drost Seite 9 von 29

10 Echteitverarbeitung Verwaltungsstrategien: externes Ereignis: Meldung des zu steuernden externen Prozesses an den steuernden Rechenprozeß, erfolgt meistens indirekt über Verwaltungsprozeß (Bestandteil eines problemunabhängigen EchtzeitBSkerns für Echtzeitsysteme entscheidend Ausrichtung des Steuerungsablaufes Prozessorkapazität darf in Echtzeitsystemein nicht voll ausgeschöpft werden (20-30% üblich) Einführung eines Leerlaufprozesses Begriff Echtzeit: nur für steuernden Prozeß relevant Einhaltung der von den zu steuernden Prozessesn vorgegenen zeitlichen Bedingnungen durch steuernde Rechenprozesse Echtzeitbedingung erfüllt, wenn - alle Rechenprozesse in zur Verfügung stehender Zeit bearbeitet - rechtzeitige Reaktion auf externes Ereignis erfolgt - keine Informationen verlorengehen 3 Das Echtzeitbetriebssystem MRT86 MRT86 Multitask Realtime Kernel für 80x86Prozessoren Smmlung von Funktionen für quasiparallele Prozesse auf Monoprozessorsystem Wichtige Eigenschaften: dynmische Verwaltung von Prozessen prioritätsgesteuerte Betriebsmittelverwaltung (v.a. für Prozessor) zeit- oder ereignisssteuerung der Prozesse (ext./ int. Interupts) für jeden Prozeß eigener Speicherbereich Stack Prozesskommunikation über Mailboxen Prozesssynchronisation und koordination über Semaphoren strukturierte zeitoptimierte Verwaltungsaktionen Wichtige Verwaltungsrufe: ACTIVATE_MRT86(EXITP, ERRC) aktiviert das Echtzeitsystem exitpname der exitfkt.; errc Parameter für exitp (z.b. Fehlernummer) ist der erste Kernaufruf, Init der TaskControlblocks ITCB Zeitgeber auf 10ms umprogrammieren Start von idle START_PROCESS(PROC, PTY, SIZE, ADDR) Prozess starten, PROC Prozessnummer (1-255) PTY Priorität (0-30) SIZE Größe des belegten Speichers, Vielfaches von 256 byte STOP_PROCESS(PROC) HOLD_PROCESS() Prozeß anhalten CONTINUE_PROCESS() DELAY_PROCESS() DELAY_ONCE(Proc_number, time_in_ms) DELAY_CYCLIC() ALTER_PRIORITY() SEND_MESSAGE() AWAIT_MESSAGE() REQUEST_SEMAPHORE() RELEASE_SEMAPHORE() PLAN_EVENT() Ereignisaktion planen (auf Int) INACT stop BLOCK BLOCK& HOLD stop start start RDY HOLD REQ - REL Priorität send send RUN WAIT await WAIT& HOLD MOVE_GLOBAL() globale Vriable lesen/ schreiben Abbildung 3-1; MRT86 Prozessmodell Isabel Maine C. Drost Seite 10 von 29

11 Echtzeitverarbeitung Das Echtzeitbetriebssystem MRT86 ENABLE_INTERRUPT() DISABLE_INTERRUPT() PROCESS_NUMBER() PROCESS_STATUS() Prozesszustand abfragen MESSAGE_AVAILABLE() Nachrichtenverfügbarkeit prüfen Bsp. für C-Quellcode: #include <mrt86.h> void main(void) { ACTIVATE_MRT86(exit, 0); //C-Hauptprog. als Prozeß 0 } Explizite Kerndeaktivierung: DEACT_MRT86() RETURN_CODE(1 Nummer des gestarteten Prozesses zurückgeben, 0.. Prozess wurde nicht gestartet (bereits aktiv, Prozessstapel voll oder falsche Priorität) Funktion beim Prozeßstart: der zu satrende Prozeß wird aktiviert RDY Aubau des Prozeßstapels (u.a. ADR bei Fortsetzungsadresse eintragen) ist gestarteter Prozess höher priorisiert als startender Prozessumschaltung Fortsetzung des höchst priorisierten Prozesses, der RDY ist Beispiel: #include <mrt86.h> PROCESS P1 { START_PROCESS(2, 0, 0, P2); STOP_PROCESS(0); } PROCESS P2 {} void main (void) { ACTIVATE_MRT86(exit, 0); START_PROCESS(1.5, 0, P1); } Isabel Maine C. Drost Seite 11 von 29

12 Echteitverarbeitung Prozessorverwaltung 4 Betriebsmittelverwaltung 4.1 Prozessorverwaltung Prozessor: Engpass des Systems Prozessoraufteilung von besonderer Bedeutung Prinzipielle Steuerungsalgorithmen 1) Vollständige Bearbeitung in der Ankunftsreihenfolge Stapelbetrieb Prozessoraufruf Prozeßstart Prozessorwarteschlange F E D C B Abbildung 4-1; Betriebsmittelverwaltung - Stapelbetrieb Prozessor 2) Vollständige Bearbeitung in der Prioritätsreihenfolge Es ist auch dann keine Unterbrechung möglich, wenn der derzeit laufende Prozeß niedriger priorisiert ist, als der aktuell höchstpriorisierte Prozeß, der Ready ist. Prozessorzuteilung Prozessoraufruf Prozeßstart Prozessorwarteschlange B C E D F nach fallender Priorität geordnet A Prozessor A 5 laufender Prozess Prozessoraufgabe Prozeßstop laufender Prozess Prozessoraufgabe Prozeßstop Abbildung 4-2; Betriebsmittelverwaltung Vollständige Bearbeitung in Prioritätsreihenfolge 3) Prioritätsgesteuerte Bearbeitung mit Freigabe BM-Warteschlange Prozeßfreigabe A B C Prozessorfreigabe Prozeßunterbrechung Prozeßsuspendierung Prozessorwarteschlange Prozessorzuteilung Prozessoraufruf Prozeßstart E F 4) Prioritätsgesteuerte Bearbeitung mit Prozessorentzug preemptiv Scheduling A Prozessoraufgabe Prozeßstop Abbildung 4-3; Betriebsmittelverwaltung Prozeßumschaltung bei Warten auf BM Prozessorzuteilung Prozessoraufruf Prozeßstart BM-Warteschlange A B C Prozessverdrängung Prozessorentzug E F Prozessorzuteilung A Prozessoraufgabe Prozeßstop Abbildung 4-4; Betriebsmittelverwaltung - Prozeßverdrängung Isabel Maine C. Drost Seite 12 von 29

13 Echtzeitverarbeitung Betriebsmittelverwaltung Prozeßverwaltung im MRT86: über einen TCB (Task Control Block) Status RDY RDY HOLD RUN INACT Priorität Zeiger auf nächsthöher priorisierten Prozeß NULL 0 1 Zeiger auf nächstniedrigeren Prozeß 1 3 Sobald ein neuer Prozeß in der Prozeßwarteschlange eintrifft, wird er in der Prozessorwarteschlange entsprechend seiner Priorität und seines Status eingeordnet. Für die Verwaltung eines Prozesses in einem Echtzeitbetriebssystem kommt nur die vierte Art in Frage. 3 Prinzipien des preemptiven Schedulings: - Abfragesteuerung (Polling): "probeweise" Rückgabe des Prozessors in vernünftigen Zeitabständen dann Verwaltungsabschätzung - Zeitsteuerung: zyklische Unterbrechung durch den Verwalter dann Verwaltungsentscheidung - Ereignissteuerung: Verwaltungsentscheidung nur bei Ereigniseintritt (Interrupt, Verwaltungsaufruf) 4.2 Speicherverwaltung Unterscheidung zwischen globalem und lokalem Speicher global: Variablen des Verwalters (TCB, Mailboxen, Stackliste, Zeitgeberschlangen, Semaphoren) lokal: jedem Prozeß zugeordnete Variablen (u.a. generelle Registerinhalte bei Prozeßabschaltung) Datensegment ST SB SL SH ML MH NX UP RC 0000 FFFF 0000 Prozeßtabelle 0900 Stacktabelle 0A00 Mailbox Zeitgeberliste MRT86 - Variable xxxx globale Variable ffff frei Stacksegment Stack k Stack i Stack 0 frei SB SH, SL 00FF Speicherorganisation Abbildung 4-5; Speicherorganisation beim MRT86 Status Priorität 0 RDY/RUN HOLD 2 WAIT 3 W&H 4 Block 5 B&H 6 INACT Isabel Maine C. Drost Seite 13 von 29

14 4.3 Zeitgeberverwaltung Echteitverarbeitung Zeitgeberverwaltung in Echtzeitsystemen definierte relative Zeitlage von Aktionen zueinander Aufgabe kann nicht durch den Prozessor, sondern muß durch einen Zeitgeber übernommen werden. Anzahl der Zeitgeberkanäle ist begrenzt Schaffung mehrerer virtueller Zeitgeberkanäle (alle durch einen physischen Zeitgeber versorgt) CTC - Interruptfreigabe 0.01 s Impulsgeber (CTC) Prozessorunterbrechung Zeitgeber aktiv. Zeitgeberschlange (RAM) Prozeßfreigabeimpuls 4.4 Ein-/ Ausgabeverwaltung Abbildung 4-6; Zeitgeberverwaltung ist nicht Bestandteil des Echtzeitbetriebssystemskerns, sondern wird Treibern (die als spezielle Prozesse ablaufen) überlassen E/A-Kanäle werden speziellen Prozessen zugeordnet, die mit anderen Systemprozessen kommunizieren Prozessverwalter bleibt somit problemunabhängig 4.5 Prozessorbelastung worst-case Abschätzungen für die Prozessorbelastung erforderlich Belastungen durch Anwender und durch Verwaltungsprozesse können nicht immer vernachlässigt werden Beispiel Prozessorbelastung durch Verwaltungsaktionen: p Prozessorbelastung zwischen 0 und 1 (rel. Anteil) c + k * n c konstanter Laufzeitanteil der Verwaltungsaktionen p = T k relativer, prozessbezogener Anteil an Verwaltungsaktionen n Anzahl der Prozesse T mittlere Zeit für eine Aktion p1 0 T Verschiebung der Kurve nach rechts für größeres n! 5 Beschreibung von Echtzeitsystemen 5.1 Petrinetze zur anschaulichen Darstellung von nebenläufigen Systemen und der Wechselwirkungen zwischen den Prozessen 1962 durch Petri (Dissertation) vorgestellt Petrinetze ohne Marken Der Platz, von dem aus eine Kante zu einer Transition führt, heißt Eingangsplatz. Nächstgelegene Plätze sind Ausgangsplätze. Auf einem Pfad wechseln sich die Plätze und Transitionen ab. Der Platz stellt den Zustand eines Prozesses dar, während eine Transition einen Zustandswechsel darstellt. Transition Stelle/ Platz gerichtete Kanten Es ist möglich aus verschiedenen Plätzen über eine Transition in verschiedene andere Plätze zu gelangen. Abbildung 5-1; Petrinetz ohne Marke Isabel Maine C. Drost Seite 14 von 29

15 Echtzeitverarbeitung Beschreibung von Echtzeitsystemen Struktur eines Petrinetzes: Knotenmengen sind disjunkt der Durchschnitt aus Stellen und Transitionen ist Null. S T = 0 S T 0 F ( SxT) ( TxS) Knotenmenge enthält mindestens eine Stelle oder eine Transition. die Kantenmenge F enthält nur Elemente, die Knoten verschiedener Mengen miteinander verbinden Isolierte Netze repräsentieren unabhängige nebenläufige Systeme: s Abbildung 5-2; Isolierte Netze s und t t Zyklische Netze: Abbildung 5-3; zyklisches Netz Abbildung 5-4; zyklisches Netz Platz: passive Systemkomponente Transition: aktive Systemkomponente Beispiel: Darstellung einer Bestellung Bestellung Bestellaufnahme Lieferauftrag Auslieferung Ware Prod-Auftrag Produktion Lager Abbildung 5-5; Petrinetz für die Darstellung einer Bestellung Verfeinerung von Einzelknoten meistens Transitionen am Beispiel Lieferauftrag Auslieferung Versenden Lieferscheinerstellung Lieferschein Ware Lager Abbildung 5-6; Verfeinerung der Transition Auslieferung Verpackung Verpackte Ware Isabel Maine C. Drost Seite 15 von 29

16 Echteitverarbeitung Petrinetze Zusammenfassen von übergeordneten Teilnetzen zu Einzelknoten Abbildung 5-7; Zusammenfassen von übergeordneten Teilnetzen zu Einzelknoten Petrinetze mit Marken werden verwendet zur Beschreibung der dynamischen Eigenschaften eines Systems Dynamik durch veränderte Markierung der Plätze beschrieben Der Übergang von einer Markierung zur nächsten wird durch Schaltregeln (fire rules) beschrieben. Petrinetze mit Marken heißen Stellen Transitionsnetze. Marken werden als Punkte in den Plätzen dargestellt. Die Anzahl der Marken ist nicht konstant: Nach dem Feuern wird von jedem Eingangsplatz eine Marke abgezogen und in jedem Ausgangsplatz eine hinzugefügt. Abbildung 5-8; Petrinetze mit Marken vor und nach dem Feuern falls keine Kantenwichtung angegeben ist, fließt beim Schalten von Transitionen über jede Kante genau eine Marke fehlende Kapazitätsangabe für Plätze beschreiben ihre unendliche Kapazität Abbildung 5-9; Feuern von Petrinetzen mit Marken und gewichteten Kanten Nichtschaltende Transitionen: Abbildung 5-10; Nichtschaltende Transition 1 Abbildung 5-11; Nichtschaltende Transition2 Isabel Maine C. Drost Seite 16 von 29

17 Echtzeitverarbeitung Beschreibung von Echtzeitsystemen Das Schalten der Transition erfordert keine Zeit, erfolgt schlagartig. Im Allgemeinen wird keine Verweildauer für die Marken in Plätzen festgelegt. Wenn alle Plätze ihre Maximalkapazität erreicht haben, nennt man das Netz todesgefährdet. (Also dann, wenn ein Zustand erreicht werden kann, in dem keine Transition mehr schalten kann.) In allen anderen Fällen heißt das Netz lebendig. Abbildung 5-13; lebendiges Netz Abbildung 5-12; todesgefährdetes Netz Sichere und unsichere Netze Ein Netz nennt man dann sicher, wenn eine Erhöhung der Platzkapazitäten nicht zu mehr Schaltmöglichkeiten führt. n n 1 Abbildung 5-14; ein sicheres Netz Abbildung 5-15; unsicheres Netz Wozu werden Petrinetze benutzt? Darstellung von Nebenläufigkeiten von Prozessen Darstellung von Synchronisations- und Kommunikationsmethoden Darstellung der Nebenläufigkeit von Prozessen im Petrinetz t1; conc t2 t3 end conc; t4; Auf eine Transition t1 folgen parallel t2 und t3, danach t4. Darstellung im Netz wie folgt: t2 t1 t4 t3 Abbildung 5-16; Nebenläufige Prozesse Darstellung eines nichtdeterminierbaren Auswahl von Zustandswechseln: t1; select t2 t3 end select; t4 t2 t1 t4 t3 Abbildung 5-17; nichtdeterministische Auswahl Isabel Maine C. Drost Seite 17 von 29

18 Echteitverarbeitung Petrinetze Beschreibung des wechselseitigen Ausschlusses in Petrinetzen P1: t1; crit k do t2 end crit; t3 P2: t1; crit k do t2 end crit; t3 t1 crit t2 end crit t4 P1 t1 crit t2 end crit t4 P1 Abbildung 5-19; Beschreibung von wechselseitigem Ausschluss t1 crit t2 end crit t4 P1 t1 crit t2 end crit t4 P1 Abbildung 5-18; wechselseitiger Ausschluß unter Nutzung einer gemeinsamen Semaphore einseitige Synchronisation ProzeßA: t1; set b; t2; ProzeßB: t3; await b; t4; Prozeß A t1 set b t2 b Prozeß B t3 await b Abbildung 5-20; einseitige Synchronisation t4 zweiseitige Synchronisation Prozess A: t1; set b; await c; t2; Prozess B: t3; set c; await b; t4; Prozeß A t1 set b await c t2 b c Prozeß B t3 set c Abbildung 5-21; zweiseitige Synchronisation await b t4 Isabel Maine C. Drost Seite 18 von 29

19 Kritisches Lesen Kritisches Lesen Kritisches Lesen Echtzeitverarbeitung Beschreibung von Echtzeitsystemen Client Server Beziehung A: t1; send a; await f; t2; B: t3; receive a; t4; send f; Prozeß A t1 set b await c t2 b c Prozeß B t3 await b Abbildung 5-22; Client Server Beziehung Leser Schreiber Beziehung t4 set c Leser 1 Austritt Eintritt Unkritisch Leser 3 Unkritisch Unkritisch Eintritt Eintritt Austritt Austritt Unkritisch Kritisches Lesen Eintritt Leser 2 Austritt Abbildung 5-23; Leser Schreiber Beziehung mit drei Lesern Isabel Maine C. Drost Seite 19 von 29

20 Echteitverarbeitung Petrinetze Speisende Philosophen Philosoph 1 denkt Philosoph 5 denkt speist Philosoph 2 Gabel 1 Gabel 2 denkt speist speist Philosoph 4 denkt Gabel 5 Gabel 3 Philosoph 3 denkt speist Gabel 4 speist Abbildung 5-24; Die speisenden Philosophen einzige Verklemmungsmögichkeit: Jeder Philosoph sitzt mit einer Gabel/ Stäbchen da und kann noch nicht essen Petri Netze mit unterscheidbaren Marken Prädikatstransitionsnetze Petrinetze mit vielen gleichartigen Abläufen (wie oben) legen nahe, das Petrinetz zu falten und die gleichartigen Teile dabei übereinanderzulegen Probleme bei der Faltung: Gabeln werden nicht unterschieden (Die Philosophen können derzeit irgendeine Gabel nehmen, die evtl. gar nicht neben ihnen liegt) Auch die Prozesse werden nicht unterschieden. Lösung: Einführung von unterscheidbaren Marken. Bei der Verwendung von unterscheidbaren Marken, müssen auch die Transitionen um Schaltbedingungen und Schaltwirkungen erweitert werden. Philosoph 3 speist 2 Gabeln5 denkt x y Bedinung Wirkung x=2y z=2x+y z g1=i g2=i%5+1 i i denkt speist i i g1=i g2=i% vor dem Schallten 8 4 x x=2y z=2x+y y z 20 g1, g2 Gabeln g1, g nach dem Schalten Isabel Maine C. Drost Seite 20 von 29

21 Echtzeitverarbeitung Beschreibung von Echtzeitsystemen 5.2 Formale Beschreibungen und Zeitdiagramme Beschreibungstechnik muß folgende Aufgaben erfüllen: 1) verteilte Problemstellungen und verteilt operierende Algorithmen bearbeiten 2) Systeme und Algorithmen unter Verwendung von verteilten Berechnungen analysieren 3) Systeme und Verfahren zur Deadlockbehandlung einheitlich darstellen Gesamtfunktionalität eines Echtzeitsystems besteht aus den Teilen : Basisfunktionalität Deadlockbehandlung Ereignisse und Prozesse sind zentrale Elemente der Beschreibung von Echtzeitsystemen Funktionalität von Systemen wird durch Ereignisse beschrieben, die von Prozessen zur Laufzeit erzeugt werden. die räumliche und zeitliche Ausprägung der Gesamtheit der Ereignisse heißt verteilte Berechnung Ereignis: ist ein einmaliges Geschehnis, das genau zu einem Zeitpunkt und an einem genau definierten Ort eintritt. Ein Ereignis ist ein Punkt in der RaumZeit. Ereignisse dauern keine Zeit (Dimension 0) Prozeß: ist eine sequentielle Folge von Ereignissen, zur grafischen Veranschaulichung von Prozessverläufen werden häufig Zeitdiagramme benutzt. Z.B.: Telefonat: T Gespräch beenden (4) Hörer auflegen(5) t Ereignisse können formal folgendermaßen beschrieben werden: Ein Prozeß P i ist beschrieben durch das Tupel (ε i, < i ) mit der Ereignismenge ε i und der lokalen Ordnung < i auf der Ereignismenge. Verbindung aufgebaut(3) Nummer wählen(2) Hörer abnehmen (1) Abbildung 5-29; Zeitdiagramm zu einem Telefonat Es gilt e<f (e findet vor f statt) für Ereignisse e, f ε ι genau dann, wenn e vor f stattfindet. Beispiel dafür anhand des Telefonates: T=(ε T, < i ) ε T ={1, 2, 3, 4, 5} < T ={(1, 2), (2, 3), (3, 4), (4, 5)} Sind e, f ε ι Ereignisse eines Prozesses P i und gilt e<f, so ist das von ihnen gebildete Zeitintervall [e, f] (geschlossenes Intervall). Pi (i:s(m,j)) = Sendeereignis t Ereignis = Zustandswechsel Zeitintervall = Prozeßzustand Pj t (j:r(m,i)) = Empfangsereignis Abbildung 5-30; Sende- und Empfangsereignisse Prozesse laufen in Systemen nicht isoliert ab, sondern haben Wechselwirkungen mit anderen Prozessen. Hierbei wird die Ereignisreihenfolge zweier Prozesse eingeschränkt: ein Prozess setzt ein Sendeereignis ab (Nachricht), während ein zweiter Prozess ein Empfangsereignis erhält (Nachrichtenempfang) werden als korrespondierende Kommunikationsereignisse bezeichnet. Pi (i:s(m,x)) = Sendeereignis Pj (j:r(m,i)) = Empfangsereignis Pk (k:r(m,i)) = Empfangsereignis Pl (l:r(m,i)) = Empfangsereignis Abbildung 5-31; Broadcast von Ereignissen t t t t Isabel Maine C. Drost Seite 21 von 29

22 Prozesssynchronisation am Beispiel des Telefonats: T U Hörer abnehmen Nummer wählen Hörer abnehmen Telefon klingelt Echteitverarbeitung Formale Beschreibungen und Zeitdiagramme Verbindung aufgebaut Systembeschreibung durch Ereignisse Prozeßsystem mit den Eigenschaften SEQ und X (SEQ sequentielle Anforderungen, X Zugriffe auf die Betriebsmittel sind exklusiv) t t Im System existieren dann 2 aktive Komponenten: Prozesse = aktive Einheiten des Systems; Controller = Komponente zur Steuerung der Prozesse und Verwaltung der Betriebsmittel. Prozesse Ein Request ist eine Anforderungsnachricht an den Controller, währendessen ein Reply die dazugehörige Bewilligung ist. Die Freigabe des BM erfolg durch ein release: Pi C start req(r) grant(r) req(s) grant(s) rel(r) rel(s) t Beispiel: Kreuzung mit gleichrangigen Straßen: Beschreibung der Aktionen durch Pseudocode: Fahrzeug F req(r) (F: s(req(r), C)) (F:r(grant(R), C)) // benutzen rel(r) (F:s(rel(R), C)) t R3 Request Controller Reply Abbildung 5-33; Prozesse und Controller R2 Controller (1. Ansatz) (C:r(req(R), F) (C:s(grant(R),F)) (C:r(rel(R), F) gebe R frei 2. Ansatz F1 req(r1) req(r2) R4 fahren R1 R1 rel(r1) rel(r2) (C:r(req(R), F) if(free[r]=true then (C:s(grant(R), F)) free[r]=false (C:r(rel(R), F)) free[r]=true C grant(1) grant(2) Isabel Maine C. Drost Seite 22 von 29

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

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

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

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

Motivation. Motivation

Motivation. Motivation Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2012 Universität Duisburg-Essen Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten

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

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

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

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

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne 6.2 Petri-Netze WS 06/07 mod 621 Petri-Netz (auch Stellen-/Transitions-Netz): Formaler Kalkül zur Modellierung von Abläufen mit nebenläufigen Prozessen und kausalen Beziehungen Basiert auf bipartiten gerichteten

Mehr

Einführung Low-Level-Netze High-Level-Netze Referenzen. Petrinetze. Benjamin Daeumlich 30.10.2006

Einführung Low-Level-Netze High-Level-Netze Referenzen. Petrinetze. Benjamin Daeumlich 30.10.2006 30.10.2006 Gliederung 1 2 3 4 . Geschichte Was sind? Petrinetz-Typen Geschichte Geschichte Was sind? Petrinetz-Typen 1962 eingeführt von Carl Adam Petri zuerst nur aber: oft zu einfach für Spezifikationszwecke

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

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

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

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

Ein einfaches Modell zur Fehlerfortpflanzung

Ein einfaches Modell zur Fehlerfortpflanzung Ein einfaches Modell zur Fehlerfortpflanzung Jens Chr. Lisner lisner@dc.uni-due.de ICB / Universität Duisburg-Essen AK Fehlertoleranz 11/2006 p. Problemstellung Üblich bei der Formalisierung von Systemen:

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

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

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

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

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

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

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

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

Prof. Dr. Th. Letschert CS5001. Verteilte Systeme. Master of Science (Informatik) - Formalisierungen, Logische Zeit - Th Letschert FH Gießen-Friedberg

Prof. Dr. Th. Letschert CS5001. Verteilte Systeme. Master of Science (Informatik) - Formalisierungen, Logische Zeit - Th Letschert FH Gießen-Friedberg Prof. Dr. Th. Letschert CS5 Master of Science (Informatik) - Formalisierungen, Logische Zeit - Th Letschert FH Gießen-Friedberg Formalisierung verteilter Berechnungen Logische Zeit 2 Formalisierung verteilter

Mehr

Einführung - Systeme

Einführung - Systeme Systeme Petri-Netze Gliederung Einführung - Systeme System Zustand Arten von Systemen Petri-Netze Low-Level Petri-Netze High-Level Petri-Netze 2 System griechisch: σύστηµα = das Gebilde, Zusammengestellte,

Mehr

Dialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen

Dialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen Dialognetze Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen Dialogabläufe auf Fensterebene "grobe Dialogabläufe" d.h. Wechsel zwischen

Mehr

Software-Engineering SS03. Zustandsautomat

Software-Engineering SS03. Zustandsautomat Zustandsautomat Definition: Ein endlicher Automat oder Zustandsautomat besteht aus einer endlichen Zahl von internen Konfigurationen - Zustände genannt. Der Zustand eines Systems beinhaltet implizit die

Mehr

Inhaltsverzeichnis. 1 Daten-Ein/Ausgabe 2

Inhaltsverzeichnis. 1 Daten-Ein/Ausgabe 2 Inhaltsverzeichnis 1 Daten-Ein/Ausgabe 2 2 Optimierung 3 2.1 Mathematische Optimierung................... 3 2.1.1 Bedingungslose Optimierung.............. 3 2.1.2 Optimierung mit Beschränkungen...........

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

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

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

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

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

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Institut für Informatik Prof. Dr. Bernhard Bauer Stephan Roser Viviane Schöbel Wintersemester 07/08 Übungsblatt 5 08.01.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1:

Mehr

Petri-Netze / Eine Einführung (Teil 2)

Petri-Netze / Eine Einführung (Teil 2) Manuel Hertlein Seminar Systementwurf Lehrstuhl Theorie der Programmierung Wiederholung (1) Petri-Netz = bipartiter, gerichteter Graph Aufbau: Plätze (passive Komponenten) Transitionen (aktive Komponenten)

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

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

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

Geschäftsprozessanalyse

Geschäftsprozessanalyse Geschäftsprozessanalyse Prozessmodellierung weitere Begriffe: workflow business process modelling business process (re-)engineering 2 Was ist ein Prozess? Prozesse bestehen aus Aktionen / Ereignissen /

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

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Inhalt 12 Petri-Netze. 12.1 Grundlagen

Inhalt 12 Petri-Netze. 12.1 Grundlagen 1 Inhalt 1 Petri-Netze 1.1 Grundlagen 1. Bedingungs/Ereignis-Netze 1.3 Stellen/Transitions-Netze 1.4 Prädikat/Transitions-Netze 1.5 Hierarchische Petri-Netze 1.6 Zeitbehaftete Petri-Netze 1.7 Strukturelemente

Mehr

Modellierung biologischer. Christian Maidorfer Thomas Zwifl (Seminar aus Informatik)

Modellierung biologischer. Christian Maidorfer Thomas Zwifl (Seminar aus Informatik) Modellierung biologischer Prozesse Christian Maidorfer Thomas Zwifl (Seminar aus Informatik) Überblick Einführung Arten von Modellen Die stochastische Pi-Maschine Warum Modelle Die Biologie konzentriert

Mehr

Entwurf von Algorithmen - Kontrollstrukturen

Entwurf von Algorithmen - Kontrollstrukturen Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer

Mehr

Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner. Übung 5: Semaphoren

Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner. Übung 5: Semaphoren Universität Stuttgart Prof. Dr.-Ing. Dr. h. c. P. Göhner Aufgabe 5.1: Übung 5: Semaphoren Semaphor-Operationen In Bild 5.1.1 ist die Anordnung von Semaphor-Operationen am Anfang und am e der asks A,B,C

Mehr

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis Einführung Einführung in in Betriebssysteme Betriebssysteme und und Theorie und Praxis Theorie und Praxis Oktober 2006 Oktober 2006 Prof. Dr. G. Hellberg Prof. Dr. G. Hellberg Email: hellberg@drhellberg.de

Mehr

2.4.3 Zustandsgraphen

2.4.3 Zustandsgraphen 2.4.3 Zustandsgraphen Folie 2-1+45 Paradigma der Zustandsmodellierung Zustandsmodellierung betrachtet ein System als Zustandsautomaten beschreibt die Zerlegung in Zustände und Zustandsübergänge orientiert

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

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

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

2.4.3 Zustandsgraphen

2.4.3 Zustandsgraphen 2.4.3 Zustandsgraphen Folie 2-1+45 Paradigma der Zustandsmodellierung Zustandsmodellierung betrachtet ein System als Zustandsautomaten beschreibt die Zerlegung in Zustände und Zustandsübergänge orientiert

Mehr

Kapitel 4: Analyse von Petrinetzen

Kapitel 4: Analyse von Petrinetzen Kapitel 4: Analyse von Petrinetzen 1. Beispiele 2. Analyseansatz 3. Markierungsgraph 4. Beschränktheit 5. State Space Explosion: Beispiel 6. Komplementbildung 7. Zusammenhängend 8. Tot, lebendig, verklemmungsfrei

Mehr

Musterlösung Klausur SS 2004

Musterlösung Klausur SS 2004 Musterlösung Klausur SS 2004 Fachrichtung: Informatik Lehrveranstaltung: Verteilte Systeme Dozent: Prof. G. Bengel Tag: 15.6.04 Bearbeitungszeit: 90 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:

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

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

Prozessmodellierung mit Petri-Netzen

Prozessmodellierung mit Petri-Netzen Prozessmodellierung mit Petri-Netzen Ingo Frommholz Universität Duisburg-Essen Vorlesung "Information Engineering" SS 2007 UNIVERSITÄT D U I S B U R G E S S E N Inhaltsverzeichnis 1 Prozesse im Information

Mehr

3 Programmiermodelle für parallele und verteilte Systeme

3 Programmiermodelle für parallele und verteilte Systeme 3 Programmiermodelle für parallele und verteilte Systeme Das vorherrschende Programmiermodell für parallele und verteilte Systeme ist das Client Server Modell. Das Client Server Modell ist unabhängig von

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

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

Uhrensynchronisation. Dipl.-Inf. J. Richling Wintersemester 2003/2004

Uhrensynchronisation. Dipl.-Inf. J. Richling Wintersemester 2003/2004 Uhrensynchronisation Dipl.-Inf. J. Richling Wintersemester 2003/2004 Motivation Zeit kann in Anwendungen eine große Rolle spielen, insbesondere bei Echtzeitsystemen Häufig wichtiger noch als korrekte Zeit:

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

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Wintersemester 2009/10 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. K. Spies, Dr. M. Spichkova, L. Heinemann, P.

Mehr

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert? SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 2 2014-04-28 bis 2014-05-02 Aufgabe 1: Unterbrechungen (a) Wie unterscheiden sich synchrone

Mehr

Verteilte Systeme CS5001

Verteilte Systeme CS5001 CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Einführung Administratives Unterlagen Verwendbar: Master of Science (Informatik) Wahlpflichtfach (Theorie-Pool) Unterlagen Folien:

Mehr

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element

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

VHDL Verhaltensmodellierung

VHDL Verhaltensmodellierung VHDL Verhaltensmodellierung Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 VHDL Verhaltensmodellierung 1/26 2008-10-20

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

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

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume

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

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

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

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

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

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

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

Visualisierung paralleler bzw. verteilter Programme

Visualisierung paralleler bzw. verteilter Programme Seminar Visualisierung in Informatik und Naturwissenschaften im SS 1999 Visualisierung paralleler bzw. verteilter Programme Holger Dewes Gliederung Zum Begriff Motivation PARADE Beispiel 1: Thread basierte

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

Scheduler. Optimierung des Schedulings. Gliederung. Allgemeine Ziele. Synchronisationsprotokolle

Scheduler. Optimierung des Schedulings. Gliederung. Allgemeine Ziele. Synchronisationsprotokolle Aufgabe: Zuteilung der auf die CPU Automatisches Entwurfs- und Entwicklungssystem für harte Echtzeitsysteme Zuteilungsstrategien: Satz Jan Blumenthal 20.02.2003 Zyklisch 4 Gliederung Optimierung des Schedulings

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

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

4.2 Die Behandlung diskreter Zeitaspekte unter Synchroniehypothese

4.2 Die Behandlung diskreter Zeitaspekte unter Synchroniehypothese Zeit in Prozeßalgebra Synchroniehypothese: Aktionen des Systems brauchen keine Zeit. Einbau einer diskreten Uhr. 1 Beispiel Doppelte Maus-Clicks Angenommen, wir wollen ein Programm schreiben, das doppelte

Mehr

Aufgaben: (dazugehörige Kapitel / Seitenangaben in Kursiv: Kapitel Seite Seitennummern)

Aufgaben: (dazugehörige Kapitel / Seitenangaben in Kursiv: Kapitel Seite Seitennummern) Klausur Verteilte Systeme 15.6. R120A 8:00-9:30 5 Aufgaben, 50 Punkte (8 12 pro Aufgabe) 45-50 1.0 44 1.1 35 2.0 25 3.0 15 4.0 http://www.bts.fh-mannheim.de Aufgaben: (dazugehörige Kapitel / Seitenangaben

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

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Einführung in Petri-Netze

Einführung in Petri-Netze Einführung in Petri-Netze Modellierung und Analysen von Workflows Vertretung: Stephan Mennicke, Reaktive Systeme SS 2012 Organisatorisches In der 24. KW (11.06. 17.06.): Vorlesung am Dienstag, 15:00 Uhr

Mehr

Java Virtual Machine (JVM) Bytecode

Java Virtual Machine (JVM) Bytecode Java Virtual Machine (JVM) durch Java-Interpreter (java) realisiert abstrakte Maschine = Softwareschicht zwischen Anwendung und Betriebssystem verantwortlich für Laden von Klassen, Ausführen des Bytecodes,

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013. WebSphere MQ Teil 3

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013. WebSphere MQ Teil 3 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013 WebSphere MQ Teil 3 Trigger el0100 Copyright W. G. Spruth,

Mehr

Architektur verteilter Anwendungen

Architektur verteilter Anwendungen Architektur verteilter Anwendungen Schwerpunkt: verteilte Algorithmen Algorithmus: endliche Folge von Zuständen Verteilt: unabhängige Prozessoren rechnen tauschen Informationen über Nachrichten aus Komplexität:

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 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch

Mehr

Collaborative Virtual Environments

Collaborative Virtual Environments Collaborative Virtual Environments Stefan Lücking Projektgruppe Kreativität und Technik AG Domik WS 02/03 09.01.2003 1/35 Was sind CVE? Versuch einer Definition : Ein CVE ist ein Programm, das eine virtuelle

Mehr

Es kann maximal ein Prozess die Umladestelle benutzen.

Es kann maximal ein Prozess die Umladestelle benutzen. SoSe 0 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung (Musterlösung) 0-06-0 bis 0-06-06 Aufgabe : Erzeuger/Verbraucher-Pattern Ein Getränkemarkt hat

Mehr

Musterlösung 3. Mikroprozessor & Eingebettete Systeme 1

Musterlösung 3. Mikroprozessor & Eingebettete Systeme 1 Musterlösung 3 Mikroprozessor & Eingebettete Systeme 1 WS214/215 Hinweis: Die folgenden Aufgaben erheben nicht den Anspruch, eine tief ergehende Kenntnis zu vermitteln; sie sollen lediglich den Einstieg

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

Seminar: Mobile Geräte QNX Einführung

Seminar: Mobile Geräte QNX Einführung Seminar: Mobile Geräte QNX Einführung Vortragender: Alex Maurer 2010/2011 Philipps Universität Marburg Echtzeitbetriebssystem QNX QNX ist ein RTOS (Real Time OS) vorhersagbares Zeitverhalten niedrige Latenz

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

Deadlocks. System hat nur begrenzte Ressourcen (Ressourcentypen) Hauptspeicher Externer Speicher Drucker File

Deadlocks. System hat nur begrenzte Ressourcen (Ressourcentypen) Hauptspeicher Externer Speicher Drucker File Kapitel V Deadlocks (Verklemmungen) 1 Deadlocks System hat nur begrenzte Ressourcen (Ressourcentypen) Hauptspeicher Externer Speicher Drucker File Prozesse benötigen Genehmigung vor der Benutzung von Ressourcen.

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