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

TOPPERSカーネルにおけるメモリ保護

TOPPERSカーネルではユーザー任意のドメインごとにアクセス保護の設定が可能

高信頼性システム向けのTOPPERSカーネル(TOPPERS/HRP2、TOPPERS/HRP3、TOPPERS/HRMP3)は、メモリ保護機能を持っています。そのメモリ保護機能は、LinuxやWindowsが持つメモリ保護機能とは少し異なり、リアルタイム組込みシステム用に考えられた実装となっています。具体的には、保護するメモリ領域を切り替える(タスク切り替えなど)際のオーバヘッドを極力小さくするため、MMUではなくMPUを使用します。MMUによるアドレス変換やTLBキャッシュを使用せず、またMPUの設定切り替えの時間は固定であるため、リアルタイム性の確保がしやすくなっています。また、メモリ保護機能のために使用するRAM領域を極力少なくした実装になっています。

保護機能は「保護ドメイン」という概念で実現されています。システムにはカーネルが管理するタスクやメモリが属する1個の「カーネルドメイン」と0個以上の「ユーザードメイン」が存在します。カーネルドメインに属するタスクは、すべてのメモリ領域に対してアクセス可能です。一方で、各ユーザードメインに属するタスクは、自ドメイン以外の領域にはアクセスできません。

メモリ配置や保護ドメインの設定は、静的コンフィギュレーションで行います。コンフィギュレーションファイルに情報を記述しておくと、コンフィギュレーターによりメモリ保護のためのコードやリンカスクリプトが生成され、カーネルのコンパイル/リンク時にオブジェクトに組み込まれます。

このようにTOPPERSカーネルにおけるメモリ保護は、システム稼働時のオーバヘッドを極力小さくするよう実装されているため、ハードリアルタイムが要求されるシステムでも信頼性の高いシステム構築が可能です。

TOPPERSカーネルのメモリ保護については、TOPPERSプロジェクト主宰の高田浩章博士ほかの論文で詳しく解説されています。この論文ではHRP2カーネルのメモリ保護について述べられていますが、メモリ保護の仕様はHRP2カーネルの後継バージョンであるHRP3、HRMP3カーネルでもほぼ同じです。

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

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


製品情報

RTOSソリューション

TOPPERS-Proシリーズ

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

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

TOPPERS-Pro/HRP3

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

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

TOPPERS-Pro/HRMP3

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

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

コラムを読む