Solaris 8 オペレーティング環境の概要

リアルタイムシステムの拡張

この節では、Solaris 8 オペレーティング環境の新規機能のうち、リアルタイムプロセスに関連する機能について説明します。

高精度のタイマー

高精度のタイマー (HRT) は、これまでの 100 ミリ秒単位のクロックインタフェースではなく、ハードウェアからの物理クロック割り込みの精度を使用するようになります。HRT インタフェースによって、リアルタイムプロセスは (マルチプロセッサシステムの) 1 つのプロセッサを制御し、タイミングイベントに求められる任意の精度で動作できます。

高精度のタイマーは、従来のリアルタイムアプリケーションが Solaris で動作する上で欠くことのできない要素です。

詳細は、『システムインタフェース』を参照してください。

ユーザーレベル優先順位の継承

リアルタイム (RT) アプリケーションは、リアルタイムスケジューリングクラス内で一度に複数のスレッドを実行できます。たとえば、優先度の低い RT スレッドが相互排除ロックを取得後、優先度の高い RT スレッドがそのロックを要求できます。この場合、優先度の高いスレッドは、優先度の低いスレッドが相互排除ロックの処理を終えてロックを解放するのを待つ必要があります。この状態を「優先順位の逆転」と言います。

RT スレッド機能は、優先度の低いスレッドがロックを解放するまで、優先順位の高いスレッドが優先度の低いスレッドにその優先順位を「貸し与える」ことを許可する POSIX インタフェースを実装しています。このインタフェースは、以前のリリースではダミー化されていました。

優先順位の継承または優先順位の上限ロックを使用する RT スレッドは、PTHREAD_SCOPE_SYSTEM スケジューリングスコープ (または結合スレッド) を使用する必要があります。非結合スレッドは PTHREAD_SCOPE_PROCESS スケジューリングを使用しており、リアルタイムアプリケーションには不向きです。

詳細は、『マルチスレッドのプログラミング』を参照してください。