OSAKA NDS Embedded Linux Cross Online Forum #11
RTOSとLinuxの統合の課題
イーソル FAE 金子智範

0© 2020 eSOL Co., Ltd.

自己紹介金子智範 (かねことものり) 46歳
RTOSベンダであるイーソルのFAE• イーソル株式会社エンベデッドプロダクツ事業部営業技術部

経歴• 1997年イーソルに入社。以後2003年まで、ネットワークアプリケーション、USB 検証ツール等の受託開発に従事。2004年から TCP/IP,
USB スタック製品の開発マネジメントを担当。現在は、製品・サービスのアプリケーションエンジニアを担当。

1© 2020 eSOL Co., Ltd.

1

RTOSと汎用OS共存システムにおける重要な要件と課題• 機能多彩な汎用OSを実行しつつも、リアルタイム性を確保する必要がある。
• 汎用OS上プログラムの不具合がシステム全体に波及しないようにする必要がある。
• 汎用OSが攻撃を受けてもシステム全体に波及しないようにする必要がある。
• システムの規模が大きくなるため、起動時間が大きくなりがち。
• 複数のシステムが統合されて動作タイミングが変わることで問題が発生しがち。
• ブートが複雑で詳細な起動・終了制御ができない。

2© 2020 eSOL Co., Ltd.

2

RTOSにHypervisor拡張を施し、その上で汎用OSを動かす

eMCOS Hypervisor
LinuxApplications

AndroidApplications

LinuxAndroid

VMM

POSIX
Real-time
Applications

MKMK

Adaptive
Applications

Adaptive
Platform

VMM

Hypervisor Extension

MK

SharedDeviceDrivers

ROS/ROS 2Applications

eMCOS POSIX
MK

MK

MK

MK

MK

MK

MK: Microkernel

3© 2020 eSOL Co., Ltd.

3

リアルタイム性を確保したままゲストを実行できる構造• 課題：多機能なゲストを実行しつつも、リアルタイム性を確保する必要がある。
• 解：eMCOS POISX 上ではあくまで優先度スケジューリング。
プロセスアプリはリアルタイムアプリケーションとして実行可能。
Virtual Machine

Virtual Machine

Process

Process

ProcessProcess

Process

Process

Process

Process

Linux Guest

4

Linux Guest

Process

Process

Process

Process

Process

Process

Process

Process

MKMK

MK

MK

microkernel

microkernel

microkernel

microkernel

CoreCore

CoreCore© 2020 eSOL Co., Ltd.

4

安全性を確保しやすいOS構造• 課題：ゲストOSの不具合がシステム全体に波及しないようにする必要がある。
• 解：Hypervisor自体がホストOSのプロセスのひとつとして動作するため、異常動作を引き起こしにくい。
さらに、eMCOS POSIX 自体が独立したマイクロカーネルの集合で構成されており、異常動作した場合も、システム全体に影響が波及しにくい。
壁が幾重にもあり、問題が全体には波及しにくい構造
Virtual Machine
Process

Process

Process

Process

Linux Guest

5Process

Process

Process

Process

Process

Process

Process

Process

Process

Process

MKMK

MK

MK

MK

MK

microkernel

microkernel

microkernel

microkernel

microkernel

microkernel

CoreCoreCoreCore© 2020 eSOL Co., Ltd.

5

セキュリティを意識した設計指針• 課題：ゲストOSが攻撃を受けてもシステム全体に波及しないようにする必要がある。
• 解：高い権限で実行されるコードの量が少なく、悪意のあるプログラムが問題を引き起こしにくい構造。
実行権限

コードサイズ
VMM

小Process

Process

Process

Process

大Linux Guest

VCPU

VCPU

VCPU

VCPU

Kernel Hypervisor
ExtensioneMCOS POSIX
大6

Hypervisor Stub
© 2020 eSOL Co., Ltd.

小6

リアルタイムOSならではの高速起動はそのまま• 課題：システムの規模が大きくなるため、起動時間が大きくなりがち。
• 解：eMCOS POSIX はリアルタイムOSであり、すぐに起動してネイティブアプリプロセスは起動後すぐに実行可能。eMCOS POSIX はマルチプロセスPOSIXであり、それだけでもリッチなライブラリを使用したシステムを動作させることができる。

利用可能な機能①POSIXアプリ実行可能
２②ゲストシステム実行可能

１

7ミリ秒オーダ

起動時間© 2020 eSOL Co., Ltd.

7

複数システムのスムーズな統合を実現する時間保護• 課題：複数のシステムが統合されて動作タイミングが変わることで問題が発生しがち。
• 解：時間保護機能により、統合によるタイミングの問題を回避

時間分離した場合

時間分離しない場合
複数のアプリケーションのスレッドが同時に動作すると他のアプリケーションスレッドの優先度によっては処理が待たされ、決定論的に処理を行うことが難しい。
結合によるタイミングの変化に起因する問題が起こりやすい。

ゲスト1同時に動くのは同じアプリケーションのスレッドのみになるため、決定論的に処理を行うことができる。
そのアプリケーションが単体で動作している状態により近いため、結合によるタイミングの変化に起因する問題は起こりにくい。

ゲスト２

ゲスト1

コア1

コア1

コア2

コア2

コア3

コア3

コア4

コア4

時間

8

ゲスト２時間© 2020 eSOL Co., Ltd.

8

まとめ
• eMCOS Hypervisor は、eMCOS POSIX の拡張機能として実装されていて、リアルタイム性を確保しながら、ゲストOSを追加できる。
• eMCOS Hypervisor は様々な課題について十分考慮したうえで実装されている

eMCOS Hypervisor
LinuxApplications

AndroidApplications

LinuxAndroid

VMM

POSIX
Real-time
ApplicationsMKMK

eMCOS POSIX

MK

MK

MK

MK: Microkernel
9Adaptive
Applications

Adaptive
Platform

VMM

Hypervisor Extension

MKShared
DeviceDrivers

ROS/ROS 2
Applications© 2020 eSOL Co., Ltd.

MKMKMK9

Thank you.
www.esol.co.jp

10© 2020 eSOL Co., Ltd.