Time-triggered E Sensor- eingaben P Programm A Ausgabe Aktorik.

Slides:



Advertisements
Ähnliche Präsentationen
Kapitel 11 Deadlocks RW-Systemarchitekur Kap. 11.
Advertisements

7.3 Scheduling Zur Erinnerung:
10.2 Wechselseitiger Ausschluss in Hardware
Apriori-Algorithmus zur Entdeckung von Assoziationsregeln
Beim Start eines Prozesses in Windows NT, 2000 wird a der Programmtext aus der exe-Datei ab der dort angegebenen Adresse gespeichert.
C Tutorium – Semaphoren –
3. Berechenbarkeit Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar? Intuitiv: Wenn es einen Algorithmus gibt, der sie berechnet! Was heißt,
Marco Barz Seminar über Algorithmen SoSe2007
An Axiomatic Proof Technique for Parallel Programs
Terminierung und Deadlocks Enkhbat Daginaa Betreuerin Prof. Heike Wehrheim Totale Korrektheit.
Petrinetz Stufenweises Vorgehen beim Modellieren
Nebenläufigkeit Teil I
Kapitel 6.1 Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 5 Scheduling WS 2009/10.
Systeme 1 Kapitel 7 Deadlocks WS 2009/10.
Kapitel 7.2 Dining philosophers problem
Systeme 1 Kapitel 5.1 Unix Scheduling WS 2009/101.
FH-Hof Deadlocks Richard Göbel. FH-Hof Deadlock - Definition Menge von Prozessen ist an einem Deadlock beteiligt: wenn jeder Prozess in dieser Menge auf.
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Kapitel 10 Nebenläufigkeit und wechselseitiger Ausschluss
Nebenläufige Programmierung
BCD Ripple Carry Adder von Enrico Billich.
Das Halteproblem. Gibt es einen Algorithmus, mit dem man für jedes beliebig vorgegebene Programm R und für jede beliebig vorgegebene Eingabe E entscheiden.
Strukturen. In einer Struktur kann eine beliebige Anzahl von Komponenten (Daten) mit unterschiedlichen Datentypen (im Gegensatz zu Feldern) zusammengefaßt.
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
Diskrete Methoden Schedulingalgorithmen
Geometrisches Divide and Conquer
Institut für Kartographie und Geoinformation Dipl.-Ing. J. Schmittwilken Diskrete Mathe II Übung
Vorl. 6: Single- und Multitasking Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Seminar: Architekturbeschreibungssprachen
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
15.1 Synchronisation nebenläufiger Prozesse
Erhard Künzel für Info 9. Klasse: Digitale Schule Bayern© Erhard Künzel.
PC II für Biochemiker Eberhard-Karls-Universität Tübingen, Institut für Physikalische und Theoretische Chemie, Prof. Dr. J. Enderlein,
Implementierung von S2PL (1) Scheduler als Verwalter von Sperren auf Datenelementen sowie Warteschlangen für Sperren (Sperren-Verwalter). Transaktion 1Transaktion.
ANALYSE UND KONZEPTION VON TUPLE SPACES IM HINBLICK AUF SKALIERBARKEIT Philipp Obreiter Telecooperation Office (TecO) Universitaet Karlsruhe Betreuer:
Grundkurs Theoretische Informatik
mittels Systemanalyse
Prozesskoordination Prof. Dr. W. Riggert.
Systeme 1 Kapitel 4 Prozesse WS 2009/10.
Design and analysis of GUI test-case prioritization using weight-based methods Samra Khan.
Geoinformation II Vorlesung 3 SS 2001 Polygon Overlay.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
1 J4 Hash-Join R und S werden mittels der gleichen Hashfunktion h – angewendet auf R.A und S.B – auf (dieselben) Hash- Buckets abgebildet Hash-Buckets.
Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss
Halfadder a =1 s & cout b.
Parallel Programming ( J ) CSP
Prozess-synchronisation
Betriebssysteme Übung 2. Tutorium. Task 1 – Locks (1) Wozu Locks? Dienen dazu, exklusiven Zugriff auf eine Ressource sicherzustellen Lock = binäre Semaphore.
Optimierungstechniken in modernen Compilern
1. Grundkörper: Verschmelzung Zylinder mit Pyramide
1. Grundkörper: Verschmelzung Vierkantpyramide und Vierkantpyramide Vierkantpyramide stehend xyz G1G G2G2 0 0 G3G G4G4 0 0 S1S Vierkantpyramide.
Grundkörper: Verschmelzung 6-Kantprisma / 6-Kantprisma
1. Grundkörper Verschmelzung Unregelmäßiges Dreikant- und Vierkantprisma x y z 0/ Dreikantprisma x y z /
1. Grundkörper Verschmelzung Vierkantpyramide und Dreikantprisma
2.4. Reale Gase 2.5. Erster Hauptsatz der Thermodynamik
Scheduling- Algorithmen. Bedeutung nicht-verdängende Strategie Prozesse werden nacheinander ausgeführt Kein Prozess wird bevorzugt Hängt ein Prozess,
Petri-Netze Grundlagen
Vorlesung Automatisierungsprojekte Seite 6/1
Parallelwinkel im Überblick
Mehrbenutzerzugriff auf GIS-Daten
Prüfung auf Serialisierbarkeit (3)
Mikrocomputertechnik Port-Quickie Prof. J. Walter Stand Januar Mikrocomputertechnik Jürgen Walter „Port-Quickie“ 8051-Port Eingabe - Ausgabe.
4.3 Aufbau von Echtzeitbetriebssystemen
Gottfried Vossen 5. Auflage 2008 Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme Kapitel 23: Verteilte Transaktionsverarbeitung.
Dynamische Prioritäten Statische Prozess-Prioritäten sind sinnvoll, falls Prozesse in wenige Klassen einteilbar (3.3.3) Dynamische Prioritäten.
Minimal spannende Bäume
Der kritische Abschnitt
Aufgaben Semaphore Übersicht (Dijkstra)
Aufgaben Petrinetze Aufgabe 1
 Präsentation transkript:

time-triggered E Sensor- eingaben P Programm A Ausgabe Aktorik

konzentriertes System ohne Bus Prozessor 1 Prozessor 2 Systembus 1 Systembus 2 Speicher 1 gemeinsamer Speicher Speicher 2

konzentriertes System mit Bus Prozessor 1 Prozessor 2 Systembus Speicher 1 gemeinsamer Speicher Speicher 2

verteiltes System Prozessor 1 Prozessor 2 Speicher 1 Speicher 2 Feldbus, Ethernet Prozessor 2 Speicher 1 Speicher 2

parallele Ausführung Prozessor 1 A1 A2 A3 Prozessor 2 B1 B2

nebenläufig unteilbar Variante 1 A1 A2 A3 B1 B2 Variante 2 B1 B2 A1 A2 A3

nebenläufig teilbar eine mögliche Variante B1 A1 A2 B2 A3

Produzenten-Konsumenten Lesen Buchung Drucken 3 Tasks Strichcode Zettel

Auftraggeber-Auftragnehmer Bordcomputer Verkehrsrechner

Zustände von Prozessen unbekannt Anmelden (wird erschaffen, läuft aber noch nicht) Abmeldung existent beendet Neustart Start Zuteilung des Prozessors durch vollständige Abarbeitung bereit laufend Entzug des Prozessor wartet auf Prozessor in Warteschlange Eigenblockade (BM nicht zur Verfügung außer Prozessor) Fremdblockade (BM außer Prozessor fehlt) blockiert

Bereitliste Stellung in Liste gibt augenblickliche Priorität an Zuteilung zu Prozessor 1. Prozess G 2. Prozess J 3. Prozess B 4. Prozess M Stellung in Liste gibt augenblickliche Priorität an Warteschlange

Planung niedrige Ebene Zuteilung des Prozessors Start Beendigung bereit laufend Entzug des Prozessor

Mehrstufige Warteschlangen Prozessor 1 2 3 Priorität der Warteschlange 2 4 Warteschlangen der jeweiligen Priorität 5 3 1

Zeiten bei Ausführung eines Prozesses Restlaufzeit L(t0) Spielraum S = tZ - tE Restantwortzeit a(t0) Laufzeit L = tE – tS Zeit tA tS t0 tE tZ frühester tatsächlicher tatsächlicher Endzeitpunkt spätester Endzeitpunkt (Deadline) Startzeitpunkt

Earliest Deadline First 1 P1 Antwortzeit ai a2 s2 P2 Spielraum si a3 s3 Deadline P3 1 4 t

Earliest Deadline First 2 ai 6 5 a1 4 a2 3 2 a3 1 1 2 3 4 5 6 t Prozessor- belegung P3 P2 P1 1 2 3 4 5 6 t

Least Laxity si 4 a1 3 a3 2 a2 1 1 2 3 4 5 6 t Prozessor- belegung P2

Beispiel 1 P1 P2 P3 Laufzeit Einzuplanende Prozesse spätester Endzeitpunkt P2 P3 Zeit

Beispiel 1 P2 P1 P3 P1 P2 P3 Prozessor 1 Prozessor 2 Prozessor 1 Verletzung der Antwortzeit Prozessor 1 P2 P1 Prozessorvergabe nach Antwortzeit Prozessor 2 P3 Zeit Prozessor 1 P1 Prozessorvergabe nach Spielraum Prozessor 2 P2 P3 Zeit

Beispiel 2 P1 P2 P3 P4 P5 P6 P7 Laufzeit Zeit spätester Endzeitpunkt Einzuplanende Prozesse P4 frühester Startzeitpunkt P5 P6 P7 Zeit

Beispiel 2 P1 P3 P4 P3 P7 P2 P5 P6 P1 P2 P4 P6 P2 P3 P5 P7 Prozessor 1 Verletzung der Antwortzeit Prozessor 1 P1 P3 P4 P3 P7 Prozessorvergabe nach Spielraum Prozessor 2 P2 P5 P6 Zeit Prozessor 1 P1 P2 P4 P6 Zeitgerechte Prozessorvergabe (nicht algorithmisch ermittelt) Prozessor 2 P2 P3 P5 P7 Zeit

Interrupts versus Sampling Sensor Wasser Wand

Synchronisationsbedarf Input Zahlungsart Input Betrag Zahlungsart = Scheck? nein ja Ein_Schecks = Ein_Schecks + Betrag Ein_Gesamt = Ein_Gesamt + Betrag Stop

Synchronisationsbedarf Ein_Gesamt Output Ein_Gesamt > 0 nein ja Stop Output

Petri-Netze ohne Marken Stellen (places) Transition Eingansstellen mit gerichteter Kante zu einer Transition Ausgangsstellen, eine gerichteter Kante führt von einer Transition weg

Isolierte Teilnetze

Materialverwaltung Lieferfertige Waren Bestellannahme Lieferauftrag Auslieferung Kanal Bestellung Instanz Produktionsauftrag Produktion Lager

Materialverwaltung Lieferfertige Waren Lieferschein Versenden Lieferauftrag Lieferschein- erstellung Lager Verpacken verpackte Produkte

Schalten einer Transition = Marken a) vorher b) nachher

Kapazität und Gewichtung

Schalten mit gewichteten Kanten 3 3 2 2 a) vorher b) nachher

nichtschaltende Transitionen 1 2 Markenmangel Markenüberfluss

lebendig und todesgefährdet

Synchronisation t2 t1 t4 t3

Synchronisation t2 t1 t4 t3

Einseitige Synchronisation

Gegenseitiger Ausschluss crit end crit t1 t3 t4 t6 crit end crit t5 Semaphor/ Schlüssel zu crit kritischer Abschnitt

Buchungssystem Lesen Buchen Drucken Pufferspeicher Datenfluss

Lesen Buchen leer n Marken Abnehmen Ausgabepuffer mit m freie Plätze voll leer m Marken Abnehmen Ablegen Buchen Eingabepuffer mit n freie Plätze voll Drucken Ablegen

Leser Schreiber Eintritt Eintritt 3 S unkritischer Abschnitt k.A. k.A. 3 Schlüssel, Semaphor 3 Leser 3 Schreiber Austritt Austritt

Speisende Philosophen

P0 Denken Speisen P4 P1 S0 S1 S4 S3 S2 P3 P2

Speisende Philosophen 2 2 freie Stäbchen

unterscheidbare Marken 8 5 3 17 Schaltbedingung (firing condition) 5 3 17 x x x = 2y z x = 2y z 20 y y 1 4 10 z = 2x + y z = 2x + y 1 10 Schaltwirkung (firing result) a) vorher b) nachher

Speisende Philosophen 1 2 3 4 i i st1 = i st2 = (i+1) mod 5 st1 = i st2 = (i+1) mod 5 1 2 3 4 st1, st2 st1, st2 freie Stäbchen

Bücher ausleihen band1 ausleihen band2 ausleihen band1 band2 band2 beide Bände zurückgeben process Student 1 process Student 2

zyklischer BM Graph band1 band2 BM Student 2 Student 1 hat band1 und will ihn behalten will band2

Bedarfsangabe Prozess P2 P2 läuft P1 bereit band1 P2 fordert band2 an bei Knick Prozesswechsel gleichzeitiger Ablauf Prozess P1 band2 P1 fordert band1 an hier beginnt kritischer Bereich, da darf man nicht rein, sonst tot P1 läuft, P2 bereit

Implementation besetzt = true besetzt = true P1 P2 ja ja nein nein disable Interrupt P1 P2 besetzt = true besetzt = true ja ja nein nein besetzt = true besetzt = true enable Interrupt P1 im k.A. P2 im k.A.

Ansatz 1 P1 P2 k.A. P2 krit2 = true krit1 = true ja ja nein nein krit1 P1 im k.A. P2 im k.A.

Ansatz 2 P1 P2 krit1 = true krit2 = true krit2 = true krit1 = true ja nein nein P1 im k.A. P2 im k.A.

Ansatz 3 P2 P1 krit2 = true krit1 = true ja krit1 = true ja krit2 = false krit1 = false nein nein P2 im k.A. P1 im k.A. warten warten krit2 = true krit1 = true

Ansatz 4 P1 P2 ändert nach Rückkehr favorit auf 1 k.A. favorit = 2 ja ja P2 nein nein favorit P1 im k.A. P2 im k.A. wartet bis favorit = 1 P1 favorit = 2 favorit = 1

Ansatz 5 P1 krit1 = true k.A. 1 krit2 = true ja favorit = 1 nein nein krit1 = false P1 im k.A. 2 favorit ≠ 1 ja favorit = 2 nein krit1 = false krit1 = true

Flugzeug mit 3 Toiletten bereit laufend blockiert an Semaphor S1 blockiert an Semaphor Sn

Leser Leser lz_schutz • P l_zähler = l_zähler + 1 ja l_zähler = 1? ls_ausschluss • P nein lz_schutz • V Leser im k.A.

Leser lz_schutz • P l_zähler = l_zähler - 1 ja l_zähler = 0? ls_ausschluss • V nein lz_schutz • V

Schreiber Schreiber ls_ausschluss • P Leser im k.A. ls_ausschluss • V

zweites Leser-Schreiber Problem Schreiber (grob) l_halt • P 1. Schreiber → l_halt • P ls_ausschluss • P erster Teil des bisherigen Algorithmus k.A. l_halt • V ls_ausschluss • V k.A. letzter Schreiber → l_halt • V restlicher Teil des bisherigen Algorithmus nötig: Schreibzähler und Semaphor, der Schreibzähler schützt

Schreiber sz_schutz • P s_zähler = s_zähler + 1 ja l_zähler = 1? l_halt • P nein sz_schutz • V ls_ausschluss • P k.A.

bisheriger Algorithmus Leser mit l_vorhalt Leser l_vorhalt • P l_halt • P bisheriger Algorithmus l_halt • V l_vorhalt • V k.A.

Warteschalengenhüllen l_vorhalt l_halt ls_ausschluss k.A. Schutzhüllen/ Warteschlangen

Verschiedene Tasks frequent, high priority infrequent, low priority very infrequent, medium priority Bus management task Meteorological data gathering task Communication task Task A Task C Task B Information Bus

Soll-Verlauf priority A B C t

Ist-Verlauf ohne B C A priority inversion mit B C B C A t t an der Stelle meldete Watchdogtimer immer: A nicht beendet

Priority Inheritance A C mit Priorität von A C t