Herunterladen Inhalt Inhalt Diese Seite drucken

Eigenschaften Von Tasks - Siemens Rmos3 Bedienungsanleitung

Echtzeit-betriebssystem rmos3 rmos3 v3.50 benutzerhandbuch
Inhaltsverzeichnis
Betriebssystem-Eigenschaften von RMOS3
8.2 Multiprocessing unter RMOS3
8.2.2

Eigenschaften von Tasks

Was ist eine Task?
Spricht man von Tasks, dann kann es sich dabei um Anwendertasks, Diensttasks oder auch
Systemprozesse zur Bearbeitung von E/A-Anforderungen handeln. Das Umschalten
zwischen den unterschiedlichen Tasks geschieht meistens unabhängig (asynchron) von der
gerade laufenden Task, ausgelöst durch ein Ereignis in Form eines Interrupts. Jede Task
besitzt
● einen oder mehrere Codebereiche (-segmente)
● keinen, einen oder mehrere Datenbereiche (-segmente)
● einen Stackbereich (-segment)
Der Codebereich einer Task besteht aus Funktionen, Prozeduren und Konstanten, die in
einer Hochsprache oder Assembler geschrieben sind.
Bei RMOS3 bedeuten Tasks und Prozesse den gleichen Sachverhalt (bei anderen
Betriebssystemen können mit Tasks betriebssysteminterne Prozesse gemeint sein, die
beispielsweise Treiberfunktionen abarbeiten, während Anwenderprogramme durch Prozesse
realisiert sind).
Betriebssysteminterne Prozesse werden bei RMOS3 als System-Prozesse oder Programme,
die im S-Zustand laufen (z.B. bestimmte Programmteile von Treibern), bezeichnet.
Verwaltung von Tasks
Alle Tasks (Prozesse, Programme) mit Ausnahme der Systemprozesse werden vom
RMOS3-Nukleus in zwei Tabellen verwaltet, damit ein korrekter nebenläufiger Ablauf aller
Tasks möglich ist. RMOS3 legt dazu zwei Datenstrukturen für jede einzelne Task an. Diese
Datenstrukturen werden als Prozessleitblöcke (TCD (task control data), TCB (task control
block)) bezeichnet und enthalten für jede Task die Startbedingungen als Konstanten und die
variablen Daten für die Wiederaufnahme der Bearbeitung nach einer Unterbrechung.
Folgende Konstanten zum Starten einer Task durch den Nukleus sind unter anderen im TCD
festgehalten:
● Startadresse der Task
● Adresse des Stackbeginn ("top of stack")
● Priorität beim Start der Task
Folgende Variablen werden unter anderen im TCB gehalten:
● Aktueller Registersatz, wenn die Task verdrängt wurde
● Aktuelle Priorität
Der genaue Aufbau von TCD und TCB kann in der Datei RMTYPES.H im RMOS3-
Verzeichnis INC nachgelesen werden.
76
RMOS3 V3.50 Benutzerhandbuch
Bedienhandbuch, 07/2012, A5E03692290-01
Inhaltsverzeichnis
loading

Inhaltsverzeichnis