メールボックスとは?めーるぼっくす
メールボックスとは、タスク間でメッセージを受け渡すRTOSの通信機構。送信側は投入して待たず、受信側は到着するまでブロックする。μITRON系ではデータ本体ではなくメモリブロックの先頭アドレスだけをキューに並べるため、大きなデータを渡してもコピーが発生しない。
最終更新:2026-10-06
エンベデッドSPを最短で暗記・合格する →背景
共有変数とセマフォの組合せでも通信はできるが、誰がいつ書き換えたかを追えず、待ち合わせの記述が呼出し側へ散らばる。データの受け渡しと待ち合わせを1つのオブジェクトにまとめ、受信側を「待つだけ」の素直な構造にしたのがメールボックスである。割込みハンドラを短く保ち、重い処理をタスクへ逃がす入口としても使われる。
具体例
ボッシュが策定したCANの受信ハンドラは、フレームを固定長プールから取ったバッファへ移し、そのアドレスだけをメールボックスへ送ってすぐ抜ける。解析タスクが取り出して中身を解釈し、終わったらプールへ返す。ハンドラの滞在時間が数マイクロ秒で収まる。
試験での引っ掛け
アドレスだけを渡す実装では、送った側はそのバッファを二度と触ってはいけない。所有権が移る設計であることを明文化しないと、返却漏れと二重解放が混在する。中身をコピーして渡すデータキュー型の機構とは、この所有権の扱いで区別される。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。