組み込みOSと並行処理
リアルタイム処理を担う組み込みシステムでは、センサの読み取り、モータ制御、通信処理など複数の機能を正確なタイミングで同時に動かし続けるための「並行処理」の設計が欠かせません。その土台となるのが、OS が提供するタスク管理とスケジューリングの仕組みで ベアメタル設計なのか、OSを使用するのかという基本的な設計です。そのうえで、OSを使用する場合は、それが提供するタスク管理や、スケジューリングの仕組みを使っていくことが必要です。
このカテゴリでは、ベアメタルとRTOSでISR設計・周期処理・共有資源管理がどう変わるかを起点に、タスクの分割・優先度・駆動方式の実務的な決め方、プリエンプティブ方式と協調型のレイテンシ・ジッタ特性の比較、そして現場でデッドライン超過を招く優先度逆転(Priority Inversion)の再現・検出・対策まで、並行処理の設計に直結する知識を体系的に解説します。また、世界で最も普及しているオープンソースRTOS「FreeRTOS」を一例に挙げ、ヒープ管理(heap_1〜5)・Task Notification・フック関数・FreeRTOSConfig.hの実装ポイントや、割り込み処理とデバッグの基礎知識もあわせて取り上げます。
RTOSを使ったマルチタスク設計に初めて取り組む方から、既存設計の品質を底上げしたいエンジニアの方まで、実際の開発判断に直結する実践知識をご提供します。
