TOPPERSカーネルの時間パーティショニング機能の概要

システムに求められる安全性・信頼性への要求が高まるにつれ、OSの機能としてメモリ保護に加え時間パーティショニング(時間保護)機能も求められるケースが増えてきました。

この機能は、重要な処理を行う時間を確実に確保するために用意されています。組込み(リアルタイム)システムでは時間内に処理が終わらなかった、という事態は大きな事故につながったり人命に関わる事態となる場合もあります。また、悪意を持ったプログラムがCPU時間を全て使い切り、本来のプログラムの動作を止めたり、悪意を持ったプログラムを検出するためのプログラムを動作させないようにするのを防ぐためにも使われます。

設計時点では処理を行う時間を十分に確保していたつもりでも、プログラムの設計ミスやコーディングの間違いなどにより想定していたCPU時間を使い過ぎてしまったり、特定のケースで無限ループに陥ってしまうなどは考えられます。また、通常のケースでは問題は発生しないが、通信の相手側の問題で膨大な量のデータが送られてきてしまった場合、その処理に時間がかかり重要なタスクが動けないケースも起こり得ます。一方、一般的なμITRONのようにカーネルやドライバとアプリケーションがワンリンクになるような(モノシリック)構造のシステムでは、外部から悪意を持ったプログラムが入ってくるケースは考慮しなくていい場合もあります。

時間パーティショニング機能はこのような事を防ぐために、あらかじめそれぞれのタスクが動ける時間を割り当てておき、割り当てられた時間を使い切ると強制的にタスクスイッチを行うというものです。一定時間内にある処理を行わなければならない重要なタスクには、その処理を行う十分な時間を割り当てておくことにより、他のタスク状態に依らず確実に処理を行うことができます。

高信頼性システム向けの第3世代TOPPERSカーネル(TOPPERS/HRP3、TOPPERS/HRMP3)は、時間パーティショニング機能を持っています。この時間パーティショニングの仕様は、航空機向けの規格であるARNIC653をベースにしています。具体的には、予めシステム周期時間を決めておき、その周期内をタイムウィンドウと呼ばれるいくつかの時間帯に区切り、各タイムウィンドウに属するタスクはその時間帯の分だけ実行できる、というものです。

システム周期とタイムウィンドウの概念図

組込み(リアルタイム)システムでは割込み処理は重要で頻繁に使われます。TOPPERS の時間パーティショニングでは、何らかのタスクが動作している時に割込みが発生し割込み処理を行うと、そのタスクが属しているタイムウィンドウの終了時刻を割込み処理にかかった時間分遅らせるようになっています。このため各タスクに割り当てられた時間は割込み処理にかかる時間の影響を受けません。割込み処理にかかった時間はシステム周期内に設けられているアイドルウィンドウが吸収します。

割込み処理が発生した場合の動作

このように、TOPPERSカーネルの時間パーティショニング機能は、割込み処理にかかる時間を考慮した設計となっているため、リアルタイム性を保ちつつ安全性・信頼性の高いシステム設計・構築が可能になっています。

また、このようなシステム周期を定めてその周期内で一定時間毎にタスクを動かすような方式は、タイムスロットで通信チャネルを多重化するTDMA(時分割多重)通信と相性がいいため、そのような通信システムを制御するためのRTOSとしても有用です。

高信頼性システムを開発するために

時間パーティショニング機能やメモリ保護機能が必要となるような高信頼性が求められるシステムを開発するには、カーネルの振る舞いや使い方に精通した技術者によるサポートが欠かせません。ユビキタスAIでは、HRP3、HRMP3カーネルを含むTOPPERSプロジェクトの開発成果物をベースに、技術サポート・品質保証・知財権保証などを付加したTOPPERS-Proシリーズを販売しています。システム設計・構築時からサポートを受けたい、オープンソースのTOPPERSを使用してシステム構築したが製品化・販売するには不安、という方はTOPPERS-Proシリーズをご検討ください。


製品情報

RTOSソリューション

TOPPERS-Proシリーズ

TOPPERSカーネルベースの開発プラットフォームを提供
製品ページを見る
製品情報

ティックレス対応高信頼性システム向けRTOS

TOPPERS-Pro/HRP3

メモリ保護/時間保護可能な高信頼性RTOS。
マイクロ秒単位のシステム時刻精度でティックレス動作
製品ページを見る
製品情報

ティックレス対応高信頼性マルチコアシステム向けRTOS

TOPPERS-Pro/HRMP3

メモリ保護/時間保護可能な高信頼性RTOS。
マイクロ秒単位のシステム時刻精度でティックレス動作
製品ページを見る

TOPPERSカーネルのメモリ保護機能の特長と、高信頼性システム開発のポイント

コラムを読む