>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
C

ニューラルネットワークを使って64セッションでOSを書く方法

最近、VibeOSというプロジェクトを見つけました。好奇心をそそられる半面、少し羨ましいと感じたのも事実です。著者はARM64向けのフル功能的OSをゼロから書くことを決意しました。しかし、最も興味深いのはそこではありません。Claude Codeと協力しながらプロジェクトを進め、最初のコードからDOOMの実行まで、全プロセスをドキュメント化了したのです。

これは単なる「お遊び」の"Hello World"システムではありません。macOS風のGUI、カスタムネットワークスタック、HTTPSサポート、さらには組み込みPythonインタープリタまで備えたプロジェクトです。

そもそも这是什么

VibeOSは、aarch64アーキテクチャ向けにCで書かれた趣味レベルのOSです。QEMUエミュレータと、Raspberry Pi Zero 2W реальномハードウェアの両方で動作します。開発には64回のAIセッションを要しました。リポジトリのセッションログを見ると、プロジェクトの進捗が追踪できます:ブートローダーから割り込み処理、そしてウィンドウマネージャの実装へと。

VibeOS Desktop

著者は正直に認めています:すべてが完璧に動作するわけではなく、コードの一部分はまだテストすらされていない、と。しかし動作している部分は印象的です。現代的なLLMが、システムプログラミングやカーネル開発のような複雑な分野への参入障壁をどのように下げているかを示す、素晴らしい例です。

中身は?カーネルとインターフェース

コアには協調的マルチタスクを採用したカスタムカーネルがあります。FAT32ファイルシステム(ロングファイル名対応)もサポートしており、これは自作システムでしばしば壁となる部分です。

GUIは驚くほどモダンです。以下の機能が含まれています:

  • ドラッグ可能なウィンドウを備えたデスクトップ。
  • Dockパネルとメニュー。
  • マウスとキーボードのフル対応。
  • ウィンドウの最小化と閉じるアニメーション。

Terminal

見た目はmacOSのシンプル版的で、「趣味で書いた」システムとしては非常に洗練されています。

ネットワーキングとシステム内部の開発環境

通常、自作OSはコンソールでのテキスト出力に制限されます。VibeOSはさらに踏み込んでいます。システムにはTCP/IPスタック、DNSリゾルバ、さらにはTLS 1.2対応のHTTPクライアントが組み込まれています。これにより、組み込みブラウザ(存在します!)でシンプルなHTMLとCSSをレンダリングできます。

しかし、私が最も注目したのはVibeOS内部の開発ツールです:

  1. Tiny C Compiler (TCC)。システム内で直接Cコードを書き、その場でコンパイルできます。
  2. MicroPython。カーネルAPIへのバインディングがあり、Pythonでタスクを自動化できます。
  3. VibeCode IDE。このシステム向けのVS Code風の代替IDE。

VibeCode

そしてもちろん、定番ですが:DOOMがVibeOSに移植されています。実行するには、doom1.wadファイルを見つけてgamesフォルダに入れる必要がありますが、移植が存在するという事実自体がシステムコールの実用性を物語っています。

ハードウェアと運用の注意点

Raspberry Pi Zero 2Wで実行を決意した場合、覚悟が必要です。著者はUSBドライバーが不安定だと警告しています。例えば、マウスより先にキーボードをハブに接続する必要があります。さもなくばシステムを認識しない可能性があります。ホットプラグイン非対応:何かを拔くと、再起動が必要です。

реальном「Pi」では、まだサウンドもネットワークもなく(Wi-Fiドライバーなし)、しかしGUIはFull HD (1920x1080) で安定して動作します。

自分で試す方法

一番簡単な方法は、QEMUでプロジェクトを実行することです。クロスコンパイラ aarch64-elf-gccが必要です。macOSでは、インストールは簡単です:

brew install aarch64-elf-gcc qemu
make disk
make run

make diskコマンドでディスクイメージを作成し、make runでカーネル、すべてのユーザープログラムをビルドしてエミュレータを起動します。

誰が参考になるでしょう

VibeOSはLinuxの代替品でも「Windowsキラー」候補でもありません。主に教科書です。割り込みの動作を常に理解了したい、カスタムメモリアロケータを書きたい、フレームバッファレベルでウィンドウドラッグを実装したいと思っているなら、このリポジトリは宝の山です。

特にClaudeのセッションログを研究するのは興味深いです。低レベルコードの文脈での「プロンプトエンジニアリング」の実践的ガイドになります。ニューラルネットワークがどこでミスをしたか、著者がどのように導いてドライバーやファイルシステムのバグを修正させたかが追踪できます。

少なくとも見る価値はあるプロジェクトです:今日の自作OSは、十年もの引きこもりではなく、適切なツールがあれば数ヶ月で実現可能なプロジェクトなのです。

関連プロジェクト