The C Programming Language

GitHubに400行以下で構成されたオペレーティングシステムが登録された。オペレーティングシステムは「resume_operating_system」と呼ばれている。開発の動機や仕組みなどに関する説明は「My resume in an Operating system」にまとまっている。オペレーティングシステムの基本構造を理解する際に役に立つ。

このオペレーティングシステムはMathieu Passenaud氏が学生時代に作成したオペレーティングシステムの基礎実装をまとめたもの。開発者の経歴を表示するだけという目的で作られた趣味的な取り組みの成果物であるため、明確に名称がついていない。GitHubに登録した名前が「resume_operating_system(経歴オペレーティングシステム)」であるため、この名称で呼ばれている。

resume_operating_systemではテキストを表示するためのビデオコントローラ、キー入力を処理するためのPS2キーボードドライバが実装されている。主要なコードはCファイル4個とアセンブラファイル1個。現在オープンソースソフトウェアとして公開されている主要なオペレーティングシステムはカーネルのサイズも大きく、機能も複雑で、全体を把握することは容易ではない。resume_operating_systemはシンプルで、かつ、カーネルが実装すべき処理やステートマシーンの構造がわかりやすくまとまっており、オペレーティングシステムの入門的資料として参考になる。

Cファイル4個、ヘッダファイル3個、アセンブラ1個、リンカーとマップファイルで構成されたオペレーティングシステム

clocでカウントするとソースコードに該当する部分は400行にも満たない

カーネルのソースコード

キーボード入力処理のコード