30年後的今天FreeDOS仍在延續命令提示字元的夢想
1994 年6 月,基於文字的磁碟作業系統領域發生了兩件大事。首先是微軟發布了MS-DOS 6.22 版,這是其長期運行的作業系統作為獨立產品銷售給消費者的最後一個版本。在此之後的幾年中,MS-DOS 仍在繼續發展,但只是作為Windows 越來越隱密的載入機制。
第二件事是,一位名叫吉姆-霍爾(Jim Hall)的開發人員寫了一篇文章,宣布了一個名為”PD-DOS”的系統。霍爾對Windows 3.x 不滿意,對我們後來熟知的Windows 95 專案也不感興趣,他想開發一個新的”公共領域”版本的DOS,在全球大多數人都將傳統的命令列介面拋在腦後,轉而使用更友善但資源密集的圖形使用者介面時,這個版本仍能保持傳統命令列介面的活力。
PD-DOS 很快就更名為FreeDOS,30 年後的今天,它已成為最後一個仍在積極開發中的MS-DOS 相容作業系統。
儘管在互聯網時代,DOS 並不能作為一個獨立的現代作業系統使用–除其他原因外,DOS 並沒有真正意識到”互聯網”這一概念–但它在當今的計算機領域仍然佔有重要地位。對於需要在現代系統上運行傳統應用程式的用戶來說,無論是在虛擬機中運行,還是直接在硬體上運行,它都能滿足他們的需求;同時,它也是在傳統硬體上運行經過積極維護的DOS 分支的最佳方式,最早可以追溯到最初的IBM PC 及其英特爾8088 CPU。
為了紀念2014 年FreeDOS 誕生20 週年,我們與霍爾和其他FreeDOS 維護者討論了它的持續相關性、DOS 的遺產,以及開發者已經放棄的添加雄心勃勃的現代功能(如多任務處理和內置網絡支持)的計劃(我們也認真地嘗試了僅使用FreeDOS 進行現代工作,但成功與否參半)。與MS-DOS 相容的作業系統世界發展緩慢,因此這些資訊大多仍然適用;FreeDOS 在2014 年的版本為1.1,而現在的版本為1.3。
在FreeDOS 30 週年之際,我們再次採訪了霍爾,了解FreeDOS 計畫在過去十多年中的發展情況,為什麼它仍然重要,以及它如何繼續吸引新用戶加入。此外,我們也討論了這個固有的落後作業系統的未來,雖然看起來有些奇怪。
FreeDOS 仍在運行,即使硬體發展超越了它
在FreeDOS 中執行與Lotus 1-2-3 相容的電子表格程式AsEasyAs 吉姆-霍爾
霍爾說,如果說過去十年沒有迎來”桌面上的FreeDOS 年”,那麼自2014 年以來,人們對該操作系統的興趣和使用率一直保持在相當高的水平。不同的是,隨著時間的推移,越來越多的用戶將FreeDOS 作為他們的第一個DOS 相容作業系統,而不是微軟和IBM 上世紀八九十年代塵封軟體的更新版本。
霍爾在接受Ars 的電子郵件採訪時說:”與10 年前相比,我認為人們對FreeDOS 的興趣程度差不多。從人們發給我的提問郵件,或者我在freedos-user 或freedos-devel 郵件清單上看到的新用戶提問,或者在Facebook 群組和其他論壇上談論FreeDOS 的人來看,我認為以某種方式參與FreeDOS 社區的人數還是差不多的。
“我在9 月和10 月左右收到很多人的問題,基本上都是問’我安裝了FreeDOS,但不知道如何使用它。我該怎麼辦?我想這些人是在大學的計算機科學課程中了解到FreeDOS 的,並想進一步了解它;或者他們已經在某個地方工作了,他們讀到了一篇關於FreeDOS 的文章,以前從未聽說過這個”DOS”東西,並想嘗試一下。如何,我認為用戶社群中更多的人在了解FreeDOS 的同時也在了解DOS。
儘管人們仍在下載和使用FreeDOS,但PC 硬體的變化使得在新PC 上直接安裝和運行FreeDOS(稱為”裸機”安裝,以區分直接安裝在PC 上的作業系統和通過某種模擬器或虛擬機在其他作業系統上運作的作業系統)變得更加困難。這不僅僅是指採用基於Arm 處理器的系統(FreeDOS 不懂這些晶片的語言)正在慢慢興起。
其中一個問題是用於啟動現代PC 的UEFI 韌體。 UEFI 在2000 年代末期開始取代傳統的PC BIOS,如今已成為啟動Windows、macOS 和Linux 的預設機制,儘管從技術上講,Windows 和Linux 仍然可以在非UEFI 系統上啟動。
長期以來,採用UEFI 韌體的新電腦仍包含某種傳統相容模式,以支援像FreeDOS 這樣只能在BIOS 模式下啟動的作業系統。許多電腦仍然如此,尤其是那些主機板為用戶提供大量配置選項的家用桌上型電腦(主機板可能將BIOS 支援稱為”CSM”,即”相容性支援模組”)。但許多新電腦只能使用UEFI 啟動,這對直接在硬體上執行FreeDOS 是個問題。
儘管FreeDOS 團隊曾經有過更雄心勃勃的計劃,但FreeDOS 存在的主要原因還是為了運行經典的DOS 程式和遊戲,如Commander Keen。
霍爾告訴Ars:「人們問是否有可能重寫或更新FreeDOS 內核,以使用UEFI 代替BIOS。也許可以替換內核中使用BIOS 的部分,但大量的DOS 應用程式和遊戲都是直接呼叫BIOS 的。DOS並不像更現代的作業系統那樣使用硬體抽象層(Hardware Abstraction Layer 或HAL),即應用程式與HAL 對話,HAL 與硬體對話。
換句話說,開發人員可以編寫一個可以在UEFI 系統上啟動的FreeDOS 版本,甚至可以編寫一個可以在Arm 系統上啟動的FreeDOS 版本。但無論哪種改變,都會破壞絕大多數現有的DOS 應用程序,而執行這些舊程式正是FreeDOS 存在的主要原因。
霍爾說:”這就是我們建議在虛擬機器中運行FreeDOS 的原因之一。虛擬機提供了BIOS。不過,從實用的角度來看,我認為大多數人都沒有興趣嘗試在新桌上型電腦或筆記本電腦的裸硬體上運行FreeDOS,這些硬體包括16 核心英特爾酷睿Ultra CPU、32GB 記憶體、512GB 固態硬碟和Wi-Fi。 ,你更有可能在老式PC 上安裝FreeDOS。
怪異的復古PC 是體驗FreeDOS 的絕佳方式
Book 8088 是一台非常奇特的機器,但它讓現代人更容易接受復古運算的某些方面。
說到復古電腦,其實在過去幾年裡,它們變得更容易找到和使用了。這在一定程度上要歸功於像Book 8088、Hand 386 和Pocket 386這樣的奇特AliExpress 硬體的興起。雖然這些硬體充其量只是存在於道德的灰色地帶–我們使用的Book 8088 在出廠時就附帶了各種老舊但仍受版權保護的軟體,另外還有一個從開源社區盜取的BIOS,沒有註明出處–但與真正的老舊IBM PC 或手提箱大小的康柏Deskpro 相比,它們更容易購買,也更容易騰出空間。
這些便攜式系統混合使用了真正的復古部件和較新的複製品,在很大程度上忠實地複製了使用復古PC 的體驗。現代的螢幕和電池技術以及固態儲存讓它們比正品用起來更順手,但與在完全現代的系統上運行86Box 這樣的模擬器相比,還是更接近原始體驗。
霍爾認為這些舊系統”非常棒”,他一直在使用在Pocket 386 上運行的FreeDOS 運行復古遊戲和應用程式。這台PC 配備了40 MHz 的386SX 處理器和8MB 內存,在FreeDOS 於90 年代中期問世時,這台PC 已被認為有點過時,但它仍然代表了當時在任何計算機實驗室、辦公室或家庭房間裡可能發現的那種正在慢慢老化的系統。
霍爾也稱讚Pocket 386 是一款復古的文字處理器和電子表格機;即使在8088 上也能很好地運行這類DOS 生產率應用程序,因此386 帶來的體驗會更令人愉悅。
很多人會選擇在這些系統上運行真正的MS-DOS 或IBM PC-DOS,而MS-DOS 也是製造商提供給他們的。但FreeDOS 持續發展的好處是,它可以支援一些現代設施,使復古電腦體驗更加愉悅。
當被問及如何擴展FreeDOS 的功能時,霍爾說:”我們在’用戶空間’中提供了很多擴展功能。FreeDOS 內核必須是相當經典的DOS 內核,但我們可以添加幾乎任何我們需要的獨立實用程序和(cdrcache
工具。以及UDMA 硬碟和固態硬碟的快取驅動程式)。 。(doslfn
lfndos
(uhdd
FreeDOS 1.4 中可能出現的內容
目前版本的FreeDOS 無法像MS-DOS 和PC-DOS 一樣作為Windows 3.x 的載入器。下一個版本可能會改變這種狀況。
自2006 年9 月推出1.0 版以來,該計畫平均每四到六年進行一次重大編號更新。不太可能對DOS 做很多事情,卻又不試圖把它變成一個不是它的東西;升級往往是漸進的,而且範圍很窄。但霍爾說,FreeDOS 1.4 的更新工作肯定正在進行中。
“我們的發行版協調人傑羅姆-希德爾(Jerome Shidel)創建了一個月度測試發行版,用於測試FreeDOS 程序的最新版本。我們的計劃是,有朝一日,該測試版本將成為下一個發行版的基礎,”霍爾告訴Ars。 “測試版本目前有很多很酷的更新,其中大部分都提供了修復功能,例如新的fdisk
提供了解決Book8088 BIOS bug 的方法,新的zoo
歸檔器修復了集群大小超過32 kB 的問題,更新的edlin
編輯器啟動更安靜。
理論上FreeDOS 1.4 可能會有的另一項新功能是什麼? Windows 支援。
儘管FreeDOS 與絕大多數經典DOS 軟體保持相容,但目前版本不能作為3.1 或3.11 for Workgroups 等舊版Windows 的引導程式–至少,它不能以功能齊全的”386 增強”模式運行這些作業系統。雖然FreeDOS 是霍爾等人為了遠離Windows 而開發的,但霍爾表示,支援舊版的Windows 是使用者的普遍要求。
霍爾說:”也許當核心準備就緒時,我們可以將測試版本分離出來,成為新的”1.4″發行版。但這只是我的想法,我不想搶在社區前面。我們會在freedos-devel
郵件列表中討論一切,然後再做決定。