Präsentation herunterladen
Veröffentlicht von:Haydn Gerold Geändert vor über 10 Jahren
1
time-triggered E Sensor- eingaben P Programm A Ausgabe Aktorik
2
konzentriertes System ohne Bus
Prozessor 1 Prozessor 2 Systembus 1 Systembus 2 Speicher 1 gemeinsamer Speicher Speicher 2
3
konzentriertes System mit Bus
Prozessor 1 Prozessor 2 Systembus Speicher 1 gemeinsamer Speicher Speicher 2
4
verteiltes System Prozessor 1 Prozessor 2 Speicher 1 Speicher 2
Feldbus, Ethernet Prozessor 2 Speicher 1 Speicher 2
5
parallele Ausführung Prozessor 1 A1 A2 A3 Prozessor 2 B1 B2
6
nebenläufig unteilbar
Variante 1 A1 A2 A3 B1 B2 Variante 2 B1 B2 A1 A2 A3
7
nebenläufig teilbar eine mögliche Variante B1 A1 A2 B2 A3
8
Produzenten-Konsumenten
Lesen Buchung Drucken 3 Tasks Strichcode Zettel
9
Auftraggeber-Auftragnehmer
Bordcomputer Verkehrsrechner
10
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
11
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
12
Planung niedrige Ebene
Zuteilung des Prozessors Start Beendigung bereit laufend Entzug des Prozessor
13
Mehrstufige Warteschlangen
Prozessor 1 2 3 Priorität der Warteschlange 2 4 Warteschlangen der jeweiligen Priorität 5 3 1
14
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
15
Earliest Deadline First 1
P1 Antwortzeit ai a2 s2 P2 Spielraum si a3 s3 Deadline P3 1 4 t
16
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
17
Least Laxity si 4 a1 3 a3 2 a2 1 1 2 3 4 5 6 t Prozessor- belegung P2
18
Beispiel 1 P1 P2 P3 Laufzeit Einzuplanende Prozesse spätester
Endzeitpunkt P2 P3 Zeit
19
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
20
Beispiel 2 P1 P2 P3 P4 P5 P6 P7 Laufzeit Zeit spätester Endzeitpunkt
Einzuplanende Prozesse P4 frühester Startzeitpunkt P5 P6 P7 Zeit
21
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
22
Interrupts versus Sampling
Sensor Wasser Wand
23
Synchronisationsbedarf
Input Zahlungsart Input Betrag Zahlungsart = Scheck? nein ja Ein_Schecks = Ein_Schecks + Betrag Ein_Gesamt = Ein_Gesamt + Betrag Stop
24
Synchronisationsbedarf
Ein_Gesamt Output Ein_Gesamt > 0 nein ja Stop Output
25
Petri-Netze ohne Marken
Stellen (places) Transition Eingansstellen mit gerichteter Kante zu einer Transition Ausgangsstellen, eine gerichteter Kante führt von einer Transition weg
26
Isolierte Teilnetze
27
Materialverwaltung Lieferfertige Waren Bestellannahme Lieferauftrag
Auslieferung Kanal Bestellung Instanz Produktionsauftrag Produktion Lager
28
Materialverwaltung Lieferfertige Waren Lieferschein Versenden
Lieferauftrag Lieferschein- erstellung Lager Verpacken verpackte Produkte
29
Schalten einer Transition
= Marken a) vorher b) nachher
30
Kapazität und Gewichtung
31
Schalten mit gewichteten Kanten
3 3 2 2 a) vorher b) nachher
32
nichtschaltende Transitionen
1 2 Markenmangel Markenüberfluss
33
lebendig und todesgefährdet
34
Synchronisation t2 t1 t4 t3
35
Synchronisation t2 t1 t4 t3
36
Einseitige Synchronisation
37
Gegenseitiger Ausschluss
crit end crit t1 t3 t4 t6 crit end crit t5 Semaphor/ Schlüssel zu crit kritischer Abschnitt
38
Buchungssystem Lesen Buchen Drucken Pufferspeicher Datenfluss
39
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
40
Leser Schreiber Eintritt Eintritt 3 S unkritischer Abschnitt
k.A. k.A. 3 Schlüssel, Semaphor 3 Leser 3 Schreiber Austritt Austritt
41
Speisende Philosophen
42
P0 Denken Speisen P4 P1 S0 S1 S4 S3 S2 P3 P2
43
Speisende Philosophen
2 2 freie Stäbchen
44
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
45
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
46
Bücher ausleihen band1 ausleihen band2 ausleihen band1 band2 band2
beide Bände zurückgeben process Student 1 process Student 2
47
zyklischer BM Graph band1 band2 BM Student 2 Student 1 hat band1
und will ihn behalten will band2
48
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
49
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.
50
Ansatz 1 P1 P2 k.A. P2 krit2 = true krit1 = true ja ja nein nein krit1
P1 im k.A. P2 im k.A.
51
Ansatz 2 P1 P2 krit1 = true krit2 = true krit2 = true krit1 = true ja
nein nein P1 im k.A. P2 im k.A.
52
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
53
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
54
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
55
Flugzeug mit 3 Toiletten
bereit laufend blockiert an Semaphor S1 blockiert an Semaphor Sn
56
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.
57
Leser lz_schutz • P l_zähler = l_zähler - 1 ja l_zähler = 0?
ls_ausschluss • V nein lz_schutz • V
58
Schreiber Schreiber ls_ausschluss • P Leser im k.A. ls_ausschluss • V
59
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
60
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.
61
bisheriger Algorithmus
Leser mit l_vorhalt Leser l_vorhalt • P l_halt • P bisheriger Algorithmus l_halt • V l_vorhalt • V k.A.
62
Warteschalengenhüllen
l_vorhalt l_halt ls_ausschluss k.A. Schutzhüllen/ Warteschlangen
63
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
64
Soll-Verlauf priority A B C t
65
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
66
Priority Inheritance A C mit Priorität von A C t
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.