In diesem Abschnitt sind neue Funktionen von Solaris 8 beschrieben, die sich auf Echtzeitprozesse beziehen.
Hochauflösende Zeitgeber (High Resolution Timer, HRT) umgehen die herkömmliche Taktgeber-Schnittstelle von 100 Millisekunden und geben die Granularität des physikalischen Taktgeber-Interrupts von der Hardware frei. Dadurch kann ein Echtzeitprozeß über die HRT-Schnittstelle einen einzelnen Prozessor (eines Mehrprozessor-Systems) steuern und mit der jeweils erforderlichen Genauigkeit für Zeitgeber-Ereignisse arbeiten.
Damit sind nun alle Voraussetzungen geschaffen, damit herkömmliche Echtzeit-Anwendungen in Solaris ausgeführt werden können.
Weitere Informationen finden Sie im System Interface Guide.
Echtzeit-Anwendungen können zu einem gegebenen Zeitpunkt mehrere Threads in einer Echtzeit- (RT-)Planungsklasse ausführen. Ein RT-Thread mit niedriger Priorität kann dabei eine Sperre mit gegenseitigem Ausschluß setzen, die später von einem RT-Thread mit höherer Priorität benötigt wird. Dieser Thread mit höherer Priorität muß dann warten, bis der Thread mit geringerer Priorität die mutex-Sperre beendet und freigibt. Diese Bedingung wird als ,,Prioritätsumkehrung" bezeichnet.
Die Funktion für RT-Threads implementiert die POSIX-Schnittstellen (die zuvor nur als Dummies verfügbar waren), über die der Thread höherer Priorität seine Prioritätsstufe an einen Thread mit niedrigerer Priorität ,,ausleihen" kann, bis er diese Sperre aufhebt.
RT-Threads, die Prioritätsvererbung oder Sperren mit Prioritätsgrenze verwenden, sollten das Planschema PTHREAD_SCOPE_SYSTEM (oder gebundene Threads) verwenden. Ungebundene Threads verwenden die PTHREAD_SCOPE_PROCESS-Planung und eignen sich nicht für die Anforderungen von Echtzeitanwendungen.
Weitere Informationen finden sie im Multithreaded Programming Guide.