AIと共に「自作OS」の泥沼へ再挑戦する1日目。
【AIによるこの記事の3行まとめと解説】
昔やった「自作OS(パソコンを動かす根本のシステム作り)」の楽しさが忘れられず、本やデータが一切ないゼロの状態から、AIを相棒にして再挑戦を決意する記念すべき1日目。 いきなり難しいプログラムを書くのではなく、まずはAIに「どう進めればいいか」という地図(全体手順)を描いてもらいます。 「立派なものじゃなくていい、まずは画面に何か表示させてみよう!」と、AIと一緒に新たな泥沼へと足を踏み入れるワクワク感に満ちたスタート記事です。
思い出した原点と、消えたコード
ふと、昔買った「30日で作るOS」系の入門本があったことを思い出しました。
当時は買ってすぐに本を読みながら、見よう見まねで作ってみたものです。
ただ、その本は付録としてついてきた独自のアセンブラと専用エミュレータを使うことが前提となっていました。
作っていくうちに「これを一般的な開発環境に置き換えてみたい」という欲求が湧き上がり、GNU環境(アセンブリコードをGASでアセンブルし、CソースをGCCでコンパイルする環境)や、専用エミュレータではなく汎用の「QEMU」を使う形へのポーティング(移植)に挑戦しました。
C言語のシステムコードに入り、デスクトップっぽい画面が表示されるあたりまで移植が進んでいたのは確かなのですが……実際にどこまで進んだのか、今となっては全く覚えていません。
すでに本は処分してしまい、当時のコードも残っていません。手がかりは完全にゼロです。
ただ、「とにかく楽しかった」という記憶だけが、頭の片隅にずっと残っていました。
なぜ今、もう一度やるのか?
本もコードもない今、普通なら諦めるところです。しかし、今の私には「AI」という強力な相棒がいます。 手がかりが薄い今こそ、AIと一緒に再挑戦できるのではないか? と思ったのです。
もう一度最初から、GAS / GCC / QEMUといった汎用ツールを使って再構築してみたい。 今回のゴールは、誰もが使うような「厳密で実用的なOSの実装」ではありません。自分が書いたコードで、「自作の何かが起動して動く」というあの純粋な体験をもう一度味わうことです。
この記事の立ち位置
そのため、教科書通りの綺麗な再現録にはなりません。
過去の記憶とAIの知識をすり合わせながら進む「再発見の記録」です。
専門用語も出てくるかもしれませんが、読んでくださる方に「なんだか自分でも触れそうだな」「AIと一緒ならできそうだな」と感じていただければ嬉しいです。
AIに「OS自作の地図」を作ってもらう
失ったコードは戻りませんが、「作る流れ」は作り直せるはずです。 そこで、未知の泥沼で迷子にならないよう、まずはAIに「大枠の流れ(最小構成)をどう進めればよいか」を聞いてみました。
AIからの回答を要約すると、以下のようになります。
目的を決める: 「本物の汎用OS」ではなく、ブートして画面に何か出し、キーボードやタイマーを少し触るくらいまでを最初のゴールにする。「デスクトップっぽい」はその次の段階。
実行環境を固定する: 対象CPU(x86の32bit保護モードか64bitロングモード)、エミュレータ(QEMU)、ツールチェイン(GAS+GCC+LD)をブレさせない。
ブートの入口(ファームウェアの次): 最低限「電源投入後、自分のコードの最初の命令が動く」まで。ここがOSの“第0歩”。
カーネルの骨格(Cに入る前後): アセンブリでのスタック設定や割り込みの準備をしてから、Cの kernel_main 的な入口へ。VGAテキストモードかシリアルへの出力がないとデバッグが地獄になる。
「OSらしさ」の核: 割り込み処理(タイマー、キーボード)、簡単なメモリ管理。
「デスクトップっぽい」に近づける(後半): グラフィックモード、マウス、簡易ウィンドウ風の描画など。
▼ AIが提示した「最低限つくるもの」
自作MBRブートローダ(+ディスクイメージ): カーネルへ制御を渡す
カーネル入口+スタック+基本割り込み基盤 : C とハードの橋渡し
画面またはシリアルへのログ : デバッグと達成感
タイマー/キーボードなど最低限のデバイス : 「動いてる感」
(発展)メモリ管理・マルチタスク・描画 : 「OSっぽさ」の増幅
記憶との合致「そうだ、MBR書いてたわ」
AIの回答には、一般論として「フロッピー / MBR(マスターブートレコード)」という単語が挙がっていました。
これを見て、当時の記憶が蘇りました。現代の流儀ではGRUBなどを使うことも多いようですが、私の場合と言うか、自作本では間違いなく 「ディスクイメージ+自作MBRブートローダ」 で起動させていたのです。
AIの提示してくれたこの大枠を軸にして、実装に向けた準備を進めていきます!
次回、「OS自作の地図」原案を作ってもらう。
公開中の全記事はこちら!
記事作成のお供に!お役立ちツール!
コピペするだけ!簡単「タイトル+URL一撃コピー(note特化型)」|へろん
コピペするだけ!簡単「AI記事から**を消す(note特化型)」|へろん
その他、こんなことやってみてます!
気に入ったらスキ、フォローよろしくお願いします!
note外から見にきてくださったかたも、もしよければハートマーク押して頂けたら励みになります😊
