Operating Systems / FreeRTOS
OS の教科書の多くは Linux のような大きな OS を扱いますが、それらは中身が大きすぎて「OS の芯」が見えにくいという問題があります。FreeRTOS のカーネルは C 言語で 1 万行に満たないのに、OS が OS であるための中核——タスクとスケジューラ、ブロックと起床、排他制御、時間の管理——をすべて備えています。この全22章は、その 1 万行を下から順に読み切るためのものです。CPU 固有の移植層は扱いません。移植層が約束する 5 つの契約だけ先に定義してしまえば、カーネルのロジックは完全に追えるからです。全章に触って動かせるデモ(LIVE・計26点)を埋め込みました。
先に「OS を使う理由」を体で分かっておく。OS の機能はすべて、ここで見る破綻への処方箋です。
カーネルの心臓。ここが腹に落ちれば、残りは全部応用です。
OS の最大の価値である「途中で待つ」を、どう実装しているか。
組み込みで最も枯渇する資源の扱い方。ここでの選択が設計を決めます。
RTOS を入れると生まれる新しい種類のバグと、その避け方。