IBM PC XT向けMac風OS「os8088 1.0」公開
原題: Os8088: A powerful Mac-like OS for the IBM XT, 286, 386
なぜ重要か
レトロPC向けのOSを現代的な開発手法で再実装する取り組みは、低レイヤー技術教育やOSS文化の観点で注目を集める事例となっている。
os8088は、Intel 8086向けにリアルモードアセンブリで書かれたグラフィカルOSで、1984年のMacintosh System 1スタイルのデスクトップを実現する。256KBのカーネルで最大12タスクのプリエンプティブマルチタスクを実装し、VGA(640×480・16色)、Hercules、CGA各モードに対応。フロッピーから起動し、ブラウザ上でのライブデモも提供されている。
os8088 1.0は、IBM PC/XT(Intel 8086/286/386)向けに開発されたグラフィカルオペレーティングシステムで、1984年のApple Macintosh System 1のデスクトップUIをモデルにしている。リアルモードアセンブリで実装されており、512バイトのブートセクタからカーネルを読み込んでフロッピーディスクより起動する仕組みだ。
カーネルサイズは78,950バイトで、RAM使用量は256KB。最大12タスクを同時実行できるプリエンプティブマルチタスクを搭載しており、これは1984年のオリジナルMacintoshが持っていなかった機能である。タイマー割り込みは18.2Hzで動作する。
表示モードはVGA(640×480・16色)、Hercules(720×348・モノクロ)、CGA(640×200・モノクロ)に対応。オーバーラップウィンドウ、プルダウンメニュー、シリアルマウス、ロード可能なプログラム群を実装している。
アプリケーションとしては、Note Pad、Clock、Bounce(バウンドするボール)、Control Panel、Task Managerが用意されており、同一プログラムの複数インスタンスを同時起動可能。各インスタンスはドックにタイル表示され、最小化してもバックグラウンドで動作を継続する。
プルダウンメニューはヒープ上にピクセルデータを一時保存することで背景を復元する実装を採用。Task Managerは最大160列のリングバッファでCPU使用履歴グラフを表示する。ソースコードはGitHubで公開されており、フロッピーイメージのダウンロードとブラウザ上でのライブデモも利用できる。