Prozessautomatisierungstechnik
|
|
|
- Heike Kästner
- vor 10 Jahren
- Abrufe
Transkript
1 Mohieddine Jelali Prozessautomatisierungstechnik 4. Echtzeitsysteme und Echtzeitprogrammierung WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 1
2 Inhaltsangaben zu Kapitel 4 Echtzeitsysteme und Echtzeitprogrammierung 4.1 Echtzeitsysteme 4.2 Aufgaben von Echtzeitsystemen 4.3 Echtzeitsysteme Beispiele 4.4 Anforderungen an Echtzeitsysteme 4.5 Echtzeit-Programmierverfahren 4.6 Synchronisierung von Tasks 4.7 Synchronisierungsverfahren 4.8 Scheduling-Verfahren WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 2
3 Echtzeitbezug 4.1 Echtzeitsysteme Automatisierung mit Echtzeitanforderungen Automatisierungssystem Zeitabhängige Eingangsdaten Zeitabhängige Ausgangsdaten Schnittstelle (Sensorik) Schnittstelle (Kommunikation) Schnittstelle (Aktorik) Technisches System (Produkt oder Anlage) WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 3
4 4.1 Echtzeitsysteme Echtzeitsteuerung (Real Time Control) Bei der Datenverarbeitung in Echtzeitsystemen muss die Erfassung, Verarbeitung und Ausgabe von (gültigen, fehlerfreien) Daten zu bestimmten, durch das System und seinen Zustand vorgegebenen Zeitpunkten (oder innerhalb bestimmter Zeitintervalle) erfolgen. Das Ergebnis ist nur dann fehlerfrei, wenn es inhaltlich und zeitlich den gestellten Anforderungen entspricht. Echtzeitanforderungen - Harte Anforderungen: verspätete Reaktion einer Komponente führt zum Systemausfall, zu Schadensfällen oder zu Katastrophen. - Weiche Anforderungen: Überschreitungen von Zeitlimits können ausnahmsweise toleriert werden, ohne dass der technische Prozess in gefährliche oder fatale Systemzustände übergeht. Nichteinhaltung von vorgegebenen Reaktionszeiten führt zu ansteigenden Kosten WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 4
5 Hardware Betriebssoftware Anwendungssoftware 4.1 Echtzeitsysteme Komponenten eines Echtzeit-Steuerungssystems Verarbeitungs- und Steuerungsalgorithmen Regel- und Steuerprogramm Anwendung Mensch-Maschine-Schnittstelle (HMI: Human Machine Interface) Bedienung und Visualisierung Programm zur Verwaltung der Rechenprozesse und Betriebmittel in Echtzeit Echtzeit-Betriebssystem, Run-Time-System, Run-Time-Umgebung Prozessperipherie Bus Schnittstelle Hardware Timer WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 5
6 4.1 Echtzeitsysteme Aufgaben des Timer - zyklische Interruptgenerierung zur Realisierung von zeitabhängigen Systemdienste ( Weckrufe ) - Zeitmessung, z.b. zur Ermittlung von Geschwindigkeiten - Watchdog-Funktionen, z.b. zur Zeitüberwachung in kritischen Prozessen - Zeitsteuerung für periodische Dienste, z.b. Messwertübertragung Anforderungen bei Echtzeitprogrammierung - Rechtzeitigkeit: Reaktion zur richtigen Zeit - Gleichzeitigkeit: gleichzeitige Reaktion auf mehrere Dinge - Verlässlichkeit: Zuverlässigkeit, Sicherheit, Verfügbarkeit - Vorhersehbarkeit: Planbarkeit und Determiniertheit aller Reaktionen WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 6
7 4.2 Aufgaben von Echtzeitsystemen Hauptfunktion Steuerung und Überwachung von quasi-parallelen Teilprogrammen bei vorgegebenen Zeitbedingungen unter Berücksichtigung von Nebenbedingungen, wie z.b. der Prozesspriorität Allgemeine Organisationsaufgaben - Laden und Starten von Anwendungsprogrammen - Organisation von Schnittstellen-Operationen (Ein- und Ausgabe, Datentransport) - Speichermanagement - Klassifizierung von Fehlern und Handhabung von Ausnahmezuständen (Neuanlauf nach Stromausfall, Alarmfunktionen usw.) WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 7
8 4.2 Aufgaben von Echtzeitsystemen Koordinierungssaufgaben - Entscheidung der Reihenfolge der Abarbeitung von Teilprogrammen - Gegenseitiger Ausschluss zweier oder mehrerer Tasks, um zu verhindern, dass mehrere Prozesse auf die gleichen Resourcen zugreifen. - Zuordnung der Tasks zu den Prozessoren bei Multiprozessorsystemen - Verwaltung der Systemprozesse - Verwaltung von Interrupts WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 8
9 Steigende Prio. 4.2 Aufgaben von Echtzeitsystemen Verwaltung von Interrupts - Unterbrechung des geplanten Programmablaufs - Anstoß einer Behandlungsroutine - Priorisierung von Interrupts - Hardwarefunktionen für die Interrupt-Behandlung Geplanter Programmablauf (ohne Interrupt): Steuerungsprogramm t Tatsächlicher Programmablauf (mit Interrupt): Interrupt 1 ISR 1 Interrupt Service Routine Steuerungsprogramm Steuerungsprogramm t WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 9
10 4.2 Aufgaben von Echtzeitsystemen Speicherverwaltung - Optimale Ausnutzung der schnellen Speicher - Koordinierung des gemeinsamen Zugriffs auf einen Speicherbereich - Schutz des Speicherbereichs verschiedener Rechenprozesse gegen Fehlzugriffe - Zuweisung von physikalischen Speicheradressen für die logischen Namen in Anwenderprogrammen Ein-/Ausgabesteuerung - Hardwareunabhängige Ebene für die Datenverwaltung und den Datentransport - Hardwareabhängige Ebene, die alle gerätespezifischen Eigenschaften berücksichtigt (Treiber-Programme). WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 10
11 4.2 Aufgaben von Echtzeitsystemen Klassifikation und Behandlung von Fehlern und irregulärer Betriebszustände - fehlerhafte Benutzereingaben - fehlerhafte Anwenderprogramme - Hardwarefehler/-ausfälle Erkennung von Hardwarefehlern bzw. ausfällen Rekonfigurierung ohne die fehlerhaften Teile Abschaltsequenzen bei Stromausfällen - Deadlocks (Verklemmungen) aufgrund dynamischer Konstellationen WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 11
12 Externe Interrupts Rechenprozesscode 4.3 Echtzeitsysteme - Beispiele Übersichtsdiagramm für ein Mini-Betriebssystem Uhrimpulsinterrupt Zeit Aktivierung Suche Interrupt 1 Interrupt 2 Verwaltungsblock Interrupt k Zyklus Zeitzähler Deaktivierung Unterbrechungsverwaltung Zeitverwaltung Taskverwaltung Prozessorverwaltung WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 12
13 4.3 Echtzeitsysteme - Beispiele Aktuelle Beispiele für Echtzeitbetriebssysteme - QNX: kommerzielles Unix-ähnliches Betriebssystem speziell für eingebettete Systeme (Embedded systems); POSIX-konform (Portable operating system interface for Unix) - OS9: relativ stark verbreitet in Steuerungssystemen, ursprünglich für den 8-Bit-Prozessor 6809 von Motorola entwickelt. - VxWorks (wurde bei der Pathfinder-Mission zum Mars eingesetzt) - RTLinux: Erweiterung von Linux für Echtzeitanforderungen - Windows CE: sehr kleines Echtzeitbetriebssystem, das auf vielen Pocket-PCs läuft. WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 13
14 4.3 Echtzeitsysteme - Beispiele Auswahl kommerzieller Echtzeit-Betriebssysteme WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 14
15 4.3 Echtzeitsysteme - Beispiele Auswahl kommerzieller Echtzeit-Betriebssysteme WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 15
16 4.4 Anforderungen an Echtzeitsysteme Nicht-Echtzeit-Datenverarbeitung Eingangsdaten Daten- Verarbeitung Ausgangsdaten Echtzeit-Datenverarbeitung Zeit Zeit Zeit Eingangsdaten Daten- Verarbeitung Ausgangsdaten Automatisierungssystem Zeitabhängige Eingangsdaten Zeitabhängige Ausgangsdaten Technischer Prozess WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 16
17 4.4 Anforderungen an Echtzeitsysteme Forderung nach Rechtzeitigkeit - unterschiedliche Fälle 1 0 t 1 t 2 t 3 t 4 t Ausführung eines Programms zu bestimmten Zeitpunkten t i 1 0 Toleranzbereich t 1 t 2 t Ausführung eines Programms zu bestimmten Zeitpunkten t i unter Zulassung von Toleranzintervallen 1 0 t i t Ausführung eines Programms bis spätestens zu einem bestimmten Zeitpunkt t i 1 0 t i t Ausführung eines Programms frühestens ab einem bestimmten Zeitpunkt t i WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 17
18 4.4 Anforderungen an Echtzeitsysteme Forderung nach Gleichzeitigkeit - Vorgänge in Umwelt laufen gleichzeitig ab gleichzeitige Reaktion der Echtzeit-Systeme erforderlich Gleichzeitige Durchführung von mehreren Datenverarbeitungsaufgaben - Beispiele: Reaktion auf gleichzeitige Fahrt mehrerer Züge Verarbeitung mehrerer gleichzeitig anfallender Messwerte bei einer Heizungsregelung Motorsteuerung und ABS-System gleichzeitig - Realisierung der Gleichzeitigkeit: Ideal: Getrennter Rechner für jede Datenverarbeitungsaufgabe echt parallel Praxis: Einen Rechner führt alle Datenverarbeitungsaufgaben durch. quasi-gleichzeitig / quasi-parallel WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 18
19 4.4 Anforderungen an Echtzeitsysteme Forderung nach Vorhersagbarkeit/Determiniertheit - Determiniertheit: Eindeutige Bestimmbarkeit der Menge von Ausgangsinformationen und des nächsten Zustandes für jeden möglichen Zustand und für jede Menge an Eingangsinformationen Voraussetzung: endliche Menge von Systemzuständen; bei digitalen Rechnersystemen immer gegeben. - Zeitliche Determiniertheit: Antwortzeit für jede Menge von Ausgangsinformationen bekannt! - Determiniertheit als elementar wichtige Eigenschaft für harte Echtzeitsysteme: Voraussetzung für Garantie der Sicherheit bei sicherheitskritischen Systemen Geringste zeitliche Verschiebungen können zu vollkommen unterschiedlichen Abläufen führen. WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 19
20 4.5 Echtzeit-Programmierverfahren Synchrone Programmierung - Prinzip: Planung des zeitlichen Ablaufs vor der Ausführung der Programme - Vorgehensweise: Teilprogramme werden zyklisch abgearbeitet. Zyklischer Ablauf wird mit Hilfe einer Echtzeituhr über ein vorgegebenes Zeitraster synchronisiert. (Zeittriggerung) Reihenfolge der Teilprogramme wird vorher festgelegt. WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 20
21 DAU ADU 4.5 Echtzeit-Programmierverfahren Synchrone Programmierung - Beispiel: Heizungsregelung; Aufgabenstellung Echtzeit- Uhr Bedienterminal u 3 (t) u 2 (t) Automatisierungsrechner REGLER 3 REGLER 2 y 3 (t) y 2 (t) u 1 (t) REGLER 1 y 1 (t) T 3 = T T 3 = 2T T 3 = 5T Teilstrecke 1 Heizkreis Wohnung Teilstrecke 2 Heizkreis Büro Teilstrecke 3 Heizkessel Raumtemperatur Wohnung Vorlauftemperatur Raumtemperatur Büro WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 21
22 4.5 Echtzeit-Programmierverfahren Synchrone Programmierung - Beispiel: Heizungsregelung; Grobentwurf des Steuerungsprogramms Interruptsignale von der Echtzeit-Uhr mit der Zykluszeit T ANFANG Alle T 1 = T REGLER 1 aufrufen Alle T 2 = 2T REGLER 2 aufrufen Alle T 3 = 5T REGLER 3 aufrufen Warteschleife WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 22
23 4.5 Echtzeit-Programmierverfahren Synchrone Programmierung - Beispiel: Heizungsregelung; Feinentwurf des Steuerungsprogramms Im Zeitabstand T aufeinanderfolgende Interruptsignale bewirken Start an dieser Stelle ANFANG Definition der Zählvariablen Z2 und Z3 Z2:=1 Z3:=1 REGLER1 abarbeiten Z2 und Z3 initialisieren Z2:=Z2+1 nein Z2:=2? ja REGLER2 abarbeiten Z2=1 Z3:=Z3+1 nein Z3:=5? ja REGLER3 abarbeiten Z3:=1 Warteschleife WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 23
24 4.5 Echtzeit-Programmierverfahren Synchrone Programmierung - Beispiel: Heizungsregelung; Zeitlicher Ablauf der Teilprogramme ca. 5T 2T T REGLER3 REGLER2 REGLER1 Steuerprogramm 1T 2T 3T 4T 5T 6T 7T 8T 9T 10T 11T t Annahmen: - Rechenzeit für Teilprogramme gleich groß - Summe der Rechenzeiten der drei Teilprogramme kleiner als Zykluszeit WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 24
25 4.5 Echtzeit-Programmierverfahren Synchrone Programmierung - Eigenschaften: Forderung nach Rechtzeitigkeit wird nur näherungsweise erfüllt. Forderung nach Gleichzeitigkeit wird erfüllt, wenn Zykluszeiten der Regelstrecken groß sind gegenüber den Rechenzeiten der Teilprogramme. Synchrone Programmierung ist gut für Echtzeit-Systeme mit zyklischen Programmabläufen. Synchrone Programmierung ist ungeeignet für die Reaktion auf zeitlich nicht vorhersehbare (asynchrone) Ereignisse, z.b. Alarmsignal Brennerstörung im Bespiel der Heizungsregelung. Erhöhung der Rechenzeit durch ständiges Abfragen, Verzögerung der Reaktion Gesamte Programmstruktur muss geändert werden, wenn die Aufgabenstellung geändert wird. Steuerprogramm ist unflexibel. WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 25
26 4.5 Echtzeit-Programmierverfahren Asynchrone Programmierung/Parallelprogrammierung - Prinzip: Organisation des zeitlichen Ablaufs während der Ausführung der Programme - Vorgehensweise: Aufruf der Teilprogramme erfolgt nach Zeitbedingungen und Anforderungen aus dem Prozess. Konfliktsituation wird durch bestimmte Strategie (Scheduling-Strategie) gelöst. - Typische Scheduling-Strategie: Vergabe von Prioritäten Priorität umso höher, je niedriger die Prioritätsnummer WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 26
27 DAU ADU 4.5 Echtzeit-Programmierverfahren Asynchrone Programmierung/Parallelprogrammierung - Beispiel: Heizungsregelung; Aufgabenstellung Echtzeit- Uhr Automatisierungsrechner Bedienterminal u 3 (t) u 2 (t) REGLER 3 REGLER 2 y 3 (t) y 2 (t) u 1 (t) REGLER 1 y 1 (t) Alarm T 3 = T T 3 = 2T T 3 = 5T Teilstrecke 1 Heizkreis Wohnung Teilstrecke 2 Heizkreis Büro Teilstrecke 3 Heizkessel Brenner Brennerstörung Raumtemperatur Wohnung Vorlauftemperatur Raumtemperatur Büro WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 27
28 4.5 Echtzeit-Programmierverfahren Asynchrone Programmierung/Parallelprogrammierung - Beispiel: Heizungsregelung: Zuordnung von Prioritäten Teilprogramm Bezeichner Abtastzeit Prioritätsnummer Priorität Reaktion auf Brennerstörung mit Alarmmeldung Temperatur-Regler 1 für Heizkreis Wohnung ALARM - 1 höchste REGLER1 T 1 = T 2 zweithöchste Temperatur-Regler 2 für Heizkreis Büro REGLER2 T 2 = 2T 3 dritthöchste Temperatur-Regler 3 für Heizkessel REGLER3 T 3 = 5T 4 niedrigste WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 28
29 4.5 Echtzeit-Programmierverfahren Asynchrone Programmierung/Parallelprogrammierung - Beispiel: Heizungsregelung: Zeitlicher Verlauf der Teilprogramme REGLER3 (Priorität 4) REGLER2 (Priorität 3) REGLER1 (Priorität 2) ALARM (Priorität 1) REGLER3 REGLER2 REGLER1 ALARM Betriebssystem WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 29
30 4.5 Echtzeit-Programmierverfahren Asynchrone Programmierung/Parallelprogrammierung - Eigenschaften: Forderung nach Rechtzeitigkeit wird nur näherungsweise erfüllt; Je höher die Priorität ist, desto besser wird die Anforderung erfüllt. Ist-Zeitablauf kann sich gegenüber Soll-Zeitablauf stark verschieben, dass sich Teilprogramme gegenseitig überholen können. Aufeinanderfolge der Teilprogramme ist nicht determiniert; Sie kann durch sporadisch auftretende Ereignisse dynamisch beeinflusst werden. Bei Programmerstellung lässt sich nicht im Voraus angeben, welches Teilprogramm zu welchem Zeitpunkt ablaufen wird. einfache Entwicklung, Komplexität im Verwaltungsprogramm, Programmablauf schwer durchschaubar WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 30
31 4.6 Synchronisierung von Tasks Rechenprozess = Task ein von einem Echtzeit-Betriebssystem gesteuerter Vorgang der Abarbeitung eines sequenziellen Programms Grundzustände von Tasks - ablaufend (running) : Teilprogramm ist in Bearbeitung. - bereit/ablaufwillig (runnable) : alle Zeitbedingungen für den Ablauf sind erfüllt. Es fehlt der Start durch das Betriebssystem. - blockiert (suspended) : Rechenprozess wartet auf den Eintritt eines Ereignisses Wenn das Ereignis eingetreten ist, Übergang aus dem Zustand blockiert in den Zustand bereit. - ruhend (dormant) : Rechenprozess ist nicht ablaufbereit, weil Zeitbedingungen oder sonstige Voraussetzungen nicht erfüllt sind. WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 31
32 4.6 Synchronisierung von Tasks Zustandsdiagramm einer Task Vereinbarung der Task Löschen der Task ruhend Einplanung bereit blockiert Einplanung bedeutet: - die Beauftragung eines Rechenprozesses zyklisch oder zu bestimmten Zeiten laufend - der Übergang vom Zustand ruhend in den Zustand bereit WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 32
33 4.6 Synchronisierung von Tasks Beispiel zum Zustandsverlauf Task REGLER3 bei der Heizungsregelung Task REGLER3 ist: REGLER 1/2 (höhere Prio.) läuft ab. ablaufend (aktiv) blockiert ablaufwillig (bereit) ruhend 0 T 2T 3T 4T 5T 6T 7T t WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 33
34 4.6 Synchronisierung von Tasks Prioritätsvergabe für Tasks - statische Prioritätsvergabe - dynamische Prioritätsvergabe (z.b. durch Verwendung von Deadlines) Zeitparameter einer Task A: Arrival time (Ankunftszeitpunkt) R: Request time (Einplanungszeitpunkt) S: Start time (Startzeit, Zuteilung eines Betriebsmittels) C: Completion time (Beendigungszeitpunkt) D: Deadline (Maximalzeit) E: Execution time (maximale Ausführungsdauer) P: Period time (maximale Antwortzeit) L: Laxity (Spielraum) F(t): Flow time (Antwortzeit) RF(t): Remaining flow time (Restantwortzeit) WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 34
35 4.6 Synchronisierung von Tasks Auftreten der Zeitparameter einer Task Task- zustände Antwortzeit F(t) Restantwortzeit RF(t) laufend blockiert Maximale Antwortzeitdauer P Spielraum L Maximale Ausführungsdauer E E alt (t) E neu (t) A: Arrival time R: Request time S: Start time C: Completion time D: Deadline L: Laxity bereit A R S C E D E E(t) = E alt (t) + E neu (t) ruhend L = D S E A R S C D Betrachtungszeitpunkt t WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 35
36 4.6 Synchronisierung von Tasks Begriffe - Synchronisierung: zeitliche Koordinierung - Zwei Aktionen (Threads) in Tasks heißen parallel, wenn sie gleichzeitig ablaufen können. - Zwei Aktionen heißen sequenziell, wenn sie in einer bestimmten Reihenfolge angeordnet sind. - Zwei Aktionen aus zwei verschiedenen Tasks heißen nebenläufig, wenn sie gleichzeitig ablaufen können (äußere Parallelität). - Zwei Aktionen einer Task heißen simultan, wenn sie gleichzeitig ausgeführt werden können (innere Parallelität). Abhängigkeiten zwischen Tasks - Logische Abhängigkeiten aufgrund der Vorgänge im technischen Prozess - Abhängigkeiten durch die gemeinsame Benutzung von Betriebsmitteln (d.h. Geräten oder Programmen) WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 36
37 4.6 Synchronisierung von Tasks Beispiel zur Abhängigkeit von Tasks - Tasks 1 und 2 benutzen gemeinsam die Betriebsmittel Protokolldrucker und Analog-Eingabe. Task 1: Messwerterfassung Task 2: Prozessüberwachung Analog- Eingabe belegen Treiberprogramm für Protokolldrucker belegen Verklemmung (Deadlock) Betriebsmesswerte einlesen und umrechnen Treiberprogramm für Protokolldrucker belegen Störungsmeldung an Protokolldrucker ausgeben Analog- Eingabe belegen Ausdruck Betriebsmesswerte und Uhrzeit Prozessgrößen einlesen und überwachen WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 37
38 4.6 Synchronisierung von Tasks Logische (aufgaben-/oder prozessorientierte) Synchronisierung - Anpassung des Ablaufs der Rechenprozesse an den Ablauf der Vorgänge im technischen Prozess - Synchronisierung bedeutet: Erfüllung von Anforderungen bezüglich der Reihenfolge von Aktionen Berücksichtigung vorgegebener Zeitpunkte bzw. Zeitabstände Reaktionen auf Unterbrechungsmeldungen aus dem technischen Prozess Betriebsmittelorientierte Synchronisierung Einhaltung von Bedingungen bezüglich der Verwendung gemeinsam benutzter Betriebsmittel (Ressourcen) WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 38
39 4.7 Synchronisierungsverfahren Grundgedanke der Synchronisierung - Rechenprozess muss warten, bis ein bestimmtes Signal bzw. Ereignis eintrifft. - Einfügen von Wartebedingungen an den kritischen Stellen Verfahren - Semaphorkonzept - kritische Regionen - Rendez-Vous-Konzept WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 39
40 4.7 Synchronisierungsverfahren Semaphorkonzept - Synchronisierung von Rechenprozessen durch Signale (nach Dijkstra) - Einführung von zwei Semaphor-Variablen: V(S) und P(S) (positive, ganzzahlige Werte) V(S i ): Verlassen-Operation: S i S i + 1; Task wird fortgesetzt. P(S i ): Passieren-Operation: S i wird abgefragt: S i > 0: S i S i 1; Task wird fortgesetzt. S i = 0: S i bleibt unverändert; Task geht in den Zustand blockiert über. Ein Verlassen dieses Zustandes ist nur möglich, wenn diese Semaphor-Variable S i in einer anderen Task inkrementiert wird. WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 40
41 Fahrtrichtung der Züge 4.7 Synchronisierungsverfahren Semaphorkonzept - Beispiel 1: Zugverkehr über eine eingleisige Strecke Gleismagnet Gleismagnet P(S 1 ) P(S 2 ) Anfangsbedingungen: S 1 = 1 ( grün ) S 2 = 0 ( rot ) Signal S 1 Signal S 2 V(S 2 ) V(S 1 ) Gleismagnet Gleismagnet Ablaufreihenfolge: ABAB WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 41
42 Task A Task B 4.7 Synchronisierungsverfahren Semaphorkonzept - Beispiel 2: Zwei Rechenprozesse A und B sollen stets abwechselnd laufen. S 1 = 1 S 2 = 0 P(S 1 ) S 1 = 0 V(S 2 ) S 2 = 1 P(S 2 ) S 2 = 0 P(S 1 ) S 1 = 0 V(S 1 ) S 1 = 1 Logische Synchronisierung V(S 2 ) S 2 = 1 P(S 2 ) S 2 = 0 t t WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 42
43 4.7 Synchronisierungsverfahren Kommunikation zwischen Tasks Kommunikation: Austausch von Daten zwischen parallel ablaufenden Tasks Möglichkeiten der Datenkommunikation - Direkter Datenaustausch (Rendez-vous) - Gemeinsam benutzter Speicher (Shared memory) gemeinsame Variable gemeinsame komplexe Datenstruktur - Versenden von Nachrichten (Messages) Übertragung von Nachrichten von einem Rechenprozessor zu einem anderen (Message passing) vor allem bei verteilten Systemen Arten der Kommunikation - Synchron: sendende und empfangende Task kommunizieren an einer definierten Stelle im Programmablauf. - Asynchron: Daten werden gepuffert. WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 43
44 4.8 Scheduling-Verfahren Begriffe - Scheduling (Planung): Vergabe des Prozessors an ablaufbereite Rechenprozesse nach einem festgelegten Algorithmus (Scheduling-Verfahren) - Scheduler (Planer): Teil eines Echtzeit-Betriebssystems zur Zuteilung des Prozessors - Schedule (Plan): vom Scheduler erzeugte Ablauf- und Zuteilungsplan Notwendigkeit des Scheduling von Tasks - Tasks benötigen Ressourcen (Prozessor, Ein-/Ausgabegeräte usw.) - Ressourcen sind knapp - Tasks konkurrieren um Ressourcen - Zuteilung der Ressourcen muss verwaltet werden. WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 44
45 4.8 Scheduling-Verfahren Grundsatzfragen zum Scheduling 1. Gibt es für einen Taskset einen ausführbaren Plan (Schedule)? (Schedulability test) 2. Gibt es einen Algorithmus, der einen ausführbaren Schedule findet? 3. Ist der Algorithmus optimal in dem Sinne, dass er immer einen gültigen Schedule findet, wenn dies durch eine Ausführbarkeitstest nachgewiesen wurde? Klassifizierung Scheduling-Verfahren statisch dynamisch Zeitpunkt der Planung preemptiv Nicht-preemptiv preemptiv Nicht-preemptiv Art der Durchführung WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 45
46 4.8 Scheduling-Verfahren Statisches Scheduling Synchrone Programmierung - Planung des zeitlichen Ablaufs der Tasks erfolgt vor der Ausführung (Dispatching table) vorhersehbar, aber unfexibel - Berücksichtigung von Informationen über Taskset, Deadlines, Ausführungszeiten, Reihenfolgebeziehungen, Ressourcen - Dispatcher macht Zuteilung gemäß Dispatching Table - minimaler Laufzeit-Overhead - determiniertes Verhalten Dynamisches Scheduling Asynchrone Programmierung - Organisation des zeitlichen Ablaufs während der Ausführung der Tasks - erheblicher Laufzeit-Overhead durch die Online-Suche nach einem ausführbaren Schedule WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 46
47 4.8 Scheduling-Verfahren Preemptives Scheduling - Laufende Task kann unterbrochen werden. - Höherpriore Task verdrängt niederpriore Task. Nicht-preemptives Scheduling - Laufende Task kann nicht unterbrochen werden. - Prozessorfreigabe erfolgt durch die Task selbst. Wichtigste Scheduling-Verfahren - FIFO-Scheduling (First-in-first-out) - Zeitscheibenverfahren - Scheduling mit festen Prioritäten - Ratenmonotones Scheduling - Verfahren der kleinsten Restantwortzeit - Verfahren des kleinsten Spielraums WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 47
48 4.8 Scheduling-Verfahren FIFO-Scheduling - Nicht-preemptives Scheduling - Task, deren Einplanung am weitesten zurückliegt, bekommt Prozessor. Beispiel: Task A bereit Task B bereit Task C bereit Task D bereit Tasks werden in der Reihenfolge ausgeführt, in der sie ablauffähig werden: t A B C D t Einfache Realisierung, aber ungeeignet für harte Echtzeitsysteme! WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 48
49 4.8 Scheduling-Verfahren Zeitscheibenverfahren (Round-Robin-Verfahren) - Jede Task bekommt einen festgelegten Zeitschlitz, zu der sie den Prozessor bekommt. - Reihenfolge wird statisch festgelegt. - Abarbeitung einer Task Stück für Stück - Verwendung bei Dialogsystemen (Multi-Tasking-Systeme) Beispiel: 4 Tasks mit Zeitdauern: A: 25ms, B: 20ms, C: 30ms, D: 20ms Jeder Zeitschlitz sei 10ms groß. Reihenfolge der zyklischen Abarbeitung: A-B-C-D A B C D A B C D A C t [ms] Ungeeignet für harte Echtzeitsysteme! WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 49
50 4.8 Scheduling-Verfahren Scheduling mit festen Prioritäten - Prioritäten werden statisch vergeben. - Task mit höchster Priorität bekommt Prozessor. - Preemptive und nicht-preemptive Strategie ist möglich. - einfache Implementierung Beispiel: Task Prio. A 1 höchste B 1 Prio. C 2 D 3 E 3 Bei Tasks mit gleicher Priorität: weitere unterlagerte Bedingung nötig. A* B C D E * FIFO-Scheduling: A war zuerst ablauffähig. t Nur bedingt geeignet für harte Echtzeitsysteme! WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 50
51 4.8 Scheduling-Verfahren Ratenmonotones Scheduling (Rate-Monotonic-Verfahren) - Spezialfall des Verfahrens mit festen Prioritäten für zyklische Tasks - Task mit kleinster Zykluszeit (Periode) erhält höchste Priorität. - preemptive Strategie Beispiel: Task A B C D Ausführungsdauer 10 ms 20 ms 10 ms 20 ms Zykluszeit 40 ms 50 ms 80 ms 100 ms Prio Erste geplante Ausführung aller Tasks bei t = 0 ms Danach werden die Tasks zyklisch wiederholt. A1 B1 C1 A2 B2 D1 a A3 C2 B3 A4 D1 b t [ms] Task D wird unterbrochen. Verfahren wird in der Praxis häufig verwendet! WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 51
52 4.8 Scheduling-Verfahren Verfahren der kleinsten Restantwortzeit (Earliest-Deadline-First-Verfahren) - Task mit kleinster Restantwortzeit bekommt Prozessor. - preemptives Vorgehen - hoher Rechenaufwand für das Scheduling - Einhaltung von zeitlichen Anforderungen wird speziell unterstützt. Beispiel: Task Dauer t min t max A B C D E 10 ms 10 ms 30 ms 40 ms 10 ms 0 ms 0 ms 30 ms 50 ms 70 ms 40 ms 30 ms 100 ms 200 ms 90 ms t min : frühester Termin t max : spätester Termin = Deadline B A C D a E D b t [ms] Deadline von B ist früher als von A. Deadline von E ist früher als von D. Unterbrechung WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 52
53 4.8 Scheduling-Verfahren Verfahren des kleinsten Spielraums (Least-Laxity-Verfahren) - Task mit kleinstem Spielraum erhält Prozessor. - Berücksichtigung von Deadlines und Ausführungsdauern - sehr aufwendiges Verfahren Beispiel: Task Dauer Einplanung Deadline Spielraum A B C D E 30 ms 10 ms 30 ms 40 ms 10 ms 0 ms 0 ms 30 ms 50 ms 70 ms 40 ms 30 ms 100 ms 200 ms 90 ms A a B C E D A b t [ms] Am besten geeignet für harte Echtzeitsysteme! WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 53
54 4.8 Scheduling-Verfahren Ausführbarkeitstest (Schedulability Test) Unter einem Schedulability-Test versteht man die Prüfung, ob der zeitliche Ablauf für einen Taskset so geplant werden kann, dass jede Task ihre Deadline einhält. Theorem von Liu und Layland (Teil I) Eine beliebige Menge periodischer Tasks (Deadline = Periodendauer) kann durch das preemptive Earliest-Deadline-First-Verfahren ausgeführt werden, wenn gilt (notwendige und hinreichende Bedingung): n i 1 C T i i 1 mit: n: Anzahl der Tasks C i : Ausführungszeit der Task i T i : Zykluszeit der Task i WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 54
55 4.8 Scheduling-Verfahren Theorem von Liu und Layland (Teil II) Eine beliebige Menge periodischer Tasks (Deadline = Periodendauer) kann durch das Rate-Monotonic-Verfahren ausgeführt werden, wenn gilt (hinreichende Bedingung): n 1 Ci U * n n n n i 1 Ti U U U U * 1 * 2 * 3 * 1,0 2 1, 1,2, 0,828 0,779 ln 2 0,693 mit: U i : Utilization (Prozessorauslastung): U i C T i i WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 55
Roboter- und Automatisierungstechnik
Roboter- und Automatisierungstechnik Teil 4: Grundlagen der Echtzeitprogrammierung Hochschule Bremerhaven SS 2007 Prof. Dr. Oliver Zielinski Inhalt 4.1 Problemstellung 4.2 Echtzeitprogrammierverfahren
4 Echtzeit-Programmierung
4 Echtzeit-Programmierung 4.1 Problemstellung 4.2 Echtzeit-Programmierverfahren 4.3 Rechenprozesse 4.4 Zeitliche Koordinierung von Rechenprozessen 4.5 Kommunikation zwischen Rechenprozessen 4.6 Scheduling-Verfahren
Echtzeitscheduling (1)
Echtzeitscheduling (1) Scheduling in Betriebssystemen Ressourcenausteilung (CPU, Speicher, Kommunikation) Faire Ressourcenvergabe, insbesondere CPU Hohe Interaktivität / kurze Reaktionszeit für interaktive
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
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
5 Echtzeit-Programmierung
Kapitel 5: Echtzeitprogrammierung 5 Echtzeit-Programmierung Lernziele: Wissen, was man unter Echtzeit-Programmierung versteht Die Forderungen bei der Echtzeit-Programmierung kennen Zwischen harter und
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
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
OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme
OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme Wilhelm Haas [email protected] Friedrich-Alexander-Universität Erlangen-Nürnberg Institut für Informatik Lehrstuhl 4
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
3.14 Die Programmieroberfläche Programmierung
121 3.14 Die Programmieroberfläche Programmierung Besonderheiten Die Oberflächen der einzelnen Quellen (3S, KW-Software, Siemens-TIA-Portal, logi.cad 3, PAS4000) sind in sich unterschiedlich. Aber auch
Buddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005
Buddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005 1. Vorwort 1 2. Systemvoraussetzungen 2 3. Programmarten 2 4. Sicherheit der Endnutzer 2 5. Handhabung 3 5.1 allgemeine Programmübersicht 3 5.2
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
3) Realzeitprogrammierung
Inhalte Synchrone Programmierung: Planung des zeitlichen Ablaufs vor der Ausführung der Programme (Planwirtschaft) Asynchrone Programmierung: Organisation des zeitlichen Ablaufs während der Ausführung
Übungen zum Fach Betriebssysteme Kapitel 3
Übungen zum Fach Betriebssysteme Kapitel 3 Prof. Dr. Kern & Prof. Dr. Wienkop Prozessverwaltung 1 Prozeßauslagerung Ein Betriebssystem, das die Zustände "rechnend", "bereit" und "wartend" sowie den künstlichen
AMS Alarm Management System
AMS Alarm Management System AMS ist das Alarm Management System für Mobotix Kamerasysteme. AMS ist speziell für die Verwendung in Einsatzzentralen bei Sicherheitsdiensten oder Werkschutzzentralen vorgesehen.
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
Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?
Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Einleitung 1 2 der nebenläufigen Programmierung WS 2011/12 Stand der Folien: 18. Oktober 2011 1 TIDS
Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,
Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,
Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper
1. Der Prozess beginnt im Zustand Erzeugt, nachdem sein Vaterprozess den Systemaufruf fork() (s.u.) abgesetzt hat. In diesem Zustand wird der Prozess-Kontext initialisiert. 2. Ist diese Aufbauphase abgeschlossen,
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
Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG
Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG Am Pfaffenstein 14 D-55270 Klein-Winternheim Tel. +49 (0) 6136 9948-0 Fax. +49 (0) 6136 9948-10 PikeOS: multiple VM Umgebung VM #0 VM #1 VM #2... PikeOS
OSEK-OS. Oliver Botschkowski. [email protected]. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab
OSEK-OS Oliver Botschkowski [email protected] PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung Motivation Ziele Vorteile Einführung in OSEK-OS Architektur Task Management Interrupt
Man liest sich: POP3/IMAP
Man liest sich: POP3/IMAP Gliederung 1. Einführung 1.1 Allgemeiner Nachrichtenfluss beim Versenden von E-Mails 1.2 Client und Server 1.2.1 Client 1.2.2 Server 2. POP3 2.1 Definition 2.2 Geschichte und
TIMI: Technische Informatik für Medieninformatiker
TIMI: Technische Informatik für Medieninformatiker Bachelor-Studiengang Digitale Medien Medieninformatik SS 2004 Niels Pollem Arbeitsgruppe Rechnernetze (Prof. Dr.-Ing. Ute Bormann) Scheduling:
Lösungsskizzen zur Abschlussklausur Betriebssysteme
Lösungsskizzen zur Abschlussklausur Betriebssysteme 24. Januar 2013 Name: Vorname: Matrikelnummer: Studiengang: Hinweise: Tragen Sie zuerst auf allen Blättern (einschlieÿlich des Deckblattes) Ihren Namen,
Grundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer
Institut für Kommunikationsnetze und Rechnersysteme Grundlagen der Technischen Informatik Paul J. Kühn, Matthias Meyer Übung 2 Sequenzielle Netzwerke Inhaltsübersicht Aufgabe 2.1 Aufgabe 2.2 Prioritäts-Multiplexer
Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in
GRS SIGNUM Product-Lifecycle-Management
GRS SIGNUM Product-Lifecycle-Management Das optionale Modul Product-Lifecycle-Management stellt eine mächtige Ergänzung zum Modul Forschung & Entwicklung dar. Folgende Punkte werden dabei abgedeckt: Definition
Wiederkehrende Buchungen
Wiederkehrende Buchungen Bereich: FIBU - Info für Anwender Nr. 1133 Inhaltsverzeichnis 1. Ziel 2. Vorgehensweise 2.1. Wiederkehrende Buchungen erstellen 2.2. Wiederkehrende Buchungen einlesen 3. Details
Anwenderleitfaden Citrix. Stand Februar 2008
Anwenderleitfaden Citrix Stand Februar 2008 Inhalt 1. Ansprechpartner...3 2. Einführung...4 3. Citrix-Standard-Anwendungen...5 4. Sperrung der Citrix-Session durch falsche Anmeldung...5 5. Unterbrechung
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 =
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
Es kann maximal ein Prozess die Umladestelle benutzen.
SoSe 0 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung (Musterlösung) 0-06-0 bis 0-06-06 Aufgabe : Erzeuger/Verbraucher-Pattern Ein Getränkemarkt hat
OSEK / OSEKtime - ein Vergleich
OSEK / OSEKtime - ein Vergleich Hauptseminar WS 07/08 André Puschmann [email protected] Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Fachgebiet Rechnerarchitektur
Modul 2: Automatisierung des Posteingangs - Regel- und Abwesenheits-Assistent
Outlook 2003 - Aufbaukurs 19 Modul 2: Automatisierung des Posteingangs - Regel- und Abwesenheits-Assistent Wie kann ich die Bearbeitung von Nachrichten automatisieren? Wie kann ich Nachrichten automatisch
Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg
Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene Andi Drebes Fachbereich Informatik Universität Hamburg Gliederung Notwendigkeit des Schedulings Einführung: Begriff des Multitaskings
AdmiCash-Wiederherstellung auf einem neuen PC oder Betriebssystem
AdmiCash-Wiederherstellung auf einem neuen PC oder Betriebssystem Sobald Sie vor dem Wechsel Ihres Betriebssystems oder Computers stehen, stellt sich die Frage, wie Ihre AdmiCash - Installation mit allen
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
Installationshinweise BEFU 2014
Installationshinweise BEFU 2014 Allgemeines BEFU 2014 läuft unter dem Betriebssystem Windows XP, Vista, 7, 8. Für BEFU 2014 wird als Entwicklungsumgebung Access (32-Bit) verwendet. Es werden zum Download
Effiziente Ankopplung eines zeitgesteuerten Feldbusses an ein Echtzeitbetriebssystem
Effiziente Ankopplung eines zeitgesteuerten Feldbusses an ein Echtzeitbetriebssystem Björn Pietsch Universität Hannover Amos Albert Robert Bosch GmbH 1 Gliederung Zeitgesteuerte Bussysteme Bisherige Lösungen
Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
Online-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße 94 69151 Neckargemünd
Online-Prüfungs-ABC ABC Vertriebsberatung GmbH Bahnhofstraße 94 69151 Neckargemünd Telefon Support: 0 62 23 / 86 55 55 Telefon Vertrieb: 0 62 23 / 86 55 00 Fax: 0 62 23 / 80 55 45 (c) 2003 ABC Vertriebsberatung
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)
Motivation. Motivation
Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2012 Universität Duisburg-Essen Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten
TISIS - Industrie 4.0. Ereignis, Ort, Datum
- Industrie 4.0 Ereignis, Ort, Datum TISIS Software Die vollständige Maschinen- Software wird als Option für die gesamte Tornos Produktpalette angeboten Sie ermöglicht es Ihnen, Ihre Maschine zu programmieren
Systeme 1. Kapitel 10. Virtualisierung
Systeme 1 Kapitel 10 Virtualisierung Virtualisierung Virtualisierung: Definition: Der Begriff Virtualisierung beschreibt eine Abstraktion von Computerhardware hin zu einer virtuellen Maschine. Tatsächlich
1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:
Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:
Kurzanleitung MAN E-Learning (WBT)
Kurzanleitung MAN E-Learning (WBT) Um Ihr gebuchtes E-Learning zu bearbeiten, starten Sie bitte das MAN Online- Buchungssystem (ICPM / Seminaris) unter dem Link www.man-academy.eu Klicken Sie dann auf
Orderarten im Wertpapierhandel
Orderarten im Wertpapierhandel Varianten bei einer Wertpapierkauforder 1. Billigst Sie möchten Ihre Order so schnell wie möglich durchführen. Damit kaufen Sie das Wertpapier zum nächstmöglichen Kurs. Kurs
2 DAS BETRIEBSSYSTEM. 2.1 Wozu dient das Betriebssystem. 2.2 Die Bildschirmoberfläche (Desktop) Themen in diesem Kapitel: Das Betriebssystem
2 DAS BETRIEBSSYSTEM Themen in diesem Kapitel: Das Betriebssystem Die Windows-Oberfläche Elemente eines Fensters 2.1 Wozu dient das Betriebssystem Das Betriebssystem (engl.: operating system, kurz: OS)
RTEMS- Echtzeitbetriebssystem
RTEMS- Echtzeitbetriebssystem Name: Hussein Hammoud Matrikel- Nr.: 230768 Studiengang: Technische Informatik Fach: Projekt Eingebettete Kommunikation Technische Universität Berlin Sommersemester 2006 RTEMS-
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...
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
Powermanager Server- Client- Installation
Client A Server Client B Die Server- Client- Funktion ermöglicht es ein zentrales Powermanager Projekt von verschiedenen Client Rechnern aus zu bedienen. 1.0 Benötigte Voraussetzungen 1.1 Sowohl am Server
Installationsanleitung. Hardlock Internal PCI Hardlock Server Internal PCI
Installationsanleitung Hardlock Internal PCI Hardlock Server Internal PCI Aladdin Knowledge Systems 2001 Aladdin Document : Hardlock Internal PCI Guide D Hl-mn (10/2001) 1.1-00851 Revision: 1.1 Stand:
Aufbau eines Echtzeit-Betriebssystems für Embedded Systems
Aufbau eines Echtzeit-Betriebssystems für Embedded Systems I. Begriffsdefinition II. Anforderungen III. Struktur und Komponenten Dr.-Ing. Ludwig Eckert, Seite 1 I. Begriffsdefinition: Embedded System Bsp.:
Das Persönliche Budget in verständlicher Sprache
Das Persönliche Budget in verständlicher Sprache Das Persönliche Budget mehr Selbstbestimmung, mehr Selbstständigkeit, mehr Selbstbewusstsein! Dieser Text soll den behinderten Menschen in Westfalen-Lippe,
Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung
Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Wintersemester 2009/10 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. K. Spies, Dr. M. Spichkova, L. Heinemann, P.
Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler
Übungen zur Vorlesung Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungsblatt 4 Lösungshilfe. Aufgabe 1. Zustandsdiagramm (8 Punkte) Geben Sie ein Zustandsdiagramm für
5) Realzeitscheduling
Inhalte Anforderungen Klassifizierungen Verschiedene Verfahren: FIFO, Round Robin, Least Laxity, EDF, fixed/dyn. Prio. Beispiele und Aufgaben Seite 1 Motivation Gegeben: Ein Einprozessorsystem, das Multiprogrammierung
Easy-Monitoring Universelle Sensor Kommunikations und Monitoring Plattform
Easy-Monitoring Universelle Sensor Kommunikations und Monitoring Plattform Eberhard Baur Informatik Schützenstraße 24 78315 Radolfzell Germany Tel. +49 (0)7732 9459330 Fax. +49 (0)7732 9459332 Email: [email protected]
Workshop: Eigenes Image ohne VMware-Programme erstellen
Workshop: Eigenes Image ohne VMware-Programme erstellen Normalerweise sind zum Erstellen neuer, kompatibler Images VMware-Programme wie die Workstation, der ESX-Server oder VMware ACE notwendig. Die Community
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
Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
Übungen zur Softwaretechnik
Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se
Einrichtung des Cisco VPN Clients (IPSEC) in Windows7
Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über
Local Control Network
Netzspannungsüberwachung (Stromausfallerkennung) Die Aufgabe Nach einem Stromausfall soll der Status von Aktoren oder Funktionen wieder so hergestellt werden, wie er vor dem Stromausfall war. Die Netzspannungsüberwachung
Software-Engineering SS03. Zustandsautomat
Zustandsautomat Definition: Ein endlicher Automat oder Zustandsautomat besteht aus einer endlichen Zahl von internen Konfigurationen - Zustände genannt. Der Zustand eines Systems beinhaltet implizit die
Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.
Agenda für heute, 4. Mai, 2006 Programmierparadigmen Imperative Programmiersprachen In Prozeduren zusammengefasste, sequentiell ausgeführte Anweisungen Die Prozeduren werden ausgeführt, wenn sie als Teil
SDD System Design Document
SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen
Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten
Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.
Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2
Kurzanleitung zur Softwareverteilung von Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2 I. BitDefender Management Agenten Verteilung...2 1.1. Allgemeine Bedingungen:... 2 1.2. Erste
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)
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]
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.
Handbucherweiterung Zuschlag
Handbucherweiterung Zuschlag Inhalt 1. Allgemeines S. 1 2. Installation S. 1 3. Erweiterungen bei den Zeitplänen S. 1 4. Erweiterung der Baumstruktur S. 2 5. Erweiterung im Personalstamm S. 2 6. Erweiterung
FrontDoor/Monitor mehr sehen von FrontDoor
FrontDoor/Monitor mehr sehen von FrontDoor BYTEBAR.EU NEHMEN SIE SICH MEHR HERAUS Haben Sie schon einmal mit Ihrem Laptop direkt den Massenspeicher ausgelesen? FrontDoor/Monitor macht dies noch angenehmer.
Anleitung zur Nutzung des SharePort Utility
Anleitung zur Nutzung des SharePort Utility Um die am USB Port des Routers angeschlossenen Geräte wie Drucker, Speicherstick oder Festplatte am Rechner zu nutzen, muss das SharePort Utility auf jedem Rechner
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
T est of 1GBit/s Fiber optical communication interfaces based on FlexRIO R Series
T est of 1GBit/s Fiber optical communication interfaces based on FlexRIO R Series Inhalt 1. Einführung... 2 2. Anforderungen... 2 3. Komponenten... 3 3.1. PXI 7952R... 3 3.2. Fiber Optical Interface Module
Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen
Seite 8 A UFGABE 11 INTERP ROZEßKOMMUNIKATION Das folgende Petrinetz zeigt zwei verkoppelte Prozesse P1 und P2. Die Transitionen a und b beschreiben Aktionen von P1, die Transitionen c und d Aktionen von
TTS - TinyTimeSystem. Unterrichtsprojekt BIBI
TTS - TinyTimeSystem Unterrichtsprojekt BIBI Mathias Metzler, Philipp Winder, Viktor Sohm 28.01.2008 TinyTimeSystem Inhaltsverzeichnis Problemstellung... 2 Lösungsvorschlag... 2 Punkte die unser Tool erfüllen
Tipps und Tricks zur Installation von Java-basierten Programmen auf Handys
Tipps und Tricks zur Installation von Java-basierten Programmen auf Handys VORLÄUFIG Inhaltsverzeichnis 1.0 Allgemein...3 1.1 Voraussetzungen für die MODESCO BT-HandeySec Programme...3 2.0 Installation...3
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
Fragen zur GridVis MSSQL-Server
Fragen zur GridVis MSSQL-Server Frage Anmerkung 1.0 Server allgemein 1.1 Welche Sprache benötigt die Software bzgl. Betriebssystem/SQL Server (deutsch/englisch)? 1.2 Welche MS SQL Server-Edition wird mindestens
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
Kommunikations-Management
Tutorial: Wie kann ich E-Mails schreiben? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory E-Mails schreiben können. In myfactory können Sie jederzeit schnell und einfach E-Mails verfassen egal
Projekte Packen, Kopieren und Versenden
Projekte Packen, Kopieren und Versenden In diesem Hotline Tipp wird erklärt, wie Sie Projekte oder Positionen Packen, Verschieben oder als Anhang einer E-Mail Versenden. Ausgeführt werden diese Befehle
Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)
Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10 Technische Informationen (White Paper) Inhaltsverzeichnis 1. Über dieses Dokument... 3 2. Überblick... 3 3. Upgrade Verfahren... 4
Betriebssystembau (BSB)
Betriebssystembau (BSB) 6. Übung http://ess.cs.tu-.de/de/teaching/ws2013/bsb/ Olaf Spinczyk [email protected] http://ess.cs.tu-.de/~os AG Eingebettete System Informatik 12, TU Dortmund Agenda Vorstellung
JetSym. Programmierung in Hochsprache ST nach IEC-61131-3. We automate your success.
JetSym Programmierung in Hochsprache ST nach IEC-61131-3 We automate your success. JetSym das Tool JetSym ist das zentrale Programmiertool der Jetter AG, das alle Funktionen der Automatisierungstechnik
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
Computeria Urdorf. Treff vom 28. März 2012. Tipps und Tricks
Computeria Urdorf Treff vom 28. März 2012 Tipps und Tricks Desktop-Hintergrund Der Desktop-Hintergrund lässt sich über die Systemsteuerung individuell einstellen: Darstellung und Anpassung Desktophintergrund
E-Mail Adressen der BA Leipzig
E-Mail Adressen der BA Jeder Student der BA bekommt mit Beginn des Studiums eine E-Mail Adresse zugeteilt. Diese wird zur internen Kommunikation im Kurs, von der Akademie und deren Dozenten zur Verteilung
OLXTeamOutlook 1.5 für Outlook 2003, 2002/XP, 2000 und 97/98
OLXTeamOutlook 1.5 für Outlook 2003, 2002/XP, 2000 und 97/98 Neue Version: Outlook-Termine, Kontakte, Mails usw. ohne Exchange-Server auf mehreren Rechnern nutzen! Mit der neuesten Generation intelligenter
Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt
Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt AMPEL-Steuerung(en) Die Beschreibung und Programmierung der Ampel (vor allem Ampel_5) können sehr kompliziert
Windows Server 2008 (R2): Anwendungsplattform
Mag. Christian Zahler, Stand: August 2011 13 14 Mag. Christian Zahler, Stand: August 2011 Mag. Christian Zahler, Stand: August 2011 15 1.5.2 Remotedesktop-Webverbindung Windows Server 2008 (R2): Anwendungsplattform
