おわりに

ここで本書は終わりです。1000行足らずではありますが、なかなか大変だったのではないでしょうか。

「まだ物足りない!まだ何か続けたい」という方のために「次にすること」をいくつか紹介します。

HinaOSやxv6を読もう

ページングや例外処理といった、アプリケーション開発では見られない独特な機能の実装を学んだ今、一番おすすめなのが「既存のOSの実装を読んでみる」ことです。自分の実装と比較して「他の人がどう実装しているのか」を学ぶのは大変勉強になります。

おすすめが2つあります。1つ目は拙作のHinaOSです。本書と同じくRISC-V 32ビット向けの教育用OSです。マルチプロセッサ対応のマイクロカーネルOSで、TCP/IPプロトコルスタックも実装されています。筆者が書いたOSということもあり、本書を読んだ方なら比較的読みやすいでしょう。

2つ目はRISC-V版 xv6です。こちらは教育用UNIX風OSで、解説書 (英語)もあります。fork(2)のようなUNIX特有の機能の仕組みを学びたい方におすすめです。

新しい機能を追加しよう

本書では、カーネルの基本的な機能を実装しました。しかし、まだまだ実装できる機能はたくさんあります。例えば、次のような機能を実装してみると面白いでしょう。

HinaOSの実験テーマ集 もアイデア出しに役立つでしょう。