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 |