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

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

Technische Informatik II

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

Mehr

Systeme 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

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

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

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

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

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

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

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

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

Ü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

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

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

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

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

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

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

Mehr

2 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

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

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

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

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

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

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

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

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

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

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

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

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

Mehr

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

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

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

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

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

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

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

^ Springer Vi eweg. Grundkurs Betriebssysteme. Synchronisation, Prozesskommunikation, Virtualisierung. Architekturen, Betriebsmittelverwaltung,

^ Springer Vi eweg. Grundkurs Betriebssysteme. Synchronisation, Prozesskommunikation, Virtualisierung. Architekturen, Betriebsmittelverwaltung, Peter Mandl Grundkurs Betriebssysteme Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation, Virtualisierung 4. Auflage ^ Springer Vi eweg 1 Einführung 1 1.1 Computersysteme 1

Mehr

Echtzeit mit Linux. Erweiterungen und deren Anwendung. Martin Krohn. 2. Februar 2006

Echtzeit mit Linux. Erweiterungen und deren Anwendung. Martin Krohn. 2. Februar 2006 Erweiterungen und deren Anwendung 2. Februar 2006 1 Einleitung Anwendungsgebiete 2 Linux als Echtzeitbetriebssystem Eignung von Linux 3 Erweiterungen für Linux RT-Linux RTAI- Real-Time Application Interface

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

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

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

Grundkurs Betriebssysteme

Grundkurs Betriebssysteme Grundkurs Betriebssysteme Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation von Peter Mandl 3., akt. und erw. Aufl. 2013 Springer Vieweg Wiesbaden 2012 Verlag C.H. Beck im

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

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

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

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

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

J. Prof. Dr.-Ing. Georg Frey Juniorprofessur Agentenbasierte Automatisierung. Laborunterlagen zum Themengebiet Steuerungstechnik. zusammengestellt von

J. Prof. Dr.-Ing. Georg Frey Juniorprofessur Agentenbasierte Automatisierung. Laborunterlagen zum Themengebiet Steuerungstechnik. zusammengestellt von J. Prof. Dr.-Ing. Georg Frey Juniorprofessur Agentenbasierte Automatisierung Laborunterlagen zum Themengebiet Steuerungstechnik zusammengestellt von Georg Frey und Stéphane Klein Modul 2 Steuerungsentwurf

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

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

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

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

Von Prozessen und Prozessoren (Prozess-Management)

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

Mehr

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

Verteilte Systeme - Synchronisation

Verteilte Systeme - Synchronisation Verteilte Systeme - Synchronisation... alois.schuette@h-da.de Alois Schütte 25. Februar 2014 1 / 24 Inhaltsverzeichnis Die Synchronisationsmethoden bei Einprozessorsystemen (z.b. Semaphore oder Monitore)

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

William Stallings. Betriebssysteme. Prinzipien und Umsetzung. 4., überarbeitete Auflage. Pearson Studium

William Stallings. Betriebssysteme. Prinzipien und Umsetzung. 4., überarbeitete Auflage. Pearson Studium William Stallings Betriebssysteme Prinzipien und Umsetzung 4., überarbeitete Auflage Pearson Studium ein Imprint der Pearson Education Deutschland GmbH Inhaltsverzeichnis Vorwort Leitfaden für den Leser

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

VHDL Verhaltensmodellierung

VHDL Verhaltensmodellierung VHDL Verhaltensmodellierung Dr.-Ing. Volkmar Sieh Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2013 VHDL Verhaltensmodellierung 1/18 2013-01-11 Inhalt

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

Inhaltsverzeichnis XII

Inhaltsverzeichnis XII 1 Einführung... 1 1.1 Computersysteme... 1 1.1.1 Einführung... 2 1.1.2 Aufgabe von Betriebssystemen... 3 1.1.3 Grundlegende Hardwaremodelle... 3 1.1.4 CPU-Registersatz... 7 1.1.5 Multicore-Prozessoren

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

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

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

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

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

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

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die

Mehr

Beschreiben Sie stichwortartig, was die folgenden Kommandos bewirken.

Beschreiben Sie stichwortartig, was die folgenden Kommandos bewirken. Betriebssysteme: Auswahl alter Klausuraufgaben Seite 1 Beschreiben Sie stichwortartig, was die folgenden Kommandos bewirken. a) sort < MeineDatei.txt > MeineDateiSort.txt b) find / -type d \( -name man

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

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

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

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

Mehr

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

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

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

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling Approximationsalgorithmen: Klassiker I Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling VO Approximationsalgorithmen WiSe 2011/12 Markus Chimani

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. Die Darstellung von Algorithmen

2. Die Darstellung von Algorithmen 2. Die Darstellung von Algorithmen Aus den Einführungsbeispielen und Übungsaufgaben ist erkennbar, dass zur Darstellung von Algorithmen Grundelemente notwendig sind. Neben der Notation einzelner elementarer

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

syntax.tex Eine Übersicht

syntax.tex Eine Übersicht syntax.tex Eine Übersicht Bernd Worsch 7. Juli 1997 Inhaltsverzeichnis 1 Einleitung 1 2 Bevor es funktioniert... 1 3 Grundelemente von syntax.tex 1 4 Strukturelemente von syntax.tex 3 5 Setzen von Syntaxdiagrammen

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

Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS

Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS Dezember 007 Dipl.-Ing. Stefan Abu Salah Dipl.-Ing. Achim Marikar QoS (Quality of Service): Sicherstellung der Qualität Zeitkritische

Mehr

Vorschriften und Probleme... Das Problem der Wüstenposten. - Reisende dürfen die Wüste nur "kontrolliert" (bei einem "wachen" Posten) betreten

Vorschriften und Probleme... Das Problem der Wüstenposten. - Reisende dürfen die Wüste nur kontrolliert (bei einem wachen Posten) betreten Das Problem der Wüstenposten Vorschriften und Probleme... - Reisende dürfen die Wüste nur "kontrolliert" (bei einem "wachen" Posten) betreten - Nur ein wacher Posten lässt Personen in die Wüste einreisen

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

Führen Sie zum Einstieg in die Materie einige Systemdiagnosen durch. Benutzen Sie dabei winmsd.exe.

Führen Sie zum Einstieg in die Materie einige Systemdiagnosen durch. Benutzen Sie dabei winmsd.exe. Aufgabe 1.1: Systeminformationen Führen Sie zum Einstieg in die Materie einige Systemdiagnosen durch. Benutzen Sie dabei winmsd.exe. a) Wie lautet der Name des von Ihnen verwendeten Rechners? Der Systemname

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

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Algorithmen und deren Programmierung Prof. Dr. Nikolaus Wulff Definition Algorithmus Ein Algorithmus ist eine präzise formulierte Handlungsanweisung zur Lösung einer gleichartigen

Mehr

VERB ein End-to-End-Protokoll VERB. Joachim Backes UNI Kaiserslautern, RHRK. STARG440-Tagung, Konstanz, 26. März 1981 Seite 1

VERB ein End-to-End-Protokoll VERB. Joachim Backes UNI Kaiserslautern, RHRK. STARG440-Tagung, Konstanz, 26. März 1981 Seite 1 VERB STARG440-Tagung, Konstanz, 26. März 1981 Seite 1 Ein End to End Protokoll für die Migration TR440/BS3 und 7.760/BS2000 STARG440-Tagung, Konstanz, 26. März 1981 Seite 2 Gebiet BS3 TR440 M I G R A T

Mehr

Scheduler. vereinfachende Annahmen: alle Transaktionen werden wirksam nur Konflikt-Serialisierbarkeit keine Versionen

Scheduler. vereinfachende Annahmen: alle Transaktionen werden wirksam nur Konflikt-Serialisierbarkeit keine Versionen Scheduler Der Scheduler des Informationssystems hat zunächst die Aufgabe, die Anweisungen von parallel auszuführenden Transaktionen in einer geeigneten Reihenfolge anzuordnen. Darüber hinaus muß er auch

Mehr

Verteilte Systeme - 5. Übung

Verteilte Systeme - 5. Übung Verteilte Systeme - 5. Übung Dr. Jens Brandt Sommersemester 2011 Transaktionen a) Erläutere was Transaktionen sind und wofür diese benötigt werden. Folge von Operationen mit bestimmten Eigenschaften: Atomicity

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

Lösung Verteilte Systeme WS 2011/12 Teil 1

Lösung Verteilte Systeme WS 2011/12 Teil 1 Seite 1 von 5 Lösung Verteilte Systeme WS 2011/12 Teil 1 2.02.2012 1. Aufgabe (5) Sie fahren in Ihrem Privatfahrzeug auf einer Autobahn und hinter Ihnen fährt ein Polizeifahrzeug. 1.1 Nennen Sie ein Szenario,

Mehr

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Adressauflösung. IP Adresse Physikalische Adresse 128.96.34.1 57:FF:AA:36:AB:11 128.96.34.16 85:48:A4:28:AA:18

Adressauflösung. IP Adresse Physikalische Adresse 128.96.34.1 57:FF:AA:36:AB:11 128.96.34.16 85:48:A4:28:AA:18 Adressauflösung IP Adresse Physikalische Adresse 128.96.34.1 57:FF:AA:36:AB:11 128.96.34.16 85:48:A4:28:AA:18 IP Adresse Physikalische Adresse 128.96.34.15??? 128.96.34.16 85:48:A4:28:AA:18 128.96.34.15

Mehr