Kanis GmbH Logo Ing. Büro W. Kanis GmbH, D-82327 Tutzing

Echtzeitsysteme in der Praxis

Homepage | Kontakt | Impressum | Service | Produktübersicht | Suche

Praktischer Einsatz von
Echtzeitbetriebssystemen

von Werner Bals

Bals Logo
=> allgemeine Infos zu diesem Buch
 Inhaltsverzeichnis
Echtzeitsysteme in der Praxis W.Bals
Inhaltsverzeichnis
Vorwort....................................................................................................................................................................2
Vorwort und Warnungen .....................................................................................................................................3
Preface and Warnings ..........................................................................................................................................3
Inhaltsverzeichnis ....................................................................................................................................................4
Abbildungsverzeichnis.............................................................................................................................................8
Begriffsbestimmungen.............................................................................................................................................9
Allgemeines Echtzeitsysteme.................................................................................................................................10
Inhalt des Kapitels..............................................................................................................................................10
Betriebssysteme .................................................................................................................................................11
Aufgaben Echtzeitbetriebssysstem.....................................................................................................................12
Schnittstellenverwaltung................................................................................................................................12
Prozessschnittstelle ........................................................................................................................................12
Echtzeitverarbeitung / Reaktion auf Ereignisse .............................................................................................13
Realzeitbetrieb nach DIN...............................................................................................................................13
Hardware............................................................................................................................................................14
Schnittstellen / Sensoren ................................................................................................................................14
Schnittstellen / Aktoren..................................................................................................................................14
Ein/Ausgabe...................................................................................................................................................14
Bus-Schnittstellen ..........................................................................................................................................15
Prozessor ........................................................................................................................................................15
Interrupts ........................................................................................................................................................15
Software .............................................................................................................................................................16
Benutzeroberfläche ........................................................................................................................................16
Echtzeitsoftwaredesign in der Praxis .....................................................................................................................17
Inhalt des Kapitels..............................................................................................................................................17
Zeitverhalten ......................................................................................................................................................18
Echtzeit-Prozesssystem..................................................................................................................................18
Interrupt .........................................................................................................................................................18
Ablaufdarstellung allgemein: .........................................................................................................................19
Prozessablauf .................................................................................................................................................20
Rechnerische Erfassung des Echtzeitverhaltens: ...........................................................................................22
Faustregel zur Vergabe der Prioritäten ..........................................................................................................23
Beispiel: Überprüfung der Echtzeitfähigkeit: ................................................................................................24
Gesamtprozessmodell ........................................................................................................................................25
Prozesskommunikation ......................................................................................................................................26
Strukturierung der Aufgabe ...............................................................................................................................27
Gesamtstruktur mit Systemtask......................................................................................................................27
Gesamtstruktur mit Prioritäten .......................................................................................................................28
Hilsmittel zur Softwareentwicklung ..................................................................................................................29
Echtzeitsoftware unter OS-9 ..................................................................................................................................30
Inhalt des Kapitels..............................................................................................................................................30
Kurzübersicht OS-9 und Microware..................................................................................................................31
Microware......................................................................................................................................................31
OS-9...............................................................................................................................................................31
Hardware Anforderungen ..............................................................................................................................32
Software Anforderungen................................................................................................................................32
Entwicklungsumgebung für Windows...........................................................................................................33
Entwicklungsumgebung für UNIX ................................................................................................................33
Allgemein OS-9 als Echtzeitbetriebssystem ......................................................................................................34
C-Programm unter OS-9 als Echtzeittask ..........................................................................................................34
Multitasking .......................................................................................................................................................35
Multiuser / Timesharing.....................................................................................................................................36
Modulare Software.............................................................................................................................................37
OS-9-Modul-Typen........................................................................................................................................37
Beispiel Befehl „ident“ ..................................................................................................................................38
Beispiel Befehl „mdir“...................................................................................................................................39
Beispiel modul kernel ....................................................................................................................................41
Modul-Aufbau OS-9-68K..............................................................................................................................42
Modul-Adressaufbau für OS-9-68K ..............................................................................................................43
Modul-Aufbau OS-9-Power-PC ....................................................................................................................44
Modul-Adressaufbau für OS-9-Power-PC.....................................................................................................46
Struktur OS-9.....................................................................................................................................................47
Allgemeines ...................................................................................................................................................47
Aufbau Betriebssystem ..................................................................................................................................47
Unterschied zu MSDOS / WINDOWS..........................................................................................................48
Kernel.............................................................................................................................................................48
I/O-Manager...................................................................................................................................................49
Aufbau Dateisystem auf dem Zielsystem.......................................................................................................50
Aufbau MWOS-Dateisystem .........................................................................................................................52
Aufbau Dateisystem auf dem Crossentwicklungssystem...............................................................................53
Speicherverwaltung............................................................................................................................................54
Systemstart / Speichersuche...........................................................................................................................54
Speicher / Verwaltung unter OS-9 .................................................................................................................54
Speicherarten..................................................................................................................................................55
Zugang zum Speicher / Speicherschutz .........................................................................................................56
Speicherblockaufbau......................................................................................................................................56
Speicherblock Festlegung ..............................................................................................................................57
Cache-Benutzung...........................................................................................................................................58
Prozessverwaltung .................................................................................................................................................59
Inhalt des Kapitels..............................................................................................................................................59
Prozeßverwaltung allgemein..............................................................................................................................59
Allgemeiner Prozessablauf: ...........................................................................................................................59
Prozessor-Zuteilungsstrategie ........................................................................................................................61
statisches Scheduling .....................................................................................................................................62
dynamische Scheduling - Algorithmen..........................................................................................................62
Zusammenfassung:.........................................................................................................................................62
OS-9-Prozesse und Prioritäten .......................................................................................................................62
OS-9- Timesharing-System............................................................................................................................63
Prozessverwaltung OS-9....................................................................................................................................64
Echtzeit-Betrieb unter OS-9...........................................................................................................................64
Prozesserzeugung unter OS-9 ........................................................................................................................64
Prozesszustände unter OS-9...........................................................................................................................66
Prozesszustandswechsel.................................................................................................................................67
Prozessbeschreibung ......................................................................................................................................70
Echtzeit-Software-Entwurf ............................................................................................................................71
Zeitmessung ...................................................................................................................................................72
Threads:..........................................................................................................................................................73
Systemfunktionen: .............................................................................................................................................74
Eigenschaften / Eigenheiten Systemaufrufe in Echtzeitbetriebssystemen: ....................................................74
Systemaufrufe unter OS-9 / OS9000: ............................................................................................................75
Beispielaufruf I$Close in Assembler in OS-9-68K: ......................................................................................75
Beispielablauf I$Write ...................................................................................................................................76
Liste der Systemfunktionen ...........................................................................................................................77
Prozesskommunikation ..........................................................................................................................................80
Inhalt des Kapitels..............................................................................................................................................80
Prozesskommunikation allgemein .....................................................................................................................81
Verbindung Echtzeitereignisse <-> Tasks .........................................................................................................82
Polling ............................................................................................................................................................82
Interrupts ........................................................................................................................................................82
Problem Prioitäten..........................................................................................................................................83
Ereignisquellen: .............................................................................................................................................84
Ereignisempfänger .........................................................................................................................................84
Beispiele für die Auslösung eines Unterbrechungssignals: ...........................................................................84
Verbindung Tasks <-> Tasks.............................................................................................................................84
Übersicht allgemein ...........................................................................................................................................84
Prozesskommunikation OS-9.............................................................................................................................85
Signale ...............................................................................................................................................................86
Signale unter OS-9.........................................................................................................................................86
Signalnummern unter OS-9 ...........................................................................................................................86
Versenden von Signalen unter OS-9..............................................................................................................87
Betriebssystemaufrufe....................................................................................................................................87
Interceptroutine ..................................................................................................................................................88
Bild Signalverlauf: .........................................................................................................................................88
Beispiel Interceptroutine ................................................................................................................................89
Maskieren von Signalen.................................................................................................................................90
Problem globale Variable / Echzeit................................................................................................................92
Daten-Module ....................................................................................................................................................93
Betriebssystemaufrufe....................................................................................................................................93
Erzeugen von Datenmodulen .........................................................................................................................94
Linken auf ein Datenmodul............................................................................................................................95
Pipes...................................................................................................................................................................96
unnamed pipes ...............................................................................................................................................96
name pipes .....................................................................................................................................................97
Shell-Beispiel:................................................................................................................................................97
Shell Beispiel: ................................................................................................................................................97
C-Beispiel: .....................................................................................................................................................98
Events...............................................................................................................................................................100
Event-Aufbau...............................................................................................................................................100
Event-Benutzung..........................................................................................................................................101
Event-Benutzung, Wait, Signal....................................................................................................................101
Beispielprogramm Erzeugen event ..............................................................................................................102
Beispielprogramm Linken auf einen event ..................................................................................................103
Semaphoren......................................................................................................................................................104
Realisieren von Semaphoren mittels OS-9-Events ......................................................................................104
Struktur unter OS-9......................................................................................................................................104
Beispielprogramm........................................................................................................................................104
Verwendung eines Events in 68K-Assembler..............................................................................................105
Signale während Events...................................................................................................................................107
Signal währen Event-Wait ...........................................................................................................................107
Signal währen Event-Wait ...........................................................................................................................107
Alarme..............................................................................................................................................................108
Alarm-Einteilung .........................................................................................................................................108
Alarm-Benutzung.........................................................................................................................................108
C-Beispiel Alarm-Benutzung.......................................................................................................................109
Message-Passing ..............................................................................................................................................110
Zusammenfassung............................................................................................................................................111
Vergleichstabelle Prozesskommunikation: ..................................................................................................113
Ein/-Ausgabe unter OS-9.....................................................................................................................................114
Inhalt des Kapitels............................................................................................................................................114
Interaktion HW <-> TASK ..............................................................................................................................115
Interaktion HW <-> TASK unter OS-9/OS9000 .............................................................................................115
Aufbau Desriptor .............................................................................................................................................116
Aufbau SCF-Treiber OS-9-68K.......................................................................................................................117
Aufbau SCF-Treiber OS-9-PPC ......................................................................................................................118
System-Layout für Treiber-Aufrufe.................................................................................................................119
Schnittstellenübersicht unter OS-9...................................................................................................................120
Interrupts..........................................................................................................................................................121
Interrupts 680xx ...........................................................................................................................................121
Interrupts PPC..............................................................................................................................................121
Interrupts OS-9.............................................................................................................................................122
Ablauf Interrupt <-> Userprogramm................................................................................................................123
System-Layout für IRQ-Service Routine.........................................................................................................124
Typische Zeiten unter OS-9 68K .....................................................................................................................125
Interrupt response time Prozessoren ............................................................................................................125
Intervalle im Echtzeitbetriebssystem ...........................................................................................................125
OS-9 Treiber Anwendung in Assembler..........................................................................................................126
Listing Treiber .................................................................................................................................................127
Aufbau Filemanager.........................................................................................................................................136
Listings OS-9 und OS9000 ..................................................................................................................................137
Inhalt des Kapitels............................................................................................................................................137
Listings Systemmodule OS-9...........................................................................................................................137
include files ..................................................................................................................................................137
header files ...................................................................................................................................................139
Assembler files.............................................................................................................................................151
Listings Systemmodule OS9000......................................................................................................................166
include files ..................................................................................................................................................166
Anhang.................................................................................................................................................................173
C-Compiler Bibliothek.........................................................................................................................................174
Globale Variablen für Programme...................................................................................................................174
Bibliotheken.....................................................................................................................................................174
Klassifizierung nach Header files ....................................................................................................................175
alarm.h .........................................................................................................................................................175
events.h ........................................................................................................................................................175
module.h.......................................................................................................................................................175
process.h ......................................................................................................................................................175
signal.h .........................................................................................................................................................176
time.h ...........................................................................................................................................................176
stdlib.h..........................................................................................................................................................176
sysglob.h ......................................................................................................................................................176
Klassifizierung nach Funktionen .....................................................................................................................177
input/output functions ..................................................................................................................................177
interprocess communication functions.........................................................................................................177
OS-9-System Funktionen.............................................................................................................................178
Process manipulation Funktionen ................................................................................................................178
Zeit Funktionen............................................................................................................................................178
Funktionen alphabetisch ..................................................................................................................................179
Echtzeit-Softwarebeispiel auf Basis eines OS-9 Systemes ..............................................................................190
Aufgabe........................................................................................................................................................190
Sysgo:...........................................................................................................................................................191
Index ................................................................................................................................................................196
Literaturhinweise .............................................................................................................................................197

zum Seitenanfang