リアルタイムOS

integrity

green hills software

INTEGRITY

Green Hills Software社(GHS)の INTEGRITYは、航空機、産業機器、自動車、医療機器などの幅広い組込み機器開発に利用可能なリアルタイムOS(RTOS)で、多くの安全性認証やセキュリティ認証を取得しています。ハードウェアのメモリ管理ユニット(MMU)を利用した完全なメモリ保護とソフトウェア・パーティショニングにより、高い信頼性と安全性、セキュリティを実現し、CPU時間やメモリ空間リソースの保証、ユニークなスケジューリング、高速でデターミニスティックな応答性など、最新のOS技術によって開発された最も先進的なRTOSです。

米国防総省のセキュリティ評価基準TCSEC(Trusted Computer System Evaluation Criteria、通称オレンジブック)をベースに、INTEGRITYは、当初から組込みソフトウェアのセキュリティ、信頼性を考慮して設計されました。

INTEGRITYは、クリティカルなアプリケーションとそうでないアプリケーションをアドレス空間単位で分離・保護しています。さらに、分離されたカーネル空間は、それ自身単独のアドレス空間で実行します。このようにセキュアな分離によってアプリケーションの実行に必要なリソースを確保すると同時に、DoS(サービス拒否)攻撃、ワーム、ウィルスなど、悪意のあるコードを完全にシャットアウトしてOSとユーザアプリケーションを保護します。
他のメモリ保護機能のあるOSとは異なり、INTEGRITYは、リアルタイム性能を犠牲にすることなく、セキュリティと保護機能を実現します。

ミドルウェアとプラットフォームの統合

GHSは、INTEGRITYに統合された検証済みの様々なミドルウェアを用意しています。

各種ミドルウェアパッケージは、サードパーティ製も含み、INTEGRITYのOS機能とシームレスに統合され、所定のリファレンス・プラットフォームでの動作検証が行われた上でリリースされます。ミドルウェアや拡張BSPが半導体ベンダなどのサードパーティから提供される場合もあります。これにより、ソフトウェア開発者は、より簡単にターゲットボードへの開発・実装が可能となり、開発期間を短縮できると同時に、品質の確保など多くの時間を費やすことができます。

  • FFS、FAT、NFS、ジャーナリング・ファイルシステム(PJFS)
  • IPv4/IPv6ネットワークスタック
  • FIPS 140-2認証済みSuite B対応の組込み暗号化ライブラリ
  • 高性能レイヤ3ルーティングプロトコル
  • Webサービス:TTPS、SOAP、AJAX、JSON、XML
  • Wi-Fiのサポート:WPA2, Bluetooth, 3G
  • USB ホストスタック、デバイススタック、クラスドライバ
  • 2D、3D、OpenGLグラフィックス

強固な分離

INTEGRITYは、組込みシステムの設計者が必要とする(メモリ空間の)分離と隔離、問題発生時のダメージの限定、情報フロー制御などのポリシーを厳格に適用するためのあらゆる機能を備えると同時に、今日の複雑な常時ネットワーク接続のアプリケーションに対して、セキュアなネットワーク機能を提供することができます。

INTEGRITYの分離カーネルは、プロセスが割当てられたメモリ空間を超える書込みを防ぐことで、誤ったコードや悪意のあるソフトウェアがプロセスを壊してしまうような被害を防ぎます。さらに、INTEGRITYのパーティションは、データが存在するパーティションの外部からのデータに対する意図しないアクセスも防ぎます。

信頼性を高めるアーキテクチャ

従来のOSでは、クラッシュ、動作停止、実行制御不能などになる可能性があり、その結果として、人工衛星の喪失、自動車の失速、医療モニタの故障などが発生すると、莫大な損害となってしまいます。しかし、INTEGRITYは、このような損害を引起こす可能性のあるアプリケーションから、INTEGRITY自体と重要なアプリケーションの双方を保護します。
これを行うために、INTEGRITYでは個々のプロセス(仮想アドレス空間)に対するリソースを保証します。これにより、別のプロセスが何をしようとしても、CPU時間とメモリリソースが常に個々のプロセスで利用可能となります。
悪意のあるイベントや、意図しないイベントは、システムリソースへのアクセスを拒否し、システムプロセスが意図通りにされなくなる可能性があります。このようなサービス拒否攻撃を防ぐために、INTEGRITYは各プロセスに対して、決められたCPU時間とメモリの枠を割当てることができます。決められたリソース枠に基づき所定のプロセスの時間枠を保証することにより、実行中のタスクがその枠を超えて実行されることを防ぎ、他のプロセスの整合性も維持します。

ハードリアルタイムの性能

INTEGRITYは、ハードウェアのメモリ管理ユニット(MMU)を初めて活用したリアルタイムOSのひとつとして、セキュリティや保護のためにリアルタイム性能を犠牲にしない、ハードリアルタイムOSです。INTEGRITYは、割込みイベントに対してナノ秒単位の応答性を保証することができます。

INTEGRITYのカーネルサービスは、すべてシステムコールのオーバーヘッドが最小になるように最適化されています。システムコールは、他が実行するためにサスペンド(一時停止)させることも可能です。INTEGRITYは、リアルタイムスケジューラで複数の優先度をサポートし、CPU時間の配分(%)を管理できます。

INTEGRITYは、常に最小の割込み遅延時間で、最高優先度の割込みを処理します。これを保証するため、カーネルは割込みをマスクあるいはブロックしません。また、カーネルは一部のシステムで割込みを一時的にブロックする可能性のある待ち時間の長い命令を回避します。

メモリリソースの保証

INTEGRITYは、以下のような問題からメモリを保護します。

  • メモリの枯渇
  • メモリの破壊
  • 不正アクセス

INTEGRITY独自のメモリ割当てシステムにより、当該アドレス空間のメモリが、他のアドレス空間のメモリ枯渇の影響で不足したりしないようにします。
カーネルメモリの枯渇を防ぐため、INTEGRITYでは、プロセスからの要求に対して生成されたメッセージ、セマフォや、その他のカーネルオブジェクトがカーネルのメモリを使用しないように設計されています。その代わりカーネルは、要求元のプロセスが用意したメモリリソースを使用して処理を実行します。
ユーザ用スタックのオーバーフローのリスクを防ぐため、INTEGRITYのカーネルは、専用のスタックメモリを持っています。これがない場合、カーネルはユーザプロセスのスタックにアクセスしなければなりません。しかしその場合、(カーネルなどの)未知のコードによってスタックが使用される際に、使用されるスタックの最大サイズがどのくらいになるか、ユーザプロセスからは予測ができないため、問題となる可能性があります。

統合された開発ツール

INTEGRITYの開発環境として、統合開発環境MULTIを使用して効率的にソフトウェア開発を行うことが出来ます。また、INTEGRITYなどのRTOS専用の機能なども用意されています。

  • Green Hills Probeなどのハードウェアデバッグ機器を使用してターゲットにコードをダウンロードし、OSカーネルを意識したデバッグや実行制御をただちに開始
  • Green Hills コンパイラは、機能安全認証済み。最小サイズ/最高速度のINTEGRITYアプリケーションコードを生成
  • 新規プロジェクト・ウィザードを使用して、簡単にINTEGRITYのプロジェクトを生成
  • Integrateユーティリティを使用して、INTEGRITYアプリケーションやタスクへのメモリ割当てや、優先度設定などコンフィグレーションが可能
  • 統合開発環境MULTIでは、マルチタスクの同時デバッグ機能と、プロファイリングやコードカバレッジの機能を統合。高度なソースレベルデバッグが可能
  • ランモード・デバッグ機能により、タスクを対象としたソースレベルデバッグ。INTEGRITYアプリケーションのダイナミック・ダウンロードも可能
  • OSAエクスプローラで、OSカーネルを意識したタスクやセマフォなどのカーネルオブジェクトに関するデバッグが可能。オブジェクトのサマリや特定のカーネルオブジェクトに関する詳細情報を表示
  • イベントアナライザ(EventAnalyzer)で、INTEGRITYのOSイベントを視覚化し、タスク間の問題解析が可能
  • リソースアナライザ(ResourceAnalyzer)により、メモリ使用量やCPU使用率の解析が可能
  • 動的実行解析ツールTimeMachineにより、早期バグ発見やパフォーマンスの向上。TimeMachineがシステムを視覚化し、開発期間を大幅に短縮、性能と信頼性がさらに向上

安全性認証

INTEGRITYは、以下の安全性認証を取得しており、高い安全性・信頼性が要求されるシステムに使用されています。

  • FAA DO-178B Level A(INTEGRITY-178)
  • NSA EAL 6+ High Robustness Common Criteria SKPP(INTEGRITY-178)
  • FDA Class II / Class III(医療機器の承認)
  • EN 50128 SWISL 4(鉄道)
  • IEC 61508 SIL 3(産業制御システム)
  • ISO-26262 ASIL-D(自動車)

マルチコアサポート

INTEGRITYのアーキテクチャは、マルチコアプロセッサに対応しており、組込み、およびリアルタイム処理に最適化された、対称マルチプロセッシング(SMP)、および非対称マルチプロセッシング(AMP)をサポートしていますので、開発者は、用途に応じて適したアーキテクチャを選択できます。さらに、統合開発環境MULTIは、マルチコアデバッグ機能をサポートしていますので、開発期間を短縮しつつパフォーマンスや、信頼性を高めることが可能です。

対応プロセッサ

INTEGRITY Architecture Support Package(ASP)は、以下のCPUアーキテクチャをサポートしています。

  • Altera Cyclone
  • Applied Micro (APM) Power Architecture
  • Fujitsu ARM
  • Intel Architecture
  • MIPS Technologies
  • NXP QorIQ
  • NXP i.MX (ARM)
  • Renesas R-Car
  • Texas Instruments DaVinci
  • Texas Instruments Sitara
  • AMD x86
  • ARM Ltd.
  • IBM Power Architecture
  • Marvell ARM and PXA
  • NXP Qorivva
  • NXP ColdFire
  • NXP Vybrid (ARM)
  • Texas Instruments OMAP
  • Texas Instruments Jacinto
  • Xilinx Zynq
カタログダウンロードarrow_forward_ios 製品購入前のお問合せarrow_forward_ios