Zusammenfassung Embedded Systems SS 2009 D-ITET, ETH Zürich

Größe: px
Ab Seite anzeigen:

Download "Zusammenfassung Embedded Systems SS 2009 D-ITET, ETH Zürich"

Transkript

1 Zusammenfassung Embedded Systems SS 2009 D-ITET, ETH Zürich Christian Schluchter 8. August 2009 Basierend auf der Zusammenfassung von Chris Walser. Dozent: Prof. Lothar Thiele Literatur: Embedded System Design; Peter Marwedel; Springer Verlag 1

2 Inhaltsverzeichnis 1 Allgemeines 2 2 Software Execution Times [2-7] Time-Triggered Systems [2-22] Simple Periodic TT Scheduler [2-23] TT Cyclic Executive Scheduler [2-25] Event-Triggered Systems [2-32] Non-Preemptive ET Scheduling [2-33] Preemptive ET Scheduling: Stack Policy [2-36] Cooperative Multitasking [2-41] Preemptive Multitasking [2-56] Non-RT Scheduling Algorithmen Real-Time Models Schedule and Timing [3-4] Non-RT Tasks RT Tasks: Metrics [3-13] Aperiodic and Periodic Tasks Aperiodic Tasks [4-3] Earliest Deadline Due (EDD) Earliest Deadline First (EDF) [U2.3] Latest Deadline First (LDF) [U2.2] Earliest Deadline First* (EDF*)[U2.4&5] Periodic Tasks [4-17] Rate Monotonic Scheduling (RM) [4-22, U3.2] Deadline Monotonic Scheduling (DM) [4-25, U3.3] Earliest Deadline First (EDF) [4-32, U3.1] Mixed Task Sets [4-37] Background Scheduling [4-38] RM - Polling Server (PS) [4-40, U3.4] EDF - Total Bandwidth Server (TBS) [4-45, U3.5] Resource Sharing Mutual Exclusion Priority Inversion Priority Inheritance Protocol [5-11] (PIP) Real-Time Operating Systems (RTOS) Prozesszustände [6-14] Threads [6-16] Communication Mechanisms [6-19] System Components General-Purpose Processors (Buch 3.4.3, [7-6]) Microcontroller [7-18] Digital Signal Processor (DSP) [7-22] Very Long Instruction Word (VLIW) (Buch , [7-25]) FPGA (Buch 3.4.4, [7-30]) ASIC [7-36] Configurable System-On-Chip [7-38] Allgemeines Buch Kap. 1, [1] Embedded System (ES): Informationsverarbeitungssystem welches in ein grösseres Produkt eingebettet ist. Charakteristiken von ES: Reliability (Zuverlässigkeit): Das System soll eine hohe Verfügbarkeit haben. Maintainability (Wartbarkeit): kurze Wartungszeit. Availability (Verfügbarkeit): Wahrscheinlichkeit, dass das System zum Zeitpunkt t arbeitet. Safety (Betriebssicherheit): Kein Schaden sollte entstehen. Security (Sicherheit): Vertrauliche und authentische Kommunikation. Efficiency (Effizienz): in Bezug auf: Energy, code-size, run-time, weight, cost. Dedicated (Bestimmt): minimiere Ressourcen, maximiere Robustheit bei gleichzeitiger Optimierung auf eine bestimmte Aufgabe. Real-Time (Echtzeit): ES müssen in Echtzeit arbeiten. Reactivity (Reaktivität): In kontinuierlicher Interaktion mit der Umwelt. Optimality (Optimalität): Wenn sich kein Schedule mit einem optimalen Algorithmus finden lässt, schafft es auch kein anderer. Process (Prozess): Eindeutige Ausführung eines Programms. Ein Prozess hat seinen eigenen Status. Im Falle eines Threads, besteht dieser hauptsächlich aus den Registerwerten und dem Speicherstack. 8 Communication Bluetooth [8-22] Modes and States [8-35] Connection Types [8-32] Netzwerk Topologien [8-25] Protocol Hierarchy [8-44] Addressing [8-31] Low Power Design Techniken zur Leistungsreduktion Leistung und Energie sind korreliert Leistungsverbrauch von CMOS-Circuits [9-10] Dynamic Voltage Scaling (DVS) [9-25] YDS-Algorithm [9-35] Parallelism [9-17] Transmeta [9-22] Pipelining [9-18] Dynamic Power Management (DPM) (Buch 3.4.3/5.5.2 [9-45]) Procrastination [9-49] Architecture Design - Models Task Graph / Dependence Graph (DG) [10-4] Control-Data Flow Graph (CDFG) [10-8] Sequence Graph (SG) [10-11] Marked Graph (MG) [10-18] Architecture Synthesis Modelle [11-5] Scheduling without resource constraints [11-15] ASAP [11-17] ALAP [11-20] Timing Constraints Weighted Constraint Graph [11-25] Bellman-Ford-Algorithmus [11-26, U6.1b] Scheduling with resource constraints [11-29] List Scheduling [11-31] Integer Linear Programing (ILP) [11-37, U7.1&2e] Iterative Algorithmen [11-44, U7.2] Dynamic Voltage Scaling (DVS) [11-55]

3 2 Software Buch Kap. 4, [2] Concept of Co-Routines: In den Routinen steht explizit, wann auf eine anderer Routine geschaltet werden soll. [2-19] 2.1 Execution Times [2-7] Worst Case Execution Time (WCET): Obere Grenze für die Ausführungszeit eines Tasks. Berechnung meist schwierig, nur möglich für Programme ohne Rekursionen und while-loops und mit konstanten Iterationszahlen. Meist können nur geschätzte Durschnittsangaben für die WCET gemacht werden. Average Execution Time: Abschätzung/Berechnung durch Simulation, Emulation, Profiling (Zeitmessung am System). Best Case Execution Time (BCET): analog 2.2 Time-Triggered Systems [2-22] System kontrolliert über Timer. Nur der Timer darf Interrupts auslösen. Schedule wird offline berechnet, somit deterministisches Verhalten in run-time. Keine Probleme mit der Nutzung von gemeinsamen Ressourcen. Interaktion mit Interfaces (Aktuatoren, Sensoren) via Polling (da nur Timer Interrupts auslösen darf). Schedules werden in der sog. Task-Descriptor List (TDL) gespeichert. Diese kann von der CPU nicht mehr verändert werden. Nachteile: unflexibel, grosse Probleme mit langen Prozessen, Events können verlorengehen (bedingt durch Polling) Simple Periodic TT Scheduler [2-23] Timer unterbricht regelmässig mit Periode P. Alle Prozesse haben dieselbe Periode P. Es muss immer gelten: WCET(T k ) P k Statische Ablaufplanung, Prozesse werden immer in der gleichen Reihenfolge abgearbeitet. Nachteil: Alle Prozesse ausser dem ersten haben unvorhersehbare Anfangszeiten TT Cyclic Executive Scheduler [2-25] 2.3 Event-Triggered Systems [2-32] Interfaces können selber Interrupts auslösen. Ist dynamisch und adaptiv. Garantien können offline gegeben werden (wenn Grenzen vom Umgebungsverhalten bekannt ) oder während der Laufzeit. Nachteile: Probleme möglich mit timing, Benutzung von shared resources, Bufferunder-/overflow Non-Preemptive ET Scheduling [2-33] Events werden erzeugt durch externe Interrupts (von Interfaces) oder durch Prozesse. Jedem Event ist ein Prozess zugeordnet. Events werden in einer Queue gesammelt. Prozesse können nur von Events preempted werden. Eigenschaften: Kommunikation zwischen Prozessen ist einfach (keine Probleme mit shared resources), Bufferoverflow kann eintreten bei gleichzeitiger Auslösung von vielen Events, lange Prozesse können andere aushungern Preemptive ET Scheduling: Stack Policy [2-36] Prozesse können sich preempten. Somit ist das Problem mit langen Prozessen gelöst. Tasks werden nach Prioritäten sortiert auf einen Stack gepusht. Tasks mit höherer Priorität unterbrechen die mit niedrigerer Priorität, so können mehrere Tasks auf einmal unterbrochen werden. Probleme: Falls viele Prozesse warten, ist die Wartezeit unbekannt da sie immer wieder unterbrochen werden können. Shared resources müssen geschützt werden damit ein Prozess der einen anderen unterbricht, nicht dessen Daten überschreiben kann Cooperative Multitasking [2-41] Multitasking Prozesse können sich unterbrechen, aber nur zu bestimmten Contextswitch-Zeiten (Funktionen: cswitch() bzw. yield()). Diese Contextswitch-Zeiten werden von jedem Prozess selber bestimmt, d.h. jeder Prozess kann selber bestimmen wann er unterbrochen werden möchte. Ein separater Scheduler bestimmt, welcher Prozess bei einem Contextswitch drankommt (at runtime). Vorteile: Vorhersehbar wo Kontextwechsel auftreten können weniger Fehler beim Benutzen von gemeinsamen Ressourcen Nachteile: Programmfehler können Kontextswitch verhindern starvation Real-time-Verhalten in Gefahr falls es zu lange dauert bis zum Kontextwechsel Petri-Net-API [2-46] Prozesse können unterschiedliche Perioden haben. Die Pollingperiode P wird in Frames der Länge f aufgeteilt. Nachteil: grosse Prozesse müssen in kleinere Teile aufgespalten werden damit sie in die Frames reinpassen schrecklich, da Daten zwischengespeichert werden müssen. Bedingungen an Framelänge f (mit Hilfe dieser Bedingungen kann f berechnet werden - siehe Slide 2-25): Pro Frame darf ein Prozess höchstens einmal starten: f p(k) k p(k): Periode von k Periode ist kgv von allen Perioden p(k) Jeder Prozess muss im gleichen Frame starten und enden: f WCET(k) k Alle Prozesse müssen vor ihrer Deadline enden: 2 f ggt(p(k), f ) D(k) k Beispiel: siehe [2-28] Preemptive Multitasking [2-56] Ein OS-Scheduler kontrolliert wann Contextswitches auftreten mittels Timern und bestimmt welche Prozesse als nächstes ausgeführt werden. Das OS wird mittels Interrupts aufgerufen. 2.4 Non-RT Scheduling Algorithmen FCFS: Non-preemptive SJF: shortest job first. Non-preemptive SRTN: shortest remaining time next. Preemptive SRJF: shortest remaining job first. Identisch mit SRTN RR: Round-Robin. Achtung: neue Jobs werden an den Anfang der Queue gesetzt (Konvention). Preemptive. 3

4 3 Real-Time Models Buch Kap. 4, [3] Real-Time-Kategorien: Hard: Ein RT-Task wird hard genannt, wenn das Verpassen einer Deadline katastrophale Auswirkungen auf das System hat. Soft: Ein RT-Task wird soft genannt, wenn das Verpassen einer Deadline nur Auswirkungen auf die Performance des Systems hat. 3.1 Schedule and Timing [3-4] Definitionen: a i r i C i d i r i + C i s i f i s i a i L i = f i d i E i = max(0, L i ) X i = d i a i C i τ i T i Φ i Arrival time Release time Computation time Deadline Start time Finishing time Wait time (zählt Wartezeiten nach Startzeit nicht) Lateness (Verspätung / Verfrühung) Tardiness / Exceeding Time (Verspätung) Laxity / slack time (Spielraum) Periodic task Periode, mit welcher ein Periodic Task aktiviert wird. Phase. Zeitpunkt des ersten Aktivierens eines Periodic Tasks. Grossbuchstaben geben relative, Kleinbuchstaben absolute Zeitangaben an Non-RT Tasks Optimal: Algorithmus der eine gegebene Kostenfunktion über ein Taskset minimiert. Heuristic: Algorithmus der gegen einen optimalen Schedule konvergiert, diesen aber nicht garantiert. Domino Effect: Fälschlicherweises Einfügen eines Tasks in einen Schedule bewirkt, dass alle anderen Tasks ihre Deadline verpassen. Statische Algorithmen basieren ihre Entscheidungen auf fixen Parametern. Dynamische Algorithemn basieren ihre Entscheidungen auf Parametern, die während der Systemausführung ändern können. 3.2 Metrics [3-13] Metrics (n...#tasks): Average response time: t r = 1 n ( f i r i ) n i=1 Average waiting time (Achtung: Wartezeiten nach Startzeit werden nicht berücksichtigt): Total completion time: t a = 1 n (s i a i ) n i=1 t c = max( f i ) min(r i ) Weighted sum of completion time: t w = n i=1 w i( f i r i ) n i=1 w i Maximum lateness: L max = max( f i d i ) Maximum number of late tasks: n N late = miss( f i ) i=1 { 0 if fi d miss( f i ) = i 1 else RT Tasks: Laxities: max. Delay Zeit (preemptive) die ein Task haben kann. X i = d i a i C i CPU utilisation: f n ist die Endzeit des letzten Tasks. n C i i=1 U = f n Ein Schedule wird ausführbar (feasible) genannt, falls alle Tasks unter Einhaltung ihrer Constraints ausgeführt werden können. Eine Menge Tasks wird schedulablegenannt, falls ein Algorithmus existiert welcher einen ausführbaren Schedule für diese Tasks produzieren kann. 4

5 4 Aperiodic and Periodic Tasks Buch Kap. 4, [4] 4.1 Aperiodic Tasks [4-3] Equal arrival times Arbitrary arrival times non preemptive preemptive Independet tasks EDD (Jackson) EDF (Horn) Dependent tasks LDF (Lawler) EDF* (Chetto) Alle minimieren die maximum Lateness und sind optimal für Monoprozessoren Earliest Deadline Due (EDD) Task mit der kürzesten Deadline wird zuerst abgearbeitet. Minimiert maximum lateness (Jackson s Rule). Wenn alle Deadlines im Voraus bekannt sind kann EDD statisch berechnet werden mit Aufwand O(n log(n)) Earliest Deadline First (EDF) [U2.3] Task mit der kürzesten Deadline wird zuerst abgearbeitet. Wenn zu einem späteren Zeitpunkt ein Task mit einer kürzeren Deadline ankommt, wird der erste Task unterbrochen. Guarantee conditions: Worst case finishing time of task i: f i = t + i c k (t) k=1 mit c k... remaining WCET of task k Earliest Deadline First* (EDF*)[U2.4&5] Wie EDF, nur dass die einzelnen Tasks voneinander abhängig sein können. Ziel: Abhängigkeiten durch verschieben der Startzeiten und Deadlines modellieren und dann normales EDF anwenden. Diese Modifikationen werden im Abhängigkeitsgraphen (Precendence Graph) vorgenommen. Release Time-Modifikationen: 1. Wähle einen Startknoten i aus und setze r i = r i. 2. Suche einen Task j, bei welchem die Release Time noch nicht modifiziert wurde, aber die Release Times von allen vorgängigen Tasks i schon. Wenn kein solcher Task gefunden werden kann: exit. 3. Setze r j = max(r j, max(r i + C i : J i J j )) (Erhöhe die Startzeit von Task j bis er nach allen Endzeiten seiner Vorgänger startet) 4. Iteriere 2. Deadline-Modifikationen: 1. Für irgendeinen Endknoten i setze d i = d i. 2. Suche einen Task i, bei welchem die Deadline noch nicht modifiziert wurde aber die Deadlines all seiner unmittelbaren Nachfolger j schon. Wenn kein solcher Task gefunden werden kann: exit. 3. Setze d i = min(d i, min(d j C j : J i J j )) (Erniedrige seine Deadline bis er vor allen seinen Nachfolgerstartzeiten (Nachfolgerdeadline - Nachfolgercomputationtime) endet) 4. Iteriere 2. EDF guarantee condition: i t + c k (t) d i k=1 i = 1,..., n Anwendung am Zeitpunkt t: 1. Ordne alle anwesenden Tasks nach der Deadline, f 0 = t 2. f i+1 = f i + c i+1 d i+1 muss für alle Tasks erfüllt sein 3. Am Eintreffpunkt t des nächsten Tasks iteriere ab 1. Minimiert die maximum lateness (Horn s Rule). Komplexität O(n 2 ). Test auf Schedulability mit EDF: siehe Code Slide Latest Deadline First (LDF) [U2.2] Gegenteil von EDF. Vom letzten Zeitpunkt aus wird rückwärts geschaut und derjenige Task ausgewählt, dessen Nachfolger bereits alle ausgewählt wurden und der die maximale Deadline hat. Danach werden die Tasks vom ersten Zeitpunkt her abgearbeitet. 1. Reihenfolge rückwärts bestimmen (muss zuerst abgeschlossen werden, damit dann bei Schritt 0 begonnen werden kann) 2. Mit letztem bei 0 beginnen Garantie (hinreichend und notwendig): i c k d i k=1 i = 1,..., n 5

6 4.2 Periodic Tasks [4-17] Deadline = period Deadline period Static prio RM (rate-monotonic) DM (deadline-monotonic) Dynamic prio EDF EDF* ( aperiod. EDF*!) EDF* für periodische Tasks wurde nicht behandelt. Periodische Task-Scheduler sind immer preemptive. Definitionen: Γ Set von periodischen Tasks τ i Bestimmter periodischer Task τ i,j j-te Instanz des Tasks i r i,j Release time der j-ten Instanz des Tasks i s i,j Startzeit der j-ten Instanz des Tasks i f i,j Finishing time der j-ten Instanz des Tasks i d i,j Deadline der j-ten Instanz des Tasks i Φ i Phase des Tasks i (release time seiner ersten Instanz) D i Relative deadline des Tasks i Es gilt: r i,j = Φ i + (j 1)T i (regular activation of the task at a constant rate) all instances have the same WCET c i d i,j = Φ i + (j 1)T i + D i (all instances have the same relative deadline) d i,j = Φ i + jt i falls D i = T i (if relative deadline equals period) all periodic tasks are independent (no precedence relations and no resource constraints) Bedingung für alle periodischen Schedulingmethoden: Ein Set von Tasks ist schedulable wenn gilt: µ = n i=1 C i T i 1 Zusätzlich gelten für RM und DM (nicht aber für EDF) restriktivere Bedingungen Rate Monotonic Scheduling (RM) [4-22, U3.2] Annahmen (RM assumptions): Die Prioritäten der Tasks sind fix und werden während der Ausführung nicht geändert (Static priority assignment). Die Tasks sind unabhängig voneinander. Die Deadlines sind gleich wie die Periode: D i = T i Algorithmus: Jedem Task wird eine Prio zugeordnet: Tasks mit kürzerer Periode haben höhere Prio. Tasks mit hoher Prio unterbrechen solche mit tieferer Prio. Schedulability Test: Hinreichende (aber nicht notwendige) Bedingung: µ = n i=1 ( ) C i n 2 n 1 1 T i Deadline Monotonic Scheduling (DM) [4-25, U3.3] Annahmen: identisch zu RM ausser dass Deadlines kleiner als Perioden sein können: C i D i T i Algorithmus: Jedem Task wird eine Prio zugeordnet. Tasks mit kleinerer relativer Deadline erhalten höhere Prio. Tasks mit hoher Prio unterbrechen solche mit tieferer Prio. Schedulability Tests Hinreichende (aber nicht notwendige Bedingung): n i=1 mit n...#tasks C i D i n(2 1 n 1) ( if D i = T i this equals µ) Notwendige und hinreichende Bedingung: Folgende Variablen werden verwendet: I i Worst Case Interference. Zeit, welche ein Task i von höherpriorisierten Tasks unterbrochen wird. R i Longest Response Time des Tasks i Ablauf des Algorithmus: 1. Wähle den tiefstpriorisierten Task i aus, der noch nicht ausgewählt wurde. (andere auch neu nummerieren!) 2. Setze I 1 i = 0, k = 0 3. Berechne R k = C i i + I k 1 i 4. Berechne I k = i 1 R k i i j=1 T C j j (j läuft also über alle höherpriorisierten Tasks) 5. Überprüfe ob gilt: I k + C i i R k D i i (a) Beide Ungleichungen erfüllt: iteriere Schritt 1. (b) Zweite Ungleichung verletzt: exit. Taskset ist nicht schedulable. (c) Erste Ungleichung verletzt: inkrementiere k, iteriere Schritt 3. Wenn die Berechnung für alle Tasks erfolgreich ist, ist das Taskset schedulable. DM ist optimal für statische Prioritäten Earliest Deadline First (EDF) [4-32, U3.1] Annahmen: Dynamic priority assignment D i T i Algorithmus: Der zur Zeit ausgeführte Task wird preempted wenn eine andere periodische Instanz mit kleinerer Deadline aktiv wird. Notwendige und hinreichende Bedingung (notwendig falls D i = T i, sonst nur hinreichend): n C i 1 D i=1 i mit n...#tasks. EDF ist optimal. (Folgt aus der Optimalität von EDF für aperiodische Tasks.) mit n...#tasks, µ...processor utilization factor. Für n gilt: µ 0.7 Notwendige und hinreichende Bedingung: siehe Schedulability-Test für DM (Algorithmus identisch, nur Prioritätensetzung ist anders). RM ist optimal für statische Prioritäten. 6

7 4.3 Mixed Task Sets [4-37] In Realität gibt es häufig aperiodische, periodische und sporadische (sporadisch = aperiodischer Task mit unvorhersehbarer Ankunftszeit) Tasks im gleichen System Background Scheduling [4-38] Einfache Lösung für RM und EDF: Aperiodische Tasks werden im Hintergrund abgearbeitet, z.b. wenn keine periodischen Tasks anstehen. Periodische Tasks sind nicht betroffen. Nachteil: z.t. lange Wartezeiten für aperiodische Tasks da sie die tiefste Priorität haben RM - Polling Server (PS) [4-40, U3.4] Idee: Es wird ein periodischer Task eingeführt, der während seiner Ausführungszeit die aperiodischen Tasks abarbeitet. Falls kein aperiodischer Task ansteht, schaltet sich der PS ab (andere Tasks dürfen diesen Zeitslot brauchen). Nachteil: Ein nach dem Startzeitpunkt der Periode angekommener aper. Task wird erst in der nächsten Periode abgearbeitet. Der Polling Server hat Periode T s und Computation time (bzw. Capacity) C s. Achtung: T s bestimmt die Prio des PS. Schedulability Test: Bedingung (hinreichend & notwendig): ein Set von Tasks ist schedulable mit EDF wenn gilt: U p + U s 1 mit U p...processor utilization factor der periodischen Tasks, U s...processor utilization factor des TBS. Schedulability Test: Hinreichende (aber nicht notwendige) Bedingung: C s T s }{{} Servertask + n i=1 C i T i (n + 1) (2 1 n+1 1) mit n...#periodische Tasks. Hinreichende Bedingung für aperiodic activities: ( ) Ca 1 + T s D a C s mit C a...computation time des aperiodischen Tasks, D a...deadline dieses Tasks EDF - Total Bandwidth Server (TBS) [4-45, U3.5] Jeder ankommende aperiodische Task (Ankunftszeit t = r k ) erhält eine Deadline zugeordnet: d k = max(r k, d k 1 ) } {{ } Abarbeitung des alten Tasks + C k U s (d 0 = 0) mit C k...execution time des Tasks, U s...server utilization factor ( = bandwidth). Sobald die Deadline zugeordnet ist, wird der aperiodische Task in die ready queue eingeordnet (wie auch die periodischen Tasks). 7

8 5 Resource Sharing Buch Kap , [5] Gemeinsame Ressourcen: Variablen, Speicher, I/O units, Register, Mutual Exclusion Jeder kritische Bereich wird mit einem eigenen Semaphor geschützt. Ein Task wartet (wait(s i )) bis er den kritischen Bereich betreten darf (signal(s i )), dann betritt er den Bereich. Ein Task der wartet, wird blocked genannt. Alle Tasks, die auf der selben Ressource geblockt werden, werden in einer zur Semaphore gehörenden Warteschlange gehalten. 5.2 Priority Inversion Bei mutual exclusion kann folgendes auftreten: Ein Task mit tiefer Priorität betritt einen kritischen Bereich. Nun wird er von einem Task mit höherer Priorität preempted. Dieser Task will den gleichen krit. Bereich betreten und wird folglich geblockt. Der Task mit tieferer Priorität erbt nun die Prio des höheren da er zuerst ausgeführt werden muss bevor der höhere Task weitermachen kann. Indirekte Priority Inversion: 3 Tasks J 1... J 3 mit unterschiedlichen Prios. J 3 (tiefste Prio) betritt einen kritischen Bereich und wird von J 1 (höchste Prio) preempted. J 1 will auch in den krit. Bereich und blockiert folglich. Nun kommt J 2 und preempted J 3. Abhilfe: Verbiete Preemption während Ausführung von krit. Bereichen (Nachteil: unbeteiligte Tasks können blockiert werden). Alternativ: Priority Inheritance. 5.3 Priority Inheritance Protocol [5-11] (PIP) Idee: Wenn ein Task einen oder mehrere Tasks mit höherer Prio blockiert, erbt er temporär die höchste Priorität der blockierten Tasks. Algorithmus: Jobs mit gleicher Prio werden mittels FCFS abgearbeitet. Wenn ein Task einen krit. Bereich betreten will welcher bereits von einem anderen Task besetzt ist, blockiert er. Ein blockierender Task erbt temporär die höchste Prio der blockierten Tasks. Wenn ein blockierender Task fertig ist, nimmt er wieder die ursprüngliche Prio an und weckt den blockierten Task. Priority Inheritance ist transitiv. D.h. wenn 1 von 2 und 2 von 3 blockiert ist, dann erbt 3 die Prio von 1 via 2. Direct Blocking: Ein hochpriorisierter Task versucht einen krit. Bereich zu betreten in welchem sich bereits ein tieferpriorisierter Task befindet. Push-trough Blocking: Ein mittelpriorisierter Task wird von einem tieferpriorisierten Task blockiert welcher temporär eine höhere Priorität geerbt hat. Deadlock [5-16]: Task 1 betritt krit. Bereich a. Task 2 preempted Task 1 und betritt krit. Bereich b. Nun will 2 innerhalb von b auf a zugreifen und blockiert. Task 1 führt a aus und will nun auch b betreten. Deadlock Bsp.: Prozess T 1 hat Priorität 1, T 2 Prio 2 und T 3 Prio 3. Zuerst tritt T 3 in den kritischen Bereich - wird dann von T 1 unterbrochen, bis dieser ebenfalls in den krit. Bereich möchte (was durch T 3 verhindert wird). T 3 passt seine Priorität an: p 3 = 1. Falls nun T 3 in einen krit. Bereich eintreten möchte, welcher von T 2 geblockt wird, fährt T 2 fort. Gleichzeitig setzt er seine Priorität auf p 2 = p 3 = 1. 8

9 6 Real-Time Operating Systems (RTOS) Buch Kap. 4.3, [6] Gewünschte Eigenschaften von RTOS: nur nötige Kernelfeatures (ev. modular) fehlertolerant 6.1 Prozesszustände [6-14] Run: Task wird ausgeführt. Ready: Task ist ausführbereit, kann aber nicht ausgeführt werden da Prozessor noch von einem anderen Task besetzt ist. Wait: Task wartet auf ein Event (z.b. Semaphor). Wird in eine FIFO-Queue eingereiht. Idle: Task ist fertig ausgeführt und wartet auf die nächste Periode. konfigurierbar (unbenutzte Funktionen ausschalten) platzsparend energieoptimiert Kerneldesign passend zu krit. Applikationen. interrupts von jedem Prozess möglich Vergleich RTOS General purpose OS: Schlüsselanforderungen an RTOS: 1. Zeitverhalten des RTOS muss vorhersagbar sein (Predictability). 2. Das RTOS muss Timing und Scheduling verwalten können. 3. Ein RTOS muss schnell sein. Möglichkeiten, um nur benötigte Funktionen eines RTOS zu benutzen: unbenötigte Funktionen entfernen (z.b. durch Linker) konditionale Kompilierung (mittels #if und #ifdef) 6.2 Threads [6-16] 6.3 Communication Mechanisms [6-19] Problem: Zugriff auf gemeinsame Ressourcen (kann Priority Inversion und Blocking verursachen). 2 Möglichkeiten: 1. Synchronous communication: Wenn 2 Tasks miteinander kommunizieren wollen, müssen sie zuerst synchronisiert werden (rendezvous). Problem: Tasks müssen aufeinander warten. Kann bei dynamischen RT-Systemen Probleme geben. (Warten ist in Real-Time immer kritisch!) 2. Asynchronous communication: Tasks legen Messages in eine Mailbox (shared-memory, buffer, FIFO-queue). Vorteil: Tasks müssen nicht aufeinander warten. Nachteil: Kanal (Mailbox) kann blockieren wenn er voll/leer ist. Behebung: zyklische Buffer verwenden. dynamische durch statische Daten ersetzen erweiterte compile-time Analyse Prozess Management als Hauptfunktionalität eines RTOS-Kernels: Ausführung von quasi-parallelen Tasks CPU scheduling Prozesssynchronisation Interprozess-Kommunikation Real-time clock OS-Klassen (Buch Kapitel 4.3.2, [6-22]) Class 1: Fast Proprietary Kernels Class 2: Extension to Standard OS Class 3: Research Systems 9

10 7 System Components Buch Kap. 3.4, [7] 7.5 FPGA (Buch 3.4.4, [7-30]) Bsp.: VIRTEX II FPGA FPGA = Field-programmable gatearray Eigenschaften: Array mit Gattern, welche softwaremässig miteinander verbunden werden können. Meist viel mehr Gatter als benötigt werden ineffizient. Flexibel. Lässt sich re-konfigurieren. Leistungs- und energieeffiziente Designs lassen sich nicht mit flexiblen Prozessoren realisieren. 7.1 General-Purpose Processors (Buch 3.4.3, [7-6]) Bsp.: Pentium, Sparc,... Eigenschaften: High performance. Nicht geeignet für RT-Anwendungen. Gute mittlere Performance für grossen Anwendungsmix, aber schlecht vorhersagbare Rechenzeit. 7.6 ASIC [7-36] ASIC = Application Specific Circuit Eigenschaften: Kunde kann Design selber bestimmen. Extrem effizient. Wenig flexibel. Sehr teuer. Lohnt sich nur bei grossen Stückzahlen. 7.7 Configurable System-On-Chip [7-38] Hoher Leistungsverbrauch. Minimiert average response time der Tasks. Architecture Specialization Techniques [7-10] 7.2 Microcontroller [7-18] Bsp.: Siemens SIECO51, Philips 83 C552 Eigenschaften: Control-dominant applications: scheduling, preemption, context-switch werden unterstützt. Kurze Latenzzeit. Kleiner Leistungsverbrauch. Geeignet für RT-Anwendungen. System ist vorgegeben (Finite State Machine / Petri Net). Kann als System-on-Chip (SOC) implementiert werden. (Periphere Einheiten integriert) 7.3 Digital Signal Processor (DSP) [7-22] Bsp.: TMS320C40 Eigenschaften: Optimiert für Verarbeitung von Datenströmen. Meist periodisches Verhalten. Parallele hardware units (VLIW), spezialisiertes instruction set. Hoher Datendurchsatz. Dumm aber schnell. 7.4 Very Long Instruction Word (VLIW) (Buch , [7-25]) Bsp.: Philips TriMedia TM1000, M3 VLIW DSP Processor Parallele Instruktionen werden in ein langes Wort (instruction packet) verpackt, wobei jede Instruktion im Paket von einer anderen functional unit behandelt wird. Compiler übernimmt Parallelisierung 10

11 8 Communication Buch Kap. 3.3, [8] Übersicht [8-5] Technologien [8-6] Anforderungen: RT-behaviour (CSMA/CA, Token Rings, Token busses, TDMA (Time Division Multiple Access)), effizient, ökonomisch, angemessene Bandwidth und Delay, robust, fehlertolerant, einfacher Unterhalt, einfache Fehlerdiagnose, Security, Safety. Bemerkung: CSMA/CD kann nicht für RT-Systeme benutzt werden da es keine Antwortzeiten garantiert. Random Access [8-6] TDMA [8-7] CSMA/CD [8-8] Token Protocols [8-10] CSMA/CA [8-12] CSMA/CR [8-13] FlexRay [8-15] Connection Types [8-32] Synchronous Connection-Oriented (SCO): Symmetrische, synchrone Kommunikation. Reservierung von Slots für periodische Übertragung von Paketen. Anwendung: z.b. Multimedia. Asynchronous Connection-Less (ACL): Asynchrone Kommunikation. Keine reservierte Slots. Master übermittelt spontan, Slave antwortet im nächsten Intervall. Anwendung: z.b. Datentransfer Netzwerk Topologien [8-25] Ad-hoc Networks: Alle Nodes sind mobil. Für eine Kommunikation braucht es mind. einen Master (bestimmt Hoping-Frequenz, welche im gesamten Piconet fix ist und synchronsiert die Uhr. Adresse: BD ADDR) und 1-7 Slaves (Beschränkung aufgrund der Benutzung einer 3-Bit-MAC-Adresse (AM ADDR)) sowie bis zu 255 parked Slaves (Beschränkung aufgrund der Verwendung einer 8-Bit-MAC-Adresse (PM ADDR)). Jeweils ein Master bildet mit seinen Slaves ein piconet. Ein Master / Slave kann in einem benachbarten Netzwerk ein Slave / Master sein und somit als Bridge fungieren. Die Verbindung von mehreren Piconets nennt man scatternet. Verbindungen sind entweder 1 zu 1 oder zwischen Master und allen Slaves (broadcast). In einem Scatternet herrscht nicht die gleiche Hoping-Frequenz, diese ist von Piconet zu Piconet verschieden Protocol Hierarchy [8-44] 8.1 Bluetooth [8-22] Ziele: kleine Grösse, kleine Kosten, wenig Energie. Sichere und robuste Übermittlung auf m. Daten werden asynchron, Multimedia- Streams synchron übertragen. Eigenschaften: Flexible Modi (active, hold, sniff, park, stand-by, scan, page, inquiry). Übertragungsleistung kann angepasst werden, synchrone/asynchrone Übermittlung. Ad Hoc Netzwerk, Multi-Hop. Flexible Topologie (piconet, scatternet). Frequency Hopping (1600 hops/s) nach Zufallssequenz. Frequenzbereich ist k Mhz, k= Nachteil: Frequenz und Phase muss beiden bekannt sein lange Synchronisation Modes and States [8-35] Modes of operation: Connected: Verbindung zwischen Master und Slave ist aufgebaut. Page: Master baut Verbindung zu Slave auf, dessen Adresse ihm bekannt ist. Inquiry: Master identifiziert Adressen von benachbarten Nodes. States in Connection Mode: active: Aktive Verbindung zum Master. hold: Keine Datenpakete werden gesendet. sniff: Wacht in regelmässigen Intervallen auf und schaut, ob vom Master was kommt. Braucht wenig Strom. park: Passiv, keine Verbindung zum Master aber immer noch synchronisiert. Page Mode: Synchronisation zwischen Master und Slave. Wird für jeden Verbindungsaufbau benötigt. 3 Way Handshake. 1. page: Master sendet seine Adresse zu Slaves über einen speziellen Kanal. 2. page scan: Slave hört diesen Kanal ab, auch wenn seine Adresse bekannt. 3. master page response: Slave antwortet dem Master mit seiner eigenen Adresse. 4. slave page response: Master sendet FHS (frequency hop synchronisation) zum Slave, enthält Kanal und Piconet Infos. Bluetooth Radio Baseband Link Manager (ML), Audio Host Controller Interface (HCI) Link Layer Control and Adaption Layer (L2CAP) Addressing [8-31] Definiert die Frequenzbänder und die Eigenschaften der Sender / Empfänger. Definiert die Paket-Formate, physikalische und logische Kanäle, error correction, die Synchronisation Empfänger / Sender, Verschiedene Operationsmodi für Übermittlung von Audio und Daten. Definiert Eigenschaften der Audioübermittlung, ML managed das Piconet, wichtig für die Authentifizierung und Initialisierung einer Verbindung. Definiert das Standartinterface (USB, RS232,...) zwischen Host und Bluetoothnode. Interface für Datenkommunikation. Erlaubt multiplexing von Verbindungen, Austausch von QoS zwischen 2 Nodes (packet rate, packet size, latency,...) Bluetooth Device Adress BD ADDR: 48 Bit, unique für jeden Node. Active Member Address AM ADDR: 3 Bit für max. 7 aktive Slaves in einem piconet. Adresse Null: broadcast to all Slaves. Parked Member Adress PM ADDR: 8 Bit für parkierte Slaves. Im Paket Format hat es zuerst den Access Code (Master s BD ADDR, 72 bit), dann den Header (Slaves AM ADDR, 54 bit) und die Payload ( bit). 11

12 9 Low Power Design Buch Kap. 5.5, [9] 9.1 Techniken zur Leistungsreduktion Clock Gating: gewisse Bereiche des Prozessors abschalten. Codierung: je weniger Signale angepasst werden müssen, desto weniger Leistung wird benötigt. Algorithmus ändern / Programm optimieren (leistungsintensive Funktionen umgehen). Variable Taktrate. Spannungsanpassung 9.2 Leistung und Energie sind korreliert E = Pdt Meist gilt: schnellere Ausführung braucht weniger Energie. Dies stimmt aber nicht zwingend, wenn die schnellere Ausführung mehr Leistung benötigt. Unterschied zwischen Leistung und Energie: Leistungsreduktion meint die Reduktion der Momentanleistung und ist relevant für: Stromversorgung, Spannungsregulierung, kurzzeitige Kühlung, Leitungsdimensionierung. Energiereduktion betrachtet das Integral über die Leistung und bestimmt folgende Faktoren: Batteriekapazität, Kühlungssysteme (Platz- und Kosteneffizienz), Lebenszeiten, Kosten (v.a. bei hohen Energiepreisen (Raumfahrt)). Energy-Delay Product (EDP): Produkt der konsumierten Energie und der execution time. Power-Delay Product (PDP): Produkt der Leistung und der execution time. 9.3 Leistungsverbrauch von CMOS-Circuits [9-10] P = αc L V 2 dd f (ignoring leakage) mit α...switching activity, C L...Load capacitance, V dd...supply voltage, f...clock frequency f V dd Erniedrigen von V dd (bei konstantem f ) reduziert P quadratisch während die run-time von Algorithmen nur linear abnimmt. Energie: E = Pt = αc L V 2 dd f t = αc LV 2 dd #Cycles Möglichkeiten um Energie zu sparen: Reduziere einen der Parameter α, V dd, C L, #Cycles. Delay eines CMOS-Circuits: V τ = kc dd L (V dd V t ) 2 = 1 f max mit V t...threshold voltage der Transistoren (meist gilt. V t V dd ). Gate delay steigt linear mit zunehmender Versorgungsspannung V dd. In CMOS-Schaltungen treten 2 Arten von Energieverlusten auf: 1. Static Power Losses: Leckströme 2. Dynamic Power Losses: Schaltströme, Kurzschlusströme 9.4 Dynamic Voltage Scaling (DVS) [9-25] Reduziert dynamische Energieverluste. Prozessor wird mit variierenden Leistungsleveln betrieben um möglichst viel Energie zu sparen. Optimalerweise wird der Prozessor immer mit möglichst tiefer, aber konstanter Spannung betrieben. Folgende Sätze gelten: Wenn ein Prozessor einen Task gerade rechtzeitig zur Deadline fertigstellt, so ist die gewählte Spannung ideal in Bezug auf Energieeffizienz. Wenn ein Prozessor mehrere diskrete Spannungslevel benutzen kann, so minimiert ein Spannungs-Schedule mit höchstens zwei verschiedenen Spannungsleveln den Energieverbrauch unter beliebigen Zeitbeschränkungen. Wenn ein Prozessor nur diskrete Spannungslevel unterstützt, so sind die zwei Spannungen welche den Energieverbrauch minimieren diejenigen, die direkt über und unter der idealen Spannung liegen. DVS kann auch mittels Integer Linear Programing (ILP) gelöst werden: siehe Skript Slide 11-55ff. 9.5 YDS-Algorithm [9-35] Scheduling ohne verletzen der Deadlines und mit garantiert minimalem Energieaufwand. Komplexität: O(n 3 ) Offline Algorithmus: 1. (a) Berechne für alle interessanten Intervalle die Intensität (Summe der Rechenzeiten aller Tasks mit Ankunftszeit und Deadline innerhalb des Zeitintervalls durch Länge des Intervalls) (b) Intervall mit höchster Intensität ist kritischstes Intervall. Die benötigte Frequenz entspricht der Intensität multipliziert mit der Nominalfrequenz. (c) Schedule die Tasks im kritischsten Intervall nach EDF. Beachte, dass die Ausführungszeiten nun durch die Intensität geteilt werden müssen, da die Frequenz mit der Intensität multipliziert wurde. 2. Bearbeitetes Intervall wird ausgeschlossen (Tasks weg und Zeitabschnitt ausgeschnitten, Ankunftszeiten und Deadlines müssen angepasst werden!) 3. Mit verbleibendem Schedule wieder Schritt Am Schluss, alle Teilstücke wieder aneinanderfügen. Online Algorithmus: Der Online Algorithmus ist höchstens 27 schlechter als der Offline Algorithmus. Offline YDS für bereits vorhandene Tasks ausführen Zu Beachten ist, dass von den vorhandenen Tasks allenfalls schon abgearbeitete Teile von der Rechenzeit abgezogen werden müssen. 12

13 9.6 Parallelism [9-17] P 2 = 2 αc L ( V dd 2 )2 f 2 = 1 4 P 1 E 2 = 1 4 E 1 Es lohnt sich also, langsamere dafür parallel laufende Einheiten zu benutzen. Dies lässt sich mit VLIW (Very Long Instruction Word) kombinieren. 9.7 Transmeta [9-22] 9.8 Pipelining [9-18] E V 2 (number of cycles) dd E 2 = 1 4 E 1 Functional Pipelining: Gleichzeitige Ausführung von Datensets, die zu verschiedenen Iterationen gehören. 9.9 Dynamic Power Management (DPM) (Buch 3.4.3/5.5.2 [9-45]) DPM versucht, den Prozessor immer im optimalen Power Saving State zu halten. run : operational idle : nur interrupt monitoring sleep: alle on-chip-activity ist shut down Problem: Wakeuptime ist sehr gross Wann soll welcher Zustand gesetzt werden ohne zu lange Verzögerungen zu erzeugen? 9.10 Procrastination [9-49] Aufschieben (sleep as long as possible) 13

14 10 Architecture Design - Models Beispiel: [10], 2. Script 10.1 Task Graph / Dependence Graph (DG) [10-4] G(V,E)=G(Knoten, Kanten) Knoten entsprechen Operationen/Programmen. DG kann Parallelism darstellen, nicht aber Branches Control-Data Flow Graph (CDFG) [10-8] 10.4 Marked Graph (MG) [10-18] A.k.a. Signalflussgraph, synchroner Datenflussgraph Ähnlich zu Petrinetzen. G=(V,A,del)=(Knoten, Kanten, initiale Tokenverteilung) Jeder Knoten entspricht einem Task, Token auf Kanten entsprechen FIFO-Queues. Ein Knoten kann (nicht muss) feuern wenn er aktiviert ist. Implementation von MG s: Entspricht einer Finite State Machine. Start und Ende einer Operation werden mit NOP s markiert Sequence Graph (SG) [10-11] Token entsprechen FlipFlops, Knoten entsprechen Kombinatorischen Schaltungen. Implementation als self-timed asynchronous circuit: siehe Skript Slide Implementation in Software: siehe Skript Slide 10-23ff Ein markierter Graph in welchem die Anzahl Marken immer gleich gross bleibt, ist ein Graph, bei dem jeder Knoten der aktiviert werden kann die gleiche Anzahl Eingänge wie Ausgänge hat. Beispiel: SG = Hierarchie von DG s. Es gibt verschiedene Hierarchieknoten um die DG s miteinander zu verknüpfen: call (CALL) : Modulaufruf (springe in einen anderen DG) branch (BR) : Verzweigung zwischen mehreren DG s. loop (LOOP): Iteration. 14

15 11 Architecture Synthesis Buch 5.3/5.5, [11] Ziel: Hardware-Architektur bestimmen die einen gegebenen Algorithmus effizient umsetzt. Dies wird in 3 Schritten gemacht 1. Allocation: Nötige Hardwareressourcen bestimmen. 2. Scheduling: Bestimmen des Timings der einzelnen Operationen. 3. Binding: Operationen zu Ressourcen zuordnen. Klassifizierung von Scheduling Algorithmen: iterative Algorithmen: eine initiale Lösung wird schrittweise verbessert. konstruktive Algorithmen: das Syntheseproblem wird in einem Schritt gelöst. transformative Algorithmen: das Optimierungsproblem wird in ein klassisches Problem umformuliert und danach gelöst. heuristisch: ohne Garantie exakt: garantiert optimale Lösung 11.1 Modelle [11-5] Sequence Graph G S = (V S, E S ) mit V S...Operationen des Algorithmus, E S...Abhängigkeiten der Operationen Ressource Graph: G R = (V R, E R ) mit V R = V S V T (mit V T...Ressource-Typen) und E R...Bindung einer Operation an eine Ressource. Pareto-Punkt: Wenn eine Konfiguration verbessert werden kann ohne einen Aspekt gleichzeitig zu verschlechtern, nennt sich das Pareto-Optimierung. Ein Punkt, der nicht verbessert werden kann ohne gleichzeitig einen anderen Aspekt der Konfiguration zu verschlechtern, ist ein Paretopunkt (pareto-optimal) Scheduling without resource constraints [11-15] Annahme: es sind beliebig viele freie Ressourcen vorhanden ASAP [11-17] As soon as possible. Iterativ/konstruktives Verfahren. Ohne Resource constraints. Geht nur bei Graphen ohne Zyklen. Komplexität: O( V S + E S ) (mit V S...Operationsknoten, E S...abhängige Kanten) ALAP [11-20] As late as possible. Iterativ/konstruktives Verfahren. Ohne Resource constraints. Geht nur bei Graphen ohne Zyklen. Komplexität: O( V S + E S ) (mit V S...Operationsknoten, E S...abhängige Kanten) Timing Constraints Mobilität: Differenz zwischen der Startzeit einer Operation in ASAP und ALAP. Gibt an, wieviel die Operation geschoben werden kann. Deadline: τ(v i ) + w(v i ) x mit τ...geplante Ausführungszeit, w...execution time. Release time: τ(v i ) = x Relative constraints: Abhängigkeiten zwischen den Operationen: τ(v 6 ) τ(v 7 ) 7 τ(v 4 ) τ(v 1 ) 2 bzw. τ(v 1 ) τ(v 4 ) 2 τ(v 2 ) τ(v 3 ) = 5 bzw. τ(v 2 ) τ(v 3 ) 5 AND τ(v 3 ) τ(v 2 ) 5 Cost function c : V T Z: Kosten für die Benutzung einer Ressource. Execution time w : E R Z 0 : Ausführungszeit einer Operation auf einer Ressource. Wird an die Kanten geschrieben. Allocation α : V T Z 0 : Wieviele Einheiten einer best. Ressource stehen zur Verfügung. Binding β : V S V T und γ : V S Z >0 : Gibt an, welcher Ressource eine Operation zugeteilt ist. Latency: L = τ(v n ) τ(v 0 ). D.h. Ausführungszeit des Tasks von der ersten bis zur letzten Operation unter einem best. Algorithmus Weighted Constraint Graph [11-25] Ergänze SG um timing constraints. Ein Schedule existiert, falls der CG frei von positiven Zyklen ist. 15

16 Bellman-Ford-Algorithmus [11-26, U6.1b] Um einen feasible schedule in einem WCG zu finden, muss ein single source shortest path problem gelöst werden. Dies geht am einfachsten mit dem Bellman-Ford-Algorithmus. Dieser Algorithmus funktioniert (im Gegensatz zu ASAP, ALAP) auch wenn im Graphen Zyklen vorkommen. Bei positiven Zyklen (= Kantengewichte > 0) funktioniert der Algorithmus nicht, da sich die timing constraints in diesem Fall wiedersprechen. Am besten erstellt man eine Tabelle nach folgender Vorlage: j v 0 v 1 v 2... v n Spalte: alle untersten Knoten 0, Rest 2. Alle Knoten mit Abhängigkeiten zu den Knoten mit 0: früheste Starts in der 2. Spalte eintragen 3. Alle Knoten mit Abhängigkeiten zu den Knoten der letzten Spalte: früheste Starts eintragen wiederholen bis sich nichts mehr ändert Die resultierenden Startzeitpunkte ergeben sich aus den untersten Werten jeder Spalte. Komplexität: O( V c E c ) 11.3 Scheduling with resource constraints [11-29] Es sind nur beschränkt Ressourcen zur Verfügung List Scheduling [11-31] Achtung: Ablaufplan Ablaufgraph. Der Ablaufplan ist eine Tabelle mit: Knotennummer v, Startzeit τ, Bindung β. List Scheduling ist weit verbreitet. Funktioniert im Prinzip wie ASAP + resource constraints. Komplexität O( V S ) (mit V S...Operationsknoten) Algorithmus: Jeder Operation wird eine statische Priorität zugeordnet (longest path, Mobilität,... ). Nun wird für jede freie Ressource der höchstpriorisierte der ausführbaren Tasks ausgewählt. Ist i.a. heuristisch, also nicht optimal. Nur optimal falls der SG ein Baum ist und alle Tasks die gleiche Ausführungszeit beanspruchen. Problem: Algorithmus ist gefrässig Integer Linear Programing (ILP) [11-37, U7.1&2e] Wird in Software verwendet. Liefert optimale Lösung. Löst scheduling, binding und allocation simultan. Von jeder Operation wird die früheste und späteste Startzeit (Mobilität) benötigt. Diese muss man zuerst mittels ASAP, ALAP herausfinden. Dann wird eine mathematische Beschreibung des Problems vorgenommen: 1. Minimiere L = τ(v n ) τ(v 0 ) τ(v 0 ) = τ(v 1 ) 4. Verbinde Hilfsvariablen x mit Ausführungszeitpunkten τ: h i t=l i t x i,t = τ(v i ) v i V S (exkl. v n, v 0 ) 5. Alle Abhängigkeiten müssen eingehalten werden (Nebenbedingungen): τ(v j ) τ(v i ) w(v i ) (v i, v j ) V S (inkl. v n, v 0 ) 6. Alle resource constraints müssen eingehalten werden. Zu keinem Zeitpunkt dürfen mehr Ressourcen gebraucht werden als vorhanden sind (Summiere Anzahl parallel laufender Tasks und vergleiche mit Anzahl allozierter Ressourcen): i:(v i,v j ) E R min(w(v i ) 1,t l i ) p =max(0,t h i ) x i,t p α(v k ) v k V T t : 1 t ma Die innere Summe ist 1 wenn der Task die Ressource zum Zeitpunkt t belegt (also, wenn sie weniger als ihre Rechnungsdauer vor t beginnt) Die äussere Summe läuft dann über alle Tasks die auf den entsprechenden Ressourcetypen abgebildet werden Iterative Algorithmen [11-44, U7.2] Iterative Algorithmen bestehen aus einem Set von indizierten Gleichungen welche evaluiert werden. Iterative Algorithmen können auf verschiedene Arten dargestellt werden: Gleichungssystem, extended sequence graph, marked graph, signal flow graph. Iteration: Menge aller nötigen Operationen um alle x i [l] für ein gegebenes l auszurechnen. Iterationsintervall P / Physikalische Iteration: Zeit zwischen zwei Iterationsanfängen. Latency L: Maximale Zeitdistanz zwischen starting und finishing time einer Operation in einer Iteration. Functional Pipelining: Operationen mehrerer Instanzen einer Operation können gleichzeitig ausgeführt werden. Loop folding: starting und finishing times einer Operation sind in unterschiedlichen physikalischen Iterationen. Schedule mit functional pipelining ohne/mit loop folding: 2. Alle Entscheidungsvariablen x müssen binär sein: x i,t {0, 1} v i V S t : l i t h i mit l i...frühester Ausführungszeitpunkt für Task i (ASAP), h i...spätester Ausführungszeitpunkt (ALAP). 3. Für jeden Task i kann nur eine Hilfsvariable x i,t den Wert 1 haben, alle anderen müssen 0 sein (Interpretation: jeder Task kann nur einen Startpunkt haben): h i t=l i x i,t = 1 v i V S ILP (Integer Linear Prog.) für iterative Algorithmen: siehe[11-51] Dynamic Voltage Scaling (DVS) [11-55] 16

17 Index Abhängigkeitsgraph, 5 Ablaufgraph, 16 Ablaufplan, 16 ACL, 11 active, 11 ad-hoc, 11 adressing bluetooth, 11 ALAP, 15, 16 Allocation, 15 Arrival time, 4 ASAP, 15, 16 ASIC, 10 Asynchronous communication, 9 Asynchronous Connection-Less, 11 ausführbar, 4 Availability, 2 Average Execution Time, 3 average response time, 10 Background Scheduling, 7 Bellman-Ford-Algorithmus, 16 Best Case Execution Time (BCET), 3 Binding, 15 blocked, 8 Bluetooth, 11 Branch, 14 branch, 14 call, 14 Capacity, 7 CDFG, 14 CG, 15 clock frequency, 12 Clock Gating, 12 Co-Routines, 3 Communication Mechanisms, 9 Computation time, 4 Configurable System-On-Chip, 10 Connected, 11 connection asynchronous, 11 synchronous, 11 Control-Data Flow Graph, 14 Cooperative Multitasking, 3 Cost function, 15 CSMA, 11 datastream, 10 Datenflussgraph, 14 Deadline, 3 5, 15 Deadline Monotonic Scheduling, 6 Deadlock, 8 Dedicated, 2 Delay, 12 Dependence Graph, 14 DG, 14 Digital Signal Processor, 10 Direct Blocking, 8 DM, 6 Domino Effect, 4 DPM, 13 DSP, 10 DVS, 12 Dynamic Power Loss, 12 Dynamic Power Management, 13 Dynamic Voltage Scaling, 12, 16 Dynamische Algorithemn, 4 Earliest Deadline Due, 5 Earliest Deadline First, 5, 6 Earliest Deadline First*, 5 EDD, 5 EDF, 5, 6 EDF - Total Bandwidth Server, 7 EDF*, 5 EDP, 12 Efficiency, 2 Embedded System, 2 Energie, 12 Energieverlust, 12 Energy-Delay Product, 12 ES, 2 ET, 3 Event-Triggered Systems, 3 Exceeding Time, 4 Execution time, 15 extended sequence graph, 16 FCFS, 3, 8 feasible, 4 Finishing time, 4 Finite State Machine, 14 FPGA, 10 FSM, 14 Functional Pipelining, 16 General purpose OS, 9 General-Purpose Processors, 10 Hard, 4 Heuristic, 4 hold, 11 Hoping-Frequenz, 11 Horn s Rule, 5 Idle, 9 idle, 13 ILP, 12, 16 Inquiry, 11 instruction packet, 10 instruction set, 10 Integer Linear Programing, 12, 16 iterativ, 15 Iterative Algorithmen, 16 Jackson s Rule, 5 konstruktiv, 15 Kurzschlusströme, 12 Latency, 15, 16 Lateness, 4 lateness, 4 Latest Deadline First, 5 Laxity, 4 laxity, 4 LDF, 5 Leckströme, 12 Leistungsreduktion, 12 Leistungsverbrauch von CMOS-Circuits, 12 List Scheduling, 16 Load capacitance, 12 longest path, 16 Longest Response Time, 6 loop, 14 Loop folding, 16 Mailbox, 9 Maintainability, 2 Marked Graph, 14 marked graph, 16 master page response, 11 maximum lateness, 5 MG, 14 Microcontroller, 10 Mixed Task Sets, 7 Mobilität, 15 Modelle, 15 Multitasking, 3 Mutual Exclusion, 8 Non-Preemptive ET Scheduling, 3 Non-RT Tasks, 4 operation mode connection, 11 inquiry, 11 page, 11 operation state active, 11 hold, 11 park, 11 sniff, 11 Optimal, 4 Optimality, 2 Page, 11 Page Mode, 11 page scan, 11 Parallelism, 12, 14 Pareto, 15 park, 11 PDP, 12 Periodic task, 4 Physikalische Iteration, 16 piconet, 11 PIP, 8 Pipelining, 13 Polling, 3 Power Loss, 12 Power-Delay Product, 12 Precendence Graph, 5 Predictability, 9 Preemptive ET Scheduling, 3 Preemptive Multitasking, 3 Priority Inheritance Protocol [5-11], 8 Priority Inversion, 8 Process, 2 Processor utilization factor, 6 processor utilization factor, 7 Procrastination, 13 Prozesszustände, 9 PS, 7 17

18 Push-trough Blocking, 8 Rate Monotonic Scheduling, 6 Reactivity, 2 Ready, 9 ready queue, 7 Real-Time, 2, 4 Relative constraints, 15 Release time, 4, 15 Reliability, 2 rendezvous, 9 Ressource Graph, 15 RM, 6 RM - Polling Server, 7 RM assumptions, 6 Round-Robin, 3 RR, 3 RT Tasks:, 4 RTOS, 9 Run, 9 run, 13 Safety, 2 scatternet, 11 Schaltströme, 12 Schedulability Tests, 6 schedulable, 4 Scheduling, 15 SCO, 11 Security, 2 Semaphor, 8 Sequence Graph, 14 server utilization factor, 7 SG, 14, 15 shortest path problem, 16 signal flow graph, 16 Signalflussgraph, 14 Simple Periodic TT Scheduler, 3 single source shortest path problem, 16 SJF, 3 slack time, 4 slave page response, 11 sleep, 13 sniff, 11 SOC, 10 Soft, 4 Spielraum, 4 sporadisch, 7 SRJF, 3 SRTN, 3 Stack Policy, 3 Start time, 4 Static Power Loss, 12 Static priority assignment, 6 Statische Algorithmen, 4 Supply voltage, 12 Switching activity, 12 synchroner Datenflussgraph, 14 synchronisiert, 9 Synchronous communication, 9 Synchronous Connection-Oriented, 11 System-on-Chip, 10 Tardiness, 4 Task Graph, 14 Task-Descriptor List, 3 TBS, 7 TDL, 3 TDMA, 11 Threads, 9 Threshold voltage, 12 Timing Constraints, 15 transformativ, 15 transitiv, 8 Transmeta, 13 TT, 3 TT Cyclic Executive Scheduler, 3 Very Long Instruction Word, 10 VLIW, 10, 12 Wait, 9 Wait time, 4 Wakeuptime, 13 WCET, 3 Weighted Constraint Graph, 15 Worst Case Execution Time, 3 Worst Case Interference, 6 YDS-Algorithm, 12 18

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

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

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

Softwarelösungen: Versuch 4

Softwarelösungen: Versuch 4 Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

OSEK-OS. Oliver Botschkowski. oliver.botschkowski@udo.edu. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab

OSEK-OS. Oliver Botschkowski. oliver.botschkowski@udo.edu. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab OSEK-OS Oliver Botschkowski oliver.botschkowski@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung Motivation Ziele Vorteile Einführung in OSEK-OS Architektur Task Management Interrupt

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

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

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

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen:

Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: 1 Parallele Algorithmen Grundlagen Parallele Algorithmen Grundlagen Wir unterscheiden folgende drei Schritte im Design paralleler Algorithmen: Dekomposition eines Problems in unabhängige Teilaufgaben.

Mehr

Clustering (hierarchische Algorithmen)

Clustering (hierarchische Algorithmen) Clustering (hierarchische Algorithmen) Hauptseminar Kommunikation in drahtlosen Sensornetzen WS 2006/07 Benjamin Mies 1 Übersicht Clustering Allgemein Clustering in Sensornetzen Clusterheads Cluster basiertes

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

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

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

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

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

32-Bit Microcontroller based, passive and intelligent UHF RFID Gen2 Tag. Zürcher Fachhochschule

32-Bit Microcontroller based, passive and intelligent UHF RFID Gen2 Tag. Zürcher Fachhochschule 32-Bit Microcontroller based, passive and intelligent UHF RFID Gen2 Tag Inhalt Vorgeschichte Was wurde erreicht Hardware Energy Micro Microcontroller µctag Plattform EPC Gen2 Tag Standard Protokoll-Vorgaben

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 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)

Mehr

15 Optimales Kodieren

15 Optimales Kodieren 15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen

Mehr

Theoretische Grundlagen der Informatik WS 09/10

Theoretische Grundlagen der Informatik WS 09/10 Theoretische Grundlagen der Informatik WS 09/10 - Tutorium 6 - Michael Kirsten und Kai Wallisch Sitzung 13 02.02.2010 Inhaltsverzeichnis 1 Formeln zur Berechnung Aufgabe 1 2 Hamming-Distanz Aufgabe 2 3

Mehr

OSEK Deadline-Analyse

OSEK Deadline-Analyse OSEK Deadline-Analyse GmbH Erlangen Jürgen Scherg 8. Juni 2001 Ein Programmtest muß unter verschiedenen Gesichtspunkten durchgeführt werden. verschiedene Testmethoden sind notwendig. Blackbox : Es wird

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

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

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

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung Kapitel 6 Komplexität von Algorithmen 1 6.1 Beurteilung von Algorithmen I.d.R. existieren viele Algorithmen, um dieselbe Funktion zu realisieren. Welche Algorithmen sind die besseren? Betrachtung nicht-funktionaler

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen Elektronik Praktikum / Digitaler Teil Name: Jens Wiechula, Philipp Fischer Leitung: Prof. Dr. U. Lynen Protokoll: Philipp Fischer Versuch: 3 Datum: 24.06.01 RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Mehr

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

Mehr

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014 Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...

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

Mobile Anwendungen Google Cloud Messaging

Mobile Anwendungen Google Cloud Messaging Mobile Anwendungen Google Cloud Messaging 1. Allgemeines zu Google Cloud Messaging (GCM): - 60% der Top 100 Apps nutzen Google Cloud Messagging - 200.000 Messages pro Sekunde = 17 Milliarden Messages pro

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

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

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Das komplette Material finden Sie hier: Download bei School-Scout.de

Mehr

Simulink: Einführende Beispiele

Simulink: Einführende Beispiele Simulink: Einführende Beispiele Simulink ist eine grafische Oberfläche zur Ergänzung von Matlab, mit der Modelle mathematischer, physikalischer bzw. technischer Systeme aus Blöcken mittels plug-and-play

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

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

8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung

8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung 8. Bintec Router Redundancy Protocol (BRRP) 8.1 Einleitung Im Folgenden wird die Konfiguration von BRRP gezeigt. Beide Router sind jeweils über Ihr Ethernet 1 Interface am LAN angeschlossen. Das Ethernet

Mehr

Multicast Security Group Key Management Architecture (MSEC GKMArch)

Multicast Security Group Key Management Architecture (MSEC GKMArch) Multicast Security Group Key Management Architecture (MSEC GKMArch) draft-ietf-msec-gkmarch-07.txt Internet Security Tobias Engelbrecht Einführung Bei diversen Internetanwendungen, wie zum Beispiel Telefonkonferenzen

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

Real-Time Operating Systems Ein Überblick

Real-Time Operating Systems Ein Überblick Real-Time Operating Systems Ein Überblick Stefan Tittel Universität Dortmund Proseminar: Werkzeuge und Techniken zur Spezifikation, Simulation und Implementierung von eingebetteten Systemen, 2004 1 Einführung

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

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Ausgewählte Kapitel eingebetteter Systeme

Ausgewählte Kapitel eingebetteter Systeme Ausgewählte Kapitel eingebetteter Systeme Verfahren zur Bestimmung der WCET Andreas Kaiser Friedrich-Alexander University Erlangen-Nuremberg Übersicht Wieso WCET Berechnung? Methoden zur Bestimmung der

Mehr

Verarbeitung der Eingangsmeldungen in einem Callcenter

Verarbeitung der Eingangsmeldungen in einem Callcenter Q-up ist ein Produkt der: Anwendungsbeispiele Verarbeitung der Eingangsmeldungen in einem Callcenter Der Testdatengenerator Der Testdatengenerator Verarbeitung der Eingangsmeldungen in einem Callcenter

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29 1 29 Teil III: Routing - Inhalt I Literatur Compass & Face Routing Bounded & Adaptive Face Routing Nicht Ω(1) UDG E. Kranakis, H. Singh und Jorge Urrutia: Compass Routing on Geometric Networks. Canadian

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Das Aktivieren der verschiedenen Stops* in der WHS FutureStation

Das Aktivieren der verschiedenen Stops* in der WHS FutureStation Das Aktivieren der verschiedenen Stops* in der WHS FutureStation Info 1: Dieses Handbuch beschreibt die verschiedenen Stoparten der FutureStation und das implementieren klassischer Stopstrategien. Info

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

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

Anwenderdokumentation AccountPlus GWUPSTAT.EXE

Anwenderdokumentation AccountPlus GWUPSTAT.EXE AccountPlus Inhaltsverzeichnis Inhaltsverzeichnis Anwenderdokumentation AccountPlus GWUPSTAT.EXE (vorläufig) ab Version 6.01 INHALTSVERZEICHNIS...1 1 ALLGEMEINES...2 2 INSTALLATION UND PROGRAMMAUFRUF...2

Mehr

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x + 400 y = 520 300x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x + 400 y = 520 300x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775, Aufgabenpool für angewandte Mathematik / 1. Jahrgang V B, C, D Drinks Ein gastronomischer Betrieb kauft 300 Dosen Energydrinks (0,3 l) und 400 Liter Flaschen Mineralwasser und zahlt dafür 50, Euro. Einen

Mehr

Business Process Model and Notation

Business Process Model and Notation BPMN 2.0 Crashkurs Business Process Model and Notation entwickelt von der Object Management Group, einem Konsortium von vielen Firmen (u.a. HP, IBM, Microsoft, Oracle, SAP) >60 verschiedene Produkte implementieren

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage. Integration mit Die Integration der AristaFlow Business Process Management Suite (BPM) mit dem Enterprise Information Management System FILERO (EIMS) bildet die optimale Basis für flexible Optimierung

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem

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

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Eingebettete Systeme. Inhaltsverzeichnis. S. Ryffel. 14. Oktober 2006

Eingebettete Systeme. Inhaltsverzeichnis. S. Ryffel. 14. Oktober 2006 Eingebettete Systeme S. Ryffel 14. Oktober 2006 Inhaltsverzeichnis 1 Einführung 2 10 Architektur Design - Modelle 11 10.1 Task Graph oder Dependence Graph (DG).................... 11 10.2 Control-Data

Mehr

Avira Management Console 2.6.1 Optimierung für großes Netzwerk. Kurzanleitung

Avira Management Console 2.6.1 Optimierung für großes Netzwerk. Kurzanleitung Avira Management Console 2.6.1 Optimierung für großes Netzwerk Kurzanleitung Inhaltsverzeichnis 1. Einleitung... 3 2. Aktivieren des Pull-Modus für den AMC Agent... 3 3. Ereignisse des AMC Agent festlegen...

Mehr

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Eine Firma stellt USB-Sticks her. Sie werden in der Fabrik ungeprüft in Packungen zu je 20 Stück verpackt und an Händler ausgeliefert. 1 Ein Händler

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

Domänenanalyse Threadverwaltung/Scheduling

Domänenanalyse Threadverwaltung/Scheduling Domänenanalyse Threadverwaltung/Scheduling Johannes Handl, Marc Rößler, Christian Strengert 15. Mai 2003 Domänenanalyse Threadverwaltung/Scheduling [1] Domänendefinition Die Erzeugung, Verwaltung, Umschaltung/Wechsel,

Mehr

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über Güte von s Grundlegendes zum Konzept der Güte Ableitung der Gütefunktion des Gauss im Einstichprobenproblem Grafische Darstellung der Gütefunktionen des Gauss im Einstichprobenproblem Ableitung der Gütefunktion

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

Mehr

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort: Tangentengleichung Wie Sie wissen, gibt die erste Ableitung einer Funktion deren Steigung an. Betrachtet man eine fest vorgegebene Stelle, gibt f ( ) also die Steigung der Kurve und somit auch die Steigung

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

An integrated total solution for automatic job scheduling without user interaction

An integrated total solution for automatic job scheduling without user interaction An integrated total solution for automatic job scheduling without user interaction Multifunktional Der Job-Scheduler ist ein multifunktionaler Taskplaner welcher die Steuerzentrale zur regelmässigen Ausführung

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

Lizenzierung von System Center 2012

Lizenzierung von System Center 2012 Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im

Mehr

Telefonieren mit App's"! iphone mit Bria Informationen zur Nutzung von TeScript

Telefonieren mit App's! iphone mit Bria Informationen zur Nutzung von TeScript Telefonieren mit App's"! iphone mit Bria Informationen zur Nutzung von TeScript Der Begriff App ist die Kurzform für Applikation und bedeutet Anwendungssoftware. Mit dem Herunterladen von App s kann man

Mehr

Erklärung zum Internet-Bestellschein

Erklärung zum Internet-Bestellschein Erklärung zum Internet-Bestellschein Herzlich Willkommen bei Modellbahnbau Reinhardt. Auf den nächsten Seiten wird Ihnen mit hilfreichen Bildern erklärt, wie Sie den Internet-Bestellschein ausfüllen und

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

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

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

How to do? Projekte - Zeiterfassung

How to do? Projekte - Zeiterfassung How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...

Mehr

Benutzerverwaltung Business- & Company-Paket

Benutzerverwaltung Business- & Company-Paket Benutzerverwaltung Business- & Company-Paket Gemeinsames Arbeiten mit der easyfeedback Umfragesoftware. Inhaltsübersicht Freischaltung des Business- oder Company-Paketes... 3 Benutzerverwaltung Business-Paket...

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

Künstliches binäres Neuron

Künstliches binäres Neuron Künstliches binäres Neuron G.Döben-Henisch Fachbereich Informatik und Ingenieurwissenschaften FH Frankfurt am Main University of Applied Sciences D-60318 Frankfurt am Main Germany Email: doeben at fb2.fh-frankfurt.de

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

Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand

Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand Vorüberlegung In einem seriellen Stromkreis addieren sich die Teilspannungen zur Gesamtspannung Bei einer Gesamtspannung U ges, der

Mehr

Versuch 3: Sequenzielle Logik

Versuch 3: Sequenzielle Logik Versuch 3: Sequenzielle Logik Versuchsvorbereitung 1. (2 Punkte) Unterschied zwischen Flipflop und Latch: Ein Latch ist transparent für einen bestimmten Zustand des Taktsignals: Jeder Datensignalwechsel

Mehr

Stackelberg Scheduling Strategien

Stackelberg Scheduling Strategien Stackelberg Scheduling Strategien Von Tim Roughgarden Präsentiert von Matthias Ernst Inhaltsübersicht Einleitung Vorbetrachtungen Stackelberg Strategien Ergebnisse Seminar Algorithmische Spieltheorie:

Mehr

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73 Synchronisierung Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73 Übertragungsprozeduren Die Übertragung einer Nachricht zwischen Sender und Empfänger erfordert die Übertragung des Nutzsignals

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

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

10. Elektrische Logiksysteme mit

10. Elektrische Logiksysteme mit Fortgeschrittenenpraktikum I Universität Rostock - Physikalisches Institut 10. Elektrische Logiksysteme mit Rückführung Name: Daniel Schick Betreuer: Dipl. Ing. D. Bojarski Versuch ausgeführt: 22. Juni

Mehr