Tock
Rustで書かれたマイコン向けOS。ドライバーは型システムで、アプリケーションはハードウェアで分離される。
Tockは2015年ごろにスタンフォード大学で始まり、2017年の研究論文には「64kBのコンピュータで安全かつ効率的にマルチプログラミングする」という率直な題が付けられた。出発点は、従来のRTOSがすべてを単一のアドレス空間で動かすため、どのドライバーのバグも他のあらゆるものを壊しうる、という問題だった。
Tockは世界を二つに分ける。カプセルと呼ばれるドライバーは安全なRustで書かれ、自分のものでないメモリには触れられない。コンパイラが許さないからだ。アプリケーションはCやRustで書かれた別プロセスとして動き、メモリ保護ユニットで隔離される。クラッシュしたアプリは、カーネルに気づかれることなく再起動できる。代償は、FreeRTOSより多いRAMと急な学習曲線だ。GoogleのセキュリティキーファームウェアOpenSKがTock上で動いていることからも、この取引に価値を見出すのがどんなユーザーかがわかる。