開発者の趣味OSプロジェクト「 RetroOS-32 」が実機での起動に成功

BigGo Editorial Team
開発者の趣味OSプロジェクト「 RetroOS-32 」が実機での起動に成功

商用オペレーティングシステムとAI開発が主流の時代において、ある開発者が趣味のオペレーティングシステムプロジェクトで印象的なマイルストーンを達成しました。一から構築された32ビットオペレーティングシステム「 RetroOS-32 」が、 Lenovo ThinkPad などの実機での起動に成功したのです。この成果は、システムレベルでの改造がより一般的だったパーソナルコンピューティングの初期の時代を思い起こさせる分野での、何年もの献身的な取り組みを表しています。

一からオペレーティングシステムを作成するという開発者の取り組みを強調する RetroOS-32 の GitHub リポジトリのスクリーンショット
一からオペレーティングシステムを作成するという開発者の取り組みを強調する RetroOS-32 の GitHub リポジトリのスクリーンショット

市場戦略ではなく、愛情の結晶

RetroOS-32 は、商業目的ではなく、純粋に学習と楽しみのために開発された情熱プロジェクトとして際立っています。2022年5月に開始されたこのプロジェクトは、すべてを一から構築することに焦点を当て、初期のコンピューティングの精神を受け継いでいます。開発者はカーネルレベルのコードからユーザースペースアプリケーションまで、すべてのコンポーネントを既存のソフトウェアを移植するのではなく、自分自身で書くという個人的なルールに従って作成しました。

「実際に『使われる』ことや市場のことを考えなくていいというのは、本当に爽快です。単純に楽しみと学びのためだけに。」

このアプローチは、市場適合性と商業的実現可能性を優先することが多い今日のソフトウェア開発の状況とは鋭く対照的です。テクノロジーコミュニティの多くにとって、 RetroOS-32 のようなプロジェクトは、探求と学習が主な動機だったコンピューティングの原点への回帰を表しています。

技術的成果と課題

RetroOS-32 は、趣味のオペレーティングシステムとしては、グラフィック機能、マルチタスク、ネットワーキングなどの印象的な機能を備えています。カーネルとユーティリティにはCとアセンブリ言語、ユーザースペースアプリケーションにはC++を使用して構築されており、低レベルプログラミングの概念を包括的に理解していることを示しています。

開発者は RetroOS-32 用に独自のCコンパイラも作成しており、このコンパイラは RetroOS-32 内部で動作するだけでなく、 Linux 上でも実行できます。現在は制限があり(intとcharデータ型のみをサポートし、switch文などの機能が欠けている)、このコンパイラはこのプロジェクトにおけるもう一つの重要な技術的成果を表しています。

ハードウェア互換性テストは広範囲に行われ、 Lenovo x220i 、 Asus free PCシリーズ、 Dell Optiplexes 780 、 Samsung デバイス、 IBM ThinkPad など様々な機器での起動に成功しています。コミュニティメンバーも追加のハードウェアでのOSの起動成功を報告していますが、USBの入力デバイスやメモリ報告に関連するいくつかの課題も指摘されています。

RetroOS-32 技術仕様

  • アーキテクチャ: 32ビット
  • 使用言語:
    • C と アセンブリ(カーネル、ユーティリティ、ビルドシステム)
    • C++(ユーザースペースアプリケーション)
    • Make(コンパイル)
  • 機能:
    • グラフィック機能
    • マルチタスキング
    • ネットワーキング( Ethernet 、 IP 、 ARP 、 UDP )
    • カスタム C コンパイラ
    • ウィンドウマネージャ
    • ファイルシステムサポート

ハードウェア互換性:

  • Lenovo x220i
  • Asus フリー PC シリーズ
  • Dell Optiplexes 780
  • Samsung N7100 Plus
  • Samsung NP-NC10
  • IBM Thinkpad a31p

システム要件:

  • 256M 仮想メモリ
  • IDE サポート

コミュニティの反応と技術的洞察

技術コミュニティはこのプロジェクトに熱狂的に反応し、多くの人々が一からオペレーティングシステムを構築する開発者の献身に賞賛を表明しました。何人かのコメンターは自身のOS開発経験を共有し、設計の選択、技術的課題、実装戦略に関する豊かな議論を生み出しました。

フォントレンダリングは改善の可能性がある分野として浮上し、コミュニティメンバーは画面スペースをより有効に活用するために、よりコンパクトなフォントを提案しました。開発者はこのフィードバックを認め、フォントレンダリングの改善がTo-Doリストに含まれていると述べています。

特に熱心なコミュニティメンバーの一人は、ベアメタルハードウェアで広範なテストを実施し、起動プロセス、パーティション構造、ファイルシステムの実装について詳細な洞察を提供しました。彼らのコメントは、 RetroOS-32 の現在の機能と、異なるパーティション構成からの起動時にシステムをより堅牢にするための潜在的な改善領域の両方を明らかにしました。

今後の方向性

今後を見据えて、開発者はいくつかの継続的な改善領域を特定しています。もし最初からやり直すとしたら何をするかと尋ねられた時、彼らは最初から明確な計画を持つことを挙げました。というのも、このプロジェクトは基本的な「hello world」OSから、はるかに複雑なものへと有機的に進化したからです。この有機的な成長により、開発者がまだ対処している技術的負債が生じています。

WiFiサポートはロードマップに含まれており、開発者は既にいくつかのWiFiコードを書いており、ドライバを実装する必要があると述べています。UIの改善も計画されており、開発者はユーザーインターフェースデザインが複数回の書き直しを必要とする課題であったことを認めています。

このプロジェクトは、低レベルのシステム開発に興味を持つ他の人々にとってインスピレーションとなり、献身と忍耐力があれば、複雑なコンピューティングプロジェクトでさえ趣味の取り組みとして達成できることを示しています。高レベルの抽象化が増々支配的になるコンピューティングの風景の中で、 RetroOS-32 は最も基本的なレベルでコンピュータを理解することの継続的な価値と教育的可能性の証となっています。

参考: RetroOS-32