MirageOSは非常に興味深いプロジェクトです。ネットワーク、クラウド、モバイルプラットフォームなど、セキュリティや高性能を重視するアプリケーション向けに、ユニカーネルを構築するためのオペレーティングシステムライブラリです。これらのユニカーネルは、GNU/Linuxやその他のUnix系オペレーティングシステム上でコンパイルでき、KVMハイパーバイザーやXenといった仮想化環境上でも実行可能です。
これを実現するために、MirageOSはOCamlという言語を使用しています。OCamlには、ネットワーク、ストレージ、その他のシステムサポート機能を提供するライブラリが備わっています。最新バージョンであるMirageOS 3.0は、 2017年2月にリリースされました。興味のある方は、 mirage.ioでダウンロードしたり、プロジェクトに関する詳細情報を確認したりできます。
ユニカーネルについてご存知ない方のために説明すると、ユニカーネルとは、特定のアプリケーションを実行するために必要な最小限のオペレーティングシステムライブラリのみを使用するように特別に設計された構造です。これにより、オペレーティングシステム全体を仮想化する必要がなくなり、全体的なパフォーマンスが向上します。アプリケーションコード、ライブラリ、そしてこの汎用ユニカーネルはすべて、オペレーティングシステムの介入を必要とせずに、ハイパーバイザまたはハードウェア上で直接実行できるようにコンパイルされています。
パフォーマンス面だけでなく(従来のOSのわずか4%のサイズで済み、最適化されたドライバを使用)、アプリケーションの実行に必要なコード量を削減することでセキュリティも向上し、攻撃者の余地が少なくなります。さらに、汎用性と現代のアプリケーションにとっての重要性も言うまでもありません。そのため、MirageOS、OSV、Runtime.js、IncludeOS、HermitCore、HaLVM、Clive、Grafene、ClickOSなど、多くのプロジェクトが次々と登場しているのです。