在商業作業系統和人工智慧發展主導的時代,一位開發者透過他們的業餘作業系統專案取得了令人印象深刻的里程碑。RetroOS-32,一個從零開始構建的32位作業系統,已成功在真實硬體上啟動,特別是在 Lenovo ThinkPad 上。這一成就代表了多年來在計算領域的專注工作,這個領域讓人回想起個人計算的早期時代,那時在系統層面的探索更為常見。
![]() |
---|
RetroOS-32 的 GitHub 倉庫截圖,強調了開發者從零開始建立作業系統的承諾 |
熱愛之作,而非市場策略
RetroOS-32 作為一個純粹為了學習和享受而開發的熱情專案而脫穎而出,而非出於商業目的。該專案始於2022年5月,透過專注於從頭開始構建一切,體現了早期計算的精神。開發者編寫了從核心級程式碼到使用者空間應用程式的所有內容,遵循自己制定的規則,即親自編寫所有元件,而不是移植現有軟體。
「這真的很令人耳目一新,不必考慮它實際上是否會被'使用'或市場。單純只是為了樂趣和學習。」
這種方法與當今的軟體開發環境形成鮮明對比,後者通常優先考慮市場適應性和商業可行性。對於技術社群中的許多人來說,像 RetroOS-32 這樣的專案代表著迴歸計算的根源,那時探索和學習是主要動機。
技術成就與挑戰
作為一個業餘作業系統,RetroOS-32 包含了令人印象深刻的功能,包括圖形功能、多工處理和網路連線。該系統使用 C 語言和組合語言構建核心和工具,用 C++ 構建使用者空間應用程式,展示了對低階程式設計概念的全面理解。
開發者甚至為該作業系統建立了自己的 C 編譯器,該編譯器可以在 RetroOS-32 內部工作,也可以在 Linux 上執行。雖然目前功能有限(僅支援 int 和 char 資料型別,缺少 switch 語句等功能),但該編譯器代表了這個專案的另一項重要技術成就。
硬體相容性測試已經廣泛進行,成功在各種機器上啟動,包括 Lenovo x220i、Asus free PC 系列、Dell Optiplexes 780、Samsung 裝置和 IBM ThinkPads。社群成員也報告在其他硬體上成功啟動該作業系統,儘管在 USB 輸入裝置和記憶體報告方面存在一些挑戰。
RetroOS-32 技術規格
- 架構: 32位
- 使用的程式語言:
- C 和組合語言(核心、實用工具、構建系統)
- C++(使用者空間應用程式)
- Make(編譯)
- 功能特性:
- 圖形處理能力
- 多工處理
- 網路功能(乙太網、IP、ARP、UDP)
- 自定義 C 編譯器
- 視窗管理器
- 檔案系統支援
硬體相容性:
- Lenovo x220i
- Asus free PC 系列
- Dell Optiplexes 780
- Samsung N7100 Plus
- Samsung NP-NC10
- IBM Thinkpad a31p
系統要求:
- 256M 虛擬記憶體
- IDE 支援
社群反應和技術見解
技術社群對該專案做出了熱情的回應,許多人對開發者從頭開始構建作業系統的奉獻精神表示欽佩。幾位評論者分享了他們自己的作業系統開發經驗,圍繞設計選擇、技術挑戰和實現策略建立了豐富的討論。
字型渲染成為一個可能需要改進的領域,社群成員建議使用更緊湊的字型以更好地利用螢幕空間。開發者承認了這一反饋,指出字型渲染改進已經在他們的待辦事項列表中。
一位特別積極參與的社群成員在裸機硬體上進行了廣泛測試,提供了關於啟動過程、分割槽結構和檔案系統實現的詳細見解。他們的評論揭示了 RetroOS-32 當前的功能以及在從不同分割槽配置啟動時使系統更加健壯的潛在改進領域。
未來方向
展望未來,開發者已經確定了幾個需要繼續改進的領域。當被問及如果重新開始會做什麼不同的事情時,他們提到從一開始就有一個更清晰的計劃,因為該專案從一個基本的 hello world 作業系統有機地發展成為更復雜的系統。這種有機增長導致了一些技術債務,開發者仍在努力解決這些問題。
WiFi 支援已經在路線圖上,開發者提到他們已經編寫了一些 WiFi 程式碼,需要實現驅動程式。使用者介面改進也在計劃中,開發者承認使用者介面設計一直是一個需要多次重寫的挑戰。
該專案為那些對低階系統開發感興趣的人提供了靈感,證明了透過奉獻和堅持,即使是複雜的計算專案也可以作為業餘愛好來完成。在一個越來越被高階抽象所主導的計算環境中,RetroOS-32 作為一個證明,展示了在最基本層面上理解計算機的持續價值和教育潛力。
參考:RetroOS-32