保護機能OS
保護機能OSは、複数ECUの統合化により部品メーカ間の設計思想・仕様の不整合を解決することが可能になります。ソフトウェアプラットフォームに保護機能OSを用いることで、OS上で動作するアプリケーションソフトウェアにバグがあった場合に、そのバグに起因する障害がOS自身や他のアプリケーションに波及するのを防ぐ事が可能となります。
保護機能OSを利用することで:
1. 既存の専用ECUソフトウェアを、共通ECU上に統合し一つのアプリケーションとして稼動させるため、搭載ECUの削減に繋がります。⇒ ワイヤーハーネス重量、コストも削減=車両重量が軽減され、燃費向上に繋がります。
2. 潜在しているバグが早期に発見できます。また、アプリケーション毎に必要な信頼性レベルまでの検証でよくなります。⇒ ソフトウェアのテスト期間の短縮・テストコストの削減に繋がります。
3. システム内の致命的な障害を防ぎます。⇒ 例:アプリケーション誤動作からシステムにおける重要な機能・データを守ることが可能になります。
メモリ保護機能と時間保護機能という2種類のアプローチを取っています。
対応ハードウェア:
・ルネサステクノロジ社製 M32RⅡ、M32C
メモリ保護機能
メモリ保護機能は2種類のアプローチを取っています。
メモリ保護
アプリケーション単位で、他のアプリケーションからのメモリアクセスを制限もしくは排除します。アプリケーションは設定された領域以外の領域にアクセスすることは出来ず、領域外に対してアクセスを行った場合、メモリアクセス違反を検知し、アプリケーションへ通知します。
オブジェクト保護
タスク、ISR、アラーム、リソース等のオブジェクトは所属アプリケーション情報とアクセス許可アプリケーション情報により保護機能管理します。許可されていないオブジェクトへアクセスした場合は、各APIの戻り値によりアプリケーションへ通知します。
時間保護機能
時間保護機能は2種類のアプローチを取っています。
時間監視方式(デッドラインモニタリング)
タスク起動と共に時間監視を開始し、タスクが設定時間内に終了しなかった場合はデッドラインミスとしてアプリケーションへ通知します。
階層型スケジューラ
アプリケーションごとのプロセッサ時間(処理量)を保護する目的で、アプリケーションをスケジューリングするアプリケーションスケジューラ、タスクをスケジューリングするタスクスケジューラを階層的に配置してあります。


