
os8088 — IBM PC XT向けのMac風GUI OS
Intel 8086/8088プロセッサ用に実モードアセンブリで一から書かれた、Macintosh System 1風のグラフィカルオペレーティングシステムos8088が完成した。2026年8月には、ディスクイメージが実際のフロッピーディスクに書き込まれ、1981年のIBM 5150、Toshiba T1100 Plus、286などの実機で動作確認された。
フロッピーディスクからブートするos8088は、オーバーラップするウィンドウ、プルダウンメニュー、シリアルマウスサポート、ロード可能プログラム、プリエンプティブマルチタスキングを備えている。メモリ要件は256Kで、112,792行のNASM アセンブリで実装されている。

システム要件と構成
os8088は256Kの RAM で動作し、VGA 640x480 16色、Hercules 720x348 モノクロ、CGA 640x200 モノクロの各ディスプレイに対応している。512バイトのブートセクタが40KB のカーネルをロードし、78,950バイトのカーネルと512バイトのブートセクタで構成される。カーネルにはスケジューラ、ウィンドウマネージャ、VGA ドライバ、マウスドライバ、サウンドレイヤ、ファイルマネージャ、ローダー、タスクマネージャ、コントロールパネルが含まれている。
メモリバンク構成では8086のメモリ保護不在を考慮し、すべてのプログラムがカーネルと同じ64Kセグメント内で動作する。512Kマシンでは107K、640Kでは233K のアリーナ(利用可能メモリ)が確保される。タイムアラプトは18.2065Hz の周期で発生し、最大12タスクスロットが利用可能である。
ハードウェアサポートと機能
マウスはCOM1上で1200ボー 7N1 の3バイト/レポート形式のMicrosoft シリアルマウスで接続される。ディスプレイアダプタの自動検出機能により、ブート時にマシンに搭載されているアダプタを判定し、グラフィックスモードに自動切り替える。VGA モードは640x480 16色で、4つの1ビットプレーンと80バイト/スキャンラインの仕様である。
153,600バイトのオフスクリーンバックバッファにより、半分以上のマシンメモリが描画に充てられる。メモリが500K 以上の場合、コントロールパネルでバックバッファをオンにできる。ブートセクタには LBA-CHS 変換とBIOS フロッピーディスク読み込みのリトライロジックが実装されている。

実機動作実績
2026年8月、ディスクイメージを実フロッピーに書き込み、3種類の実機で起動テストが実施された。1981年のIBM 5150ではHercules カード装着時に720x348解像度で動作し、360K フロッピーから6つのプログラムが同時実行された。Toshiba T1100 Plus と286でも正常に動作が確認されている。
作成者は「実行速度はエミュレーション上と変わらない」と述べており、実機での動作は安定していたとされる。Minesweeper プログラムはアイコン含めて1,510バイトの軽量設計で、タスクマネージャが70% のCPU 使用率を報告する中でも複数のアプリケーションが動作可能である。
設計上の特徴
os8088にはDOS の下位層がなく、コマンドラインも搭載されていない。プログラムは第二フロッピーディスクからロードされ、ファーストクラスアプリケーションとして動作する。ディスク API にはファイルハンドルとシーク機能がなく、書き込み、読み込み、削除、リネーム機能で全ファイルをまとめて操作する。ネットワーク機能は実装されていない。
タスクスタックサイズは1,536バイトで、最大12タスクが同時に実行可能である。この軽量な設計により、わずか256K の RAM でマルチタスキング環境を実現している。
筆者の見立て
- os8088は1984年のMacintosh から40年後に同じクラスのマシン上で GEM 1.0 のコンセプトをほぼ再実装したものと解釈している。
- プリエンプティブマルチタスキング機能は、当時の GEM でも Macintosh でも提供されていなかった能力の追加と論じている。
この記事は元記事の事実のみに基づいて自動生成されました。
出典
os8088、「os8088 -- a Mac-style GUI OS for the IBM PC XT」、https://os8088.com/