From 53a6ac2bea4f3ad20479e07a4ed5d7dfa919ec2b Mon Sep 17 00:00:00 2001 From: Jim Martens Date: Sun, 14 Feb 2016 13:40:44 +0100 Subject: [PATCH] =?UTF-8?q?[ES]=20Zusammenfassung=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jim Martens --- es/Klausurvorbereitung/Zusammenfassung.html | 1576 +++++++++++++++++++ 1 file changed, 1576 insertions(+) create mode 100644 es/Klausurvorbereitung/Zusammenfassung.html diff --git a/es/Klausurvorbereitung/Zusammenfassung.html b/es/Klausurvorbereitung/Zusammenfassung.html new file mode 100644 index 0000000..9abaf22 --- /dev/null +++ b/es/Klausurvorbereitung/Zusammenfassung.html @@ -0,0 +1,1576 @@ +Zusammenfassung

+Einführung

+ +

+Anwendungsgebiete

+ +
    +
  • ES werden in unterschiedlichen Bereichen verwendet: + +
      +
    • Autos
    • +
    • Flugzeuge
    • +
    • Züge
    • +
    • Mobiltelefone
    • +
    • Gesundheitssektor
    • +
    • Sicherheit
    • +
    • TVs
    • +
    • Fabriken
    • +
    • Intelligente Gebäude
    • +
    • Logistik (RFID) - Tracking von Objekten
    • +
    • Robotik
    • +
    +
  • +
+ +

+Wichtige Eigenschaften

+ +
    +
  • dependable + +
      +
    • Reliability - Probability that system will not fail
    • +
    • Maintainability - Probability that failing system can be repaired within certain timeframe
    • +
    • Availability - Probability that system is available
    • +
    • Safety - System will not cause any harm
    • +
    • Security - confidential data remains confidential and authentic communication is guaranteed
    • +
    +
  • +
  • efficient + +
      +
    • Energie
    • +
    • Laufzeiteffizienz
    • +
    • Codegröße
    • +
    • Gewicht/Masse der Hardware
    • +
    • Kosten
    • +
    +
  • +
+ +

ES müssen oftmals Echtzeitbedingungen umsetzen. +Zwei Arten:

+ +
    +
  • harte Bedingungen - Nicht-Einhalten führt zu Katastrophe
  • +
  • weiche Bedingungen - alle anderen Zeitbedingungen
  • +
+ +

weitere Eigenschaften

+ +
    +
  • reaktiv
  • +
  • hybrid - analoge und digitale Bestandteile
  • +
  • DUI - dedicated user interface
  • +
+ +

+Herausforderungen im Design von ES

+ +
    +
  • Software muss auf Hardware abgestimmt werden
  • +
  • ¬funktionale Bedingungen müssen eingehalten werden + +
      +
    • Echtzeitbedingungen
    • +
    • Energieeffizienz
    • +
    • Dependability - Verlässlichkeit
    • +
    +
  • +
  • Zeitmanagement ist eine der größten Herausforderungen
  • +
  • Concurrency (Nebenläufigkeit) ist essentiell
  • +
  • Kombinieren von Komponenten ist wichtig für Design
  • +
  • traditionelle sequentielle Prog.Sprachen sind nicht ideal
  • +
+ +

+Designflow

+ +
    +
  • rounded boxes - stored info
  • +
  • rectangles - transformations on data
  • +
  • application knowledge +-> specification +-> HW components +-> system software +=> design repository -> design -> [test] +| | +[application mapping]
  • +
  • [optimization]
  • +
  • [evaluation & validation]
  • +
  • [test]

  • +
  • Figure 1.6 page 13

  • +
+ +

+Spezifikationen und Modellierung

+ +

+Bedingungen

+ +
    +
  • Model: Simplification of another entity, which can be a +physical thing or another model. The model contains exactly those +characteristics and properties of the modeled entity that are +relevant for a given task. A model is minimal with respect to a +task if it does not contain any other characteristics than those +relevant for the task.
  • +
+ +

Modelle werden in Sprachen beschrieben. Sprachen sollten +folgende Eigenschaften aufweisen (Wunschliste):

+ +
    +
  • Hierarchie + +
      +
    • Verhaltshierarchien - enthalten für Beschreibung des Systemverhaltens notwendige Objekte, z.B. Zustände, Events
    • +
    • Strukturhierarchien - beschreiben physische Komponenten des Systems
    • +
    +
  • +
  • Komponenten-basiertes Design - Verhalten des Systems muss von Verhalten der Komponenten ableitbar sein
  • +
  • Nebenläufigkeit
  • +
  • Synchronisation und Kommunikation
  • +
  • Zeitverhalten (timing behavior) + +
      +
    • elapsed time (vergangene Zeit) seit X
    • +
    • Verzögern von Prozessen für spezifizierte Zeit
    • +
    • being able to specify timeouts
    • +
    • Fähigkeit Deadlines und Schedules zu spezifizieren
    • +
    +
  • +
  • Zustandorientiertes Verhalten
  • +
  • Eventhandling
  • +
  • Ausnahmeorientiertes Verhalten
  • +
  • Vorhandensein von Programmierelementen
  • +
  • Ausführbarkeit
  • +
  • Support für Design großer Systeme
  • +
  • Support für Anwendungsdomain
  • +
  • Lesbarkeit
  • +
  • Portabilität und Flexibilität
  • +
  • Termination - feasible to identify processes which will terminate from the specification
  • +
  • Support für ¬Standard I/O-Devices
  • +
  • ¬funktionale Eigenschaften
  • +
  • Support für Design von verlässlichen (dependable) Systemen
  • +
  • keine Hindernisse für Generierung effizienter Implementierungen
  • +
  • angemessenes MoC (Model of Computation)
  • +
+ +

+Models of computation (Berechnungsmodelle)

+ +
    +
  • MoCs definieren: + +
      +
    • Komponenten
    • +
    • Kommunikationsprotokolle
    • +
    +
  • +
+ +

Beziehungen zwischen diesen Punkten können in Graphen +festgehalten werden.

+ +

Models of Communication:

+ +
    +
  • shared memory
  • +
  • message passing + +
      +
    • async message passing - non-blocking communication
    • +
    • sync message passing - blocking communication, rendez-vous based communication
    • +
    • extended rendez-vous, remote invocation
    • +
    +
  • +
+ +

Organisation von Berechnungen innerhalb der Komponenten

+ +
    +
  • Von-Neumann Modell
  • +
  • discrete event model
  • +
  • endliche Automaten
  • +
  • Differentialgleichungen
  • +
+ +

Kombinierte Modelle: Tatsächliche Sprachen kombinieren normalerweise ein Kommunikationsmodell mit einer Organisation von Berechnungen innerhalb der Komponenten.

+ +

Beispiele:

+ +
    +
  • StateChart - kombiniert endliche Automaten mit shared memory
  • +
  • SDL - kombiniert asynchrones message passing mit endlichen Automaten
  • +
  • ADA, CSP - kombinieren von-Neumann mit synchronem message passing
  • +
+ +

Figure 2.7 page 34

+ +

+Diskrete Event-basierte Sprachen

+ +

+VHDL

+ +
    +
  • kann in die 1980er Jahre zurückverfolgt werden
  • +
  • im VHSIC Programm entwickelt (vom DoD)
  • +
  • VHSIC hardware description language
  • +
  • IEEE standard
  • +
+ +

Elemente:

+ +
    +
  • Entitäten
  • +
  • Architekturen
  • +
+ +

definieren von Verhalten und Struktur

+ +

+SystemC

+ +
    +
  • erlaubt Spezifikation von Hardwarestrukturen in Software
  • +
+ +

+Hardware

+ +

+Input

+ +

Sensoren:

+ +
    +
  • Beschleunigungssensoren
  • +
  • Regensensoren
  • +
  • Bildsensoren (charge-coupled devices und CMOS)
  • +
  • biometrische Sensoren
  • +
  • künstliche Augen
  • +
  • RFID
  • +
  • andere Sensoren
  • +
+ +

Sensoren erzeugen Signale.

+ +

Diskretisierung von Zeit: Sample-and-hold circuits

+ +
    +
  • messen eines Wertes aus dem kontinuierlichen Zeitspektrum
  • +
  • gemessener Wert wird für bestimmte Zeitdauer weitergeleitet
  • +
  • danach zurück zur Messung des Wertes
  • +
  • Output gleicht damit diskreten Werten (gleicher Wert für bestimmte Zeitdauer)
  • +
+ +

Diskretisierung von Werten: A/D Konverter

+ +
    +
  • Flash A/D converter + +
      +
    • large number of comparators
    • +
    • each comparator has two inputs (+ and -)
    • +
    • if voltage at + larger than at - -> logical 1, otherwise logical 0
    • +
    • first comparator returns 1, if h(t) exceeds 3/4 Vref
    • +
    • second returns 1, for h(t) > 2/4 Vref
    • +
    • third returns 1, for h(t) > 1/4 Vref
    • +
    • encoder tries to identify most significant '1'
    • +
    +
  • +
  • successive appriximation
  • +
+ +

+Processing Units

+ +
    +
  • Energie"verbrauch" ist wichtigste Beschränkung in ES
  • +
+ +

+ASICs (Application-specific circuits)

+ +
    +
  • hohe Kosten
  • +
  • sehr gute Performance für sehr kleinen Anwendungsbereich
  • +
  • keine Flexibilität
  • +
+ +

+Prozessoren

+ +
    +
  • Flexibilität
  • +
  • Energieeffizienz ist wichtig - Compiler müssen so effizient sein wie möglich
  • +
  • müssen nicht kompatibel mit PC-Prozessoren sein
  • +
  • Dynamic power management + +
      +
    • power saving states (idle and sleep)
    • +
    • changes between states
    • +
    +
  • +
  • Dynamic voltage scaling + +
      +
    • decreasing supply voltage reduces power quadratically
    • +
    • only linear increase of runtime of algorithms
    • +
    +
  • +
  • Code-size efficiency + +
      +
    • CISC machines (Complex Instruction Set Processors)
    • +
    • Kompressionstechniken
    • +
    +
  • +
  • Laufzeiteffizienz
  • +
+ +

+Reconfigurable Logic

+ +

application areas:

+ +
    +
  • fast prototyping
  • +
  • low volume applications
  • +
  • realtime systems
  • +
+ +

+Memories

+ +
    +
  • großer Geschwindigkeitsunterschied zw. Prozessoren und Memories
  • +
  • kleinere Memories wichtig, da sie schnellere Zugriffszeiten bieten
  • +
  • mehrere kleine Speicher für häufig genutzte Instruktionen und Daten plus ein größerer Speicher für restliche Daten und Instruktionen bieten i.A. höhere Energieeffizienz
  • +
  • Scratch Pad memories (SPMs) als Alternative zu Caches
  • +
+ +

+Communication

+ +
    +
  • Informationen können durch Kanäle transportiert werden
  • +
  • physische Entitäten, die Kommunikation ermöglichen heißen Kommunikationsmedien
  • +
  • wichtige solche Medien: + +
      +
    • drahtlose Medien (Infrarot, RFID)
    • +
    • optische Medien (Glasfaser)
    • +
    • Kabel
    • +
    +
  • +
+ +

+Requirements

+ +
    +
  • Echtzeitverhalten
  • +
  • Effizienz
  • +
  • angemessende Bandbreite und Kommunikationsverzögerung
  • +
  • Support für eventbasierte Kommunikation
  • +
  • Robustheit
  • +
  • Fehlertoleranz
  • +
  • Wartbarkeit, Diagnosefähigkeit
  • +
  • Datenschutz
  • +
+ +

+Elektrische Robustheit

+ +
    +
  • single-ended signaling + +
      +
    • single ground wire
    • +
    • affected by external noise
    • +
    • difficult to establish high-quality ground signals
    • +
    +
  • +
  • differential signaling + +
      +
    • two wires for data transport
    • +
    • noise can be effectively removed
    • +
    • logic value only depends on polarity of voltage between two wires, magnitude can be affected without effect
    • +
    • quality of ground wire unimportant
    • +
    • no common ground wire required
    • +
    • larger throughput than single-ended signaling
    • +
    • used in standard Ethernet-based networks
    • +
    +
  • +
+ +

+Echtzeitverhalten garantieren

+ +
    +
  • Nutzung von time division multiple access (TDMA)
  • +
  • jeder Kommunikationspartner bekommt festen Zeitslot
  • +
  • innerhalb dieses Slots darf gesendet werden
  • +
  • Zeit wird in Frames unterteilt
  • +
  • jedes Frame startet mit Synchronisierung und einem Gap, um dem Sender das ausschalten zu ermöglichen
  • +
+ +

carrier-sense multiple access/collision detect (CSMA/CD)

+ +
    +
  • wenn mehrere Partner zur gleichen Zeit kommunizieren, wird für jeden eine zufällige Wartezeit bestimmt
  • +
  • sehr unwahrscheinlich, dass sich Szenario nach Wartezeit wiederholt
  • +
  • kann nicht für ES benutzt werden, da Laufzeit nicht bestimmt werden kann
  • +
+ +

carrier-sense multiple access/collision avoidance (CSMA/CA)

+ +
    +
  • jeder Partner bekommt Priorität zugewiesen
  • +
  • dies geschieht in Verhandlungsphasen
  • +
  • wenn Partner einen Partner mit höherer Priorität erkennt, muss Ersterer seine NUtzungsabsicht sofort zurückziehen
  • +
  • daher vorhersehbare Laufzeit für Partner mit höchster Priorität
  • +
  • für andere auch, wenn Partner mit höchster Prio nicht dauerhaft Zugang verlangt
  • +
  • Ethernet mit über 1GBit vermeidet ebenfalls Kollisionen
  • +
+ +

+Beispiele

+ +
    +
  • Sensor/actuator buses
  • +
  • field buses + +
      +
    • Controler Area Network
    • +
    • Time-Triggered-Protocol (TTP)
    • +
    • FlexRay
    • +
    • LIN
    • +
    • MAP
    • +
    • EIB
    • +
    +
  • +
  • Kabelgebundene Multimedia-Kommunikation
  • +
  • drahtlose Kommunikation
  • +
+ +

+Output

+ +
    +
  • Displays
  • +
  • Elektromechanische Geräte

  • +
  • analog input zu analog output: +AA -> Sample & hold -> A/D conv. -> Verarbeitung -> D/A conv. -> filter

  • +
+ +

+D/A Konverter

+ +
    +
  • wandeln digital in analog um
  • +
  • benutzen Kirchhoffs Regeln
  • +
+ +

+Sampling theorem

+ +
    +
  • mithilfe der Shannon-Wittaker interpolation kann das ursprüngliche analoge Signal approximiert werden
  • +
  • ebenso wird die Fourier Transformation benutzt
  • +
  • ansonsten sehr viel Mathe
  • +
+ +

+System Software

+ +

+Embedded Operating Systems

+ +

+Allgemeine Bedingungen

+ +
    +
  • muss flexibel für Anwendungsbereich angepasst werden können
  • +
  • Konfigurabilität (configurability) + +
      +
    • OO
    • +
    • Aspect-oriented Programming
    • +
    • konditioniertes Kompilieren
    • +
    • fortgeschrittene Kompilierzeit Evaluation
    • +
    • Linker-basiertes Entfernen von nicht genutzten Funktionen
    • +
    +
  • +
  • Treiber sind vom OS getrennt
  • +
  • keine Schutzmechanismen (wie privilegierter Zugang) notwendig, da ungetestete Software nicht geladen wird
  • +
  • interrupts können mit jedem Prozess verbunden werden
  • +
  • viele ES sind Echtzeitsysteme und daher muss deren OS ein RTOS sein
  • +
+ +

+Echtzeit OS

+ +
    +
  • Zeitverhalten des OS muss vorhersagbar sein
  • +
  • OS muss das Scheduling der Tasks managen
  • +
  • einige Systeme erfordern Zeitmanagement durch das OS
  • +
  • OS muss schnell sein
  • +
+ +

vorhandene RTOS können in drei Kategorien eingeteilt werden:

+ +
    +
  • schnelle proprietäre Kernel
  • +
  • Echtzeiterweiterungen zu Standard-OS
  • +
  • Forschungssysteme
  • +
+ +

Kernunterschied zu Standard OS:

+ +
    +
  • es wird für den Worst Case optimiert
  • +
+ +

+Resources access protocols

+ +

+Priority Inversion

+ +
    +
  • Prozess mit geringerer Priorität blockt Prozess mit höherer Priorität
  • +
+ +

+Priority Inheritance

+ +
    +
  • T1 hat Prio 1
  • +
  • T2 hat Prio 2
  • +
  • T3 hat Prio 3

  • +
  • T2 verlangt Zugang zu S

  • +
  • T1 verlangt Zugang zu S - wird blockiert
  • +
  • T2 erbt Prio von T1
  • +
+ +

+Hardware abstraction layers

+ +
    +
  • accessing hardware through hardware-independent API
  • +
+ +

+Middleware

+ +
    +
  • add communication functionality on top of OS
  • +
+ +

+OSEK

+ +
    +
  • für Autobranche benutzt
  • +
+ +

+Corba (Common Object Request Broker Architecture)

+ +
    +
  • standardisierter Zugriff auf Remote-Objekte
  • +
  • standardmäßig nicht für RTOS geeignet
  • +
  • separater Standard RT-CORBA für RTOS definiert
  • +
+ +

+MPI (Message passing interface)

+ +
    +
  • Alternative zu CORBA
  • +
  • Kommunikation zwischen Prozessoren
  • +
+ +

+POSIX Threads (Pthreads)

+ +
    +
  • API für Threads auf der OS-Ebene
  • +
+ +

+OpenMP

+ +
    +
  • explizite Parallelität
  • +
  • implizite Kommunikation, Synchronisation, etc.
  • +
+ +

+UPnP, DPWS, JXTA

+ +
    +
  • Universal Plug-and-Play + +
      +
    • Erweiterung von PnP für Netzwerke
    • +
    +
  • +
  • Devices Profile for Web Services (DPWS) allgemeiner als UPnP
  • +
  • JXTA ist eine OpenSource Peer-to-Peer Protokollspezifikation
  • +
+ +

+Evaluation und Validierung

+ +
    +
  • Validierung überprüft, ob ein Design alle Restriktionen erfüllt, wie erwartet funktionieren wird und für den Zweck angemessen ist
  • +
  • Validierung mit mathematischer Genauigkeit wird formale Validierung genannt
  • +
  • sehr wichtig während Designprozess
  • +
  • Evaluation ist Prozess des Berechnens von quantitativen Informationen von einigen Kern-Charakteristika eines bestimmten Designs
  • +
+ +

Kopetz' Designprinzipien:

+ +
    +
  • Safety muss möglicherweise als der zentrale Aspekt gesehen werden, von dem alles abhängt
  • +
  • präzise Spezifikationen von Designhypothesen müssen gleich zu Beginn gemacht werden (inklusive erwarteten Fehlern und deren Wahrscheinlichkeit)
  • +
  • "Fault containment regions" müssen erwogen werden + +
      +
    • Fehler in einer solchen Region beeinflussen keine andere solche Region
    • +
    +
  • +
  • konsistente Vorstellung von Zeit und Zustand muss etabliert werden
  • +
  • wohldefinierte Schnittstellen müssen die Interna von Komponenten verstecken
  • +
  • Komponenten müssen unabhängig voneinander versagen (kein Einfluss auf andere Komponenten)
  • +
  • Komponenten müssen sich selbst als korrekt annehmen bis mindestens zwei andere Komponenten das Gegenteil annehmen
  • +
  • Fehlertoleranz darf es nicht schwerer machen das Verhalten des Systems zu erklären; Fehlertoleranz Mechanismen sollten von der regulären Funktionalität entkoppelt sein
  • +
  • das System muss für Diagnose designed werden
  • +
  • man-machine interface muss intuitiv und vergebend sein; safety sollte trotz Fehler des Menschens weiter gewährleistet sein
  • +
  • jede Anomalie sollte aufgezeichnet werden; Aufzeichnung sollte auch interne Effekte beinhalten
  • +
  • provide never-give up strategy
  • +
+ +

+Application mapping

+ +

+Classification of scheduling algorithms

+ +
    +
  • soft and hard deadlines
  • +
  • periodic vs. aperiodic tasks
  • +
  • preemptive vs. non-preemptive scheduling
  • +
  • static vs. dynamic scheduling
  • +
  • independent vs. dependent tasks
  • +
  • mono- vs. multi-processor scheduling
  • +
  • centralized vs. distributed scheduling
  • +
+ +

+Scheduling algorithms

+ +

+Aperiodic scheduling without precedence constraints

+ +
    +
  • Earliest Due Date (identical arrival times)
  • +
  • Earliest Deadline First (different arrival times with preemption)
  • +
  • Least Laxity (deadline interval - execution time)
  • +
+ +

+Aperiodic Scheduling with precedence constraints

+ +
    +
  • LatestDeadlineFirst
  • +
  • ASAP
  • +
  • ALAP (as late as possible)
  • +
  • list scheduling
  • +
  • force-directed scheduling + +
      +
    • goal: balanced utilization of resources
    • +
    • based on spring model
    • +
    • originally proposed for high-level synthesis
    • +
    +
  • +
+ +

+Periodic scheduling without precedence constraints

+ +
    +
  • rate monotonic scheduling
  • +
  • Earliest deadline first
  • +
+
\ No newline at end of file