RedHawk Linux(レッドホーク・リナックス)は、米国に本社を置くコンカレント・コンピュータ (Concurrent Computer) が、Red Hat Enterprise Linux (RHEL) のカーネルをリアルタイムLinuxカーネルに置き換えて開発した、x86系リアルタイム版のRed Hat系 Linuxである。Red Hat MRG とは異なる。バージョン1.1は2002年9月30日リリースされた。
2017/5にコンカレント・コンピュータは、RedHawk Linux を含むリアルタイム事業をBattery Venturesに売却し、リアルタイム事業は、Concurrent Real Time Incが継続した。 カーネルを置き換え、リアルタイムライブラリを追加している部分がRHELと異なる。 また、RedHawk Linuxでは、上流ストリームのカーネルとRedHawkカーネルをGRUBで選択起動できる。 カーネルに対するすべてのリアルタイムパッチは、DVDによってソースコードで供給されており、上流ストリームとのバージョン関係は以下の通りである。 リアルタイムパッチは、コンカレント・コンピュータの判断によって独自パッチとその他のパッチを組み合わせており、FBSと呼ばれる周期制御スケジューラ(レートモノトニックスケジューリング)も含まれている。 プロセッサシールドと呼ばれる機能で、任意のCPUにアサインされている割り込みの禁止や許可が実行中において可能であることを最大の特徴としている。NUMAシステムでは、マルチコア上での割り込みからの保護に加えて、NUMAノード上で使用するメモリを固定するメモリシールド機能を利用できる。 これらの機能を利用するための、リアルタイム環境を整えるコマンドに、run(1)[17],cpu(1)[18],shield(1)[19]があり、これを組み合わせることで、リアルタイム化していないバイナリアプリケーションプログラムでも、リアルタイムに利用可能である。なお、RedHawk 5.1以降では、組み込み向けとしてRedHawk Embedded、サーバ向けとしてRedHawk Serverがそれぞれ別のラインナップとなっている。また、RedHawk 5.4で、KVMとNVIDIAのCUDA環境をサポートした。 RedHawk 6.0では、IPv6およびLVMをサポートし、USB起動が出来るようになった。シールド時のリアルタイム応答性は15μ秒を保証している。 Redhawk 6.3では、SELinuxをイネーブルにして利用できるようになった[20]。 RedHawk6.3以降では、従来のRHELベースからCentOSベースを標準にし、PREEMPT_RTもサポートしている[21]。 RedHawk7.2以降では、ARM64をサポート、シールド時のリアルタイム応答性は5μ秒を保証[22]している。 RedHawk7.3では、Ubuntuもサポートし、TegraX1,X2[23]もサポートしている。 RedHawk7.5では、Jetson Nano,Jetson AGX Xavier,DRIVE PX 2 AutoChauffer (P2379)[24]がサポートされた APIは、POSIX 1003.1b(リアルタイム)およびPOSIX 1003.1c(POSIXスレッド)である。 なお、POSIX 1003.1b-1993およびPOSIX 1003.1c-1995は、 ⇒IEEE Std 1003.1, 1996およびISO/IEC 9945-1 : 1996 としてPOSIX 1003.1にマージされ、現在のPOSIX 1003.1にすべて含まれている。拡張リアルタイムAPIとして、Concurrent Real Time 独自のAPIも、libccur_rt として提供されている。プロセスIDを指定してメモリロックを行う、mlockall_pid(2)やCPUの割り込みから保護するshield(1)を実現するmpadvise(2)や、プライオリティインヘリタンス(優先順位の逆転)対応の関数等がこのlibccur_rtに含まれている。 NightStarツールと呼ばれるGUIベースの開発環境を5つ提供している。
概要
RedHawk 1.1 RHV8ユーザランドでカーネル2.4.18 +リアルタイムパッチ
RedHawk 1.2 RHV8ユーザランドでカーネル2.4.18 +リアルタイムパッチ
RedHawk 1.3 RHV8ユーザランドでカーネル2.4.21-pre4 +リアルタイムパッチ
RedHawk 1.4 RHV8ユーザランドでカーネル2.4.21 +リアルタイムパッチ
この間欠番
RedHawk 2.1 RHEL 3.0ユーザランドでカーネル2.6.3 +リアルタイムパッチ
RedHawk 2.2 RHEL 3.0ユーザランドでカーネル2.6.7 +リアルタイムパッチ
RedHawk 2.3 RHEL 3.0ユーザランドでカーネル2.6.9 +リアルタイムパッチ[1]
この間欠番
RedHawk 4.1 RHEL 4.1ユーザランドでカーネル2.6.15 +リアルタイムパッチ[2]
RedHawk 4.2 RHEL 4.2ユーザランドでカーネル2.6.18 +リアルタイムパッチ[3]
RedHawk 5.1 RHEL 5.1ユーザランドでカーネル2.6.23 +リアルタイムパッチ[4]
RedHawk 5.2 RHEL 5.2ユーザランドでカーネル2.6.26 +リアルタイムパッチ[5]
RedHawk 5.3 欠番
RedHawk 5.4 RHEL 5.4ユーザランドでカーネル2.6.31 +リアルタイムパッチ[6]
この間欠番
RedHawk 6.0 RHEL 6.0ユーザランドでカーネル2.6.36 +リアルタイムパッチ[7]
この間欠番
RedHawk 6.3 RHEL/CentOS/RHEL 6.3ユーザランドでカーネル3.5.7 +リアルタイムパッチ[8]
この間欠番
RedHawk 6.5 RHEL/CentOS 6.5ユーザランドでカーネル3.10.34 +リアルタイムパッチ[9]
この間欠番
RedHawk 7.0 RHEL/CentOS 7.0ユーザランドでカーネル3.16.3 +リアルタイムパッチ[10]
この間欠番
RedHawk 7.2 RHEL/CentOS 7.2(CentOS7-1511)ユーザランドでカーネル4.1.15 +リアルタイムパッチ[11]
RedHawk 7.3 RHEL/CentOS 7.3/Ubuntu 16.04 LTS ユーザランドでカーネル4.4 +リアルタイムパッチ[12]
RedHawk 7.5 RHEL/CentOS 7.5/Ubuntu 18.04 LTS ユーザランドでカーネル4.9 +リアルタイムパッチ[13]
RedHawk 8.0 RHEL/CentOS 8.0/Ubuntu 20.04 LTS ユーザランドでカーネル4.14 +リアルタイムパッチ[14]
RedHawk 8.2 RHEL/CentOS 8.2/Ubuntu 20.04 LTS ユーザランドでカーネル5.4 +リアルタイムパッチ[15]
RedHawk 8.4 RHEL/Rocky 8.4/Ubuntu 20.04 LTS ユーザランドでカーネル5.10 +リアルタイムパッチ[16]
API
開発環境
Size:17 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)』
担当:undef