跳至內容

FreeDOS

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
FreeDOS
FreeDOS 1.1的預設殼層,FreeCOM
開發者Jim Hall與FreeDOS團隊
程式語言C語言
作業系統家族DOS
運作狀態進行中
原始碼模式自由軟件/開放原始碼
首次釋出1998年1月12日,​26年前​(1998-01-12
目前版本
  • 1.3(2022年2月20日;穩定版本)[1][2]
編輯維基數據連結
支援的語言英語
支援平台x86
內核類別整塊性核心[3]
預設用戶介面DOS 命令列介面
特許條款GNU通用公眾特許條款
官方網站www.freedos.org
倉庫 編輯維基數據連結

FreeDOS(曾叫做Free-DOSPD-DOS)是一個在IBM PC相容機下執行的作業系統。FreeDOS由許多不同的獨立程式組成,這些程式就是整個FreeDOS專案中的「包」。[4]

它主要通過OP來提供磁碟訪問和檔案系統,以及部分主記憶體管理,但是沒有預設的GUI(儘管FreeDos 0.9及以上版本推薦使用OpenGEM)。

FreeDOS支援老式和新式PC,以及嵌入式系統。像MS-DOS一樣,它可以從軟碟硬碟以及ROM啟動。[5] 與MS-DOS不同的是,它支援從CD-ROM安裝,並且人們可以自由地建立屬於自己的客製化發行版,而不用為再發行支付使用費。FreeDOS是自由開源的,遵守GNU(GPL)。但是在其"util"部分中,FreeDOS也包含專有軟件,例如4DOS英語4DOS

歷史

FreeDOS專案開始於1994年6月26日,當微軟宣佈不會發售和支援MS-DOSJim Hall隨後宣佈了要開發一個開源替代品的宣言。幾個星期內,其他的程式設計師包括Pat VillaniTim Norman加入了這個專案。一個內核,command.com命令列解釋程式(shell)和核心實用工具通過共用自己編的原始碼而被創造出來。1.0版於2006年9月23日釋出。

在FreeDOS 1.0最終釋出之前,有過一些官方的預釋出版[6]:

版本 狀態 代號 日期
0.05 ALPHA 沒有 1998年1月12日
0.1 BETA Orlando 1998年3月25日
0.3 BETA Ventura 1999年4月21日
0.4 BETA Lemur 2000年4月9日
0.5 BETA Lara 2000年8月10日
0.6 BETA Midnite 2001年3月18日
0.7 BETA Spears 2001年9月7日
0.8 BETA Nikita 2002年4月7日
0.9rc1 BETA Methusalem 2003年7月
0.9rc2 BETA 沒有 2003年8月23日
0.9rc3 BETA 沒有 2003年9月27日
0.9rc4 BETA 沒有 2004年2月5日
0.9rc5 BETA 沒有 2004年3月20日
0.9 BETA 沒有 2004年9月28日
0.9sr1 BETA 沒有 2004年9月30日
0.9sr2 BETA 沒有 2005年11月30日
1.0 FINAL 沒有 2006年9月3日
1.1 FINAL 沒有 2012年1月2日
1.2 FINAL 沒有 2016年12月26日

發行

FreeDOS不要求任何費用和版稅。FreeDOS 1.0提供CD-ROM鏡像下載:一個只含有內核和基礎程式的基本光碟和一個擁有更多程式(例如遊戲、網絡和開發)並可作為Live CD使用的完整光碟。另外,還存在一個可以製作Live CD的軟碟鏡像。這兩個版本都提供了原始碼。可以使用BitTorrent下載得到。

現在還有一個官方的Live USB版本。

一些電腦品牌可讓客戶選擇預載FreeDOS的電腦,通常供貨給已購買大量特許Windows的企業用戶,或是需安裝其他作業系統的用戶。戴爾有預裝FreeDOS的n-series[7],但是這些產品和執行Windows的同一型號機器相比並沒有多便宜,而且又很難買到,戴爾公司因此受到了批評。[8]。另外,戴爾還時常提供FreeDOS電腦一些像雙核心一類FreeDOS不能利用的特性。惠普把FreeDOS作為DC5750桌上電腦的一個可選組態。GRCSpinRite 6引導鏡像裝載FreeDOS,並顯示在底部的啟動畫面華碩利用FreeDOS讓它們的用戶引導主機板驅動CD來建立SATA裝置驅動光碟給Windows XP SP2以前的Windows版本。

與MS-DOS的關係

FreeDOS大部分相容MS-DOS,並允許一些早期版本的Windows像在MS-DOS上一樣執行。

FreeDOS跟MS-DOS相比有一些改進,大部分改進支援了在微軟停止支援MS-DOS時不存在的新標準和技術,例如國際化,進階能源管理,主記憶體常駐程式並且綜合了ASPI。另外還支援邏輯塊定址FAT32檔案系統(包括從FAT32引導)。儘管由6.22版以前的MS-DOS不能支援這些功能,但是MS-DOS 7.10等的版本有了部分支援[9]

相容性

綜合

大部分為DOS 家族所寫的程式可以在FreeDOS上有效執行。大部分類型的可執行檔案已經被支援:

進一步的,由於HX DOS 擴充器的使用,許多Win32終端程式也能在FreeDOS上執行。

Windows 1.0至3.xx

FreeDOS能夠相容1.02.0版本的Microsoft Windows。然而,已支援i386處理器的3.x版本的Windows,卻不能在 386增強模式中執行。其中,Windows 3.0 可以在真實模式或者標準模式中執行,而其他的Windows 3.x版本只能在標準模式中執行。 因為Windows for Workgroups 3.11捨棄了標準模式的支援,它不能在FreeDOS中執行,除非FreeDOS中涉及himem.exe和emm386.exe的部分被替換為Windows下的himem.sys和emm386.exe。雖然Windows for Workgroups 3.11支援一個可以在FreeDOS下執行的除錯模式,但是這個模式會比在標準模式下執行的先前版本還要有限的多。

Windows 9x和Windows Millennium Edition

Windows 9598Me把一個僅剩下內核的MS-DOS作為Boot Loader。 FreeDOS不能作為這個裝載器的替身;然而,它可以被安裝並通過一個引導管理器程式在這些系統之間使用,例如FreeDOS中包含的"METAKERN"。

Windows NT/2000/XP/2003和ReactOS

基於Windows NT的作業系統,包括Windows 2000XP,和2003都沒有把MS-DOS當作系統的核心成分。這些系統可以使用FAT,一個MS-DOS和早期版本的Windows所使用的檔案系統;但是,他們一般預設使用NTFSNT 檔案系統)。FreeDOS不能和這些系統在一個單獨的NTFS或FAT檔案系統裏和平共處,但是FreeDOS內核還是可以被添加到Windows NT Boot Loader設定檔,boot.ini,或React OS中的freeldr.ini來引導它啟動。 FreeDOS也可以在虛擬化軟件Virtual PCVirtualBoxBochsQEMU一類模擬器軟件中執行。

FreeDOS-32

FreeDOS-32是一個有不同目標且單獨的專案。FreeDOS要再造一個MS-DOS,因此不僅僅有它的特點也有它的局限性。FreeDOS-32希望在其基礎上有所擴充和改進。FreeDOS-32可以在FreeDOS和其他DOS 家族之上執行。它被計劃成為一個32位元系統,與16位元系統相比,能提供更強的效能與更多的功能。另外,這個以32位元執行的作業系統移除了DOS 擴充器的需要,從真實模式轉換到了保護模式,還且擁有了對保護模式程式的支援。

技術細節

FreeDOS完整的支援FAT32,並可以從FAT32上啟動。根據BIOS的情況,容量達到128G的LBA硬碟,甚至2TB的容量都可能被支援。使用超大容量的硬碟需要小心,因為這到現在只經過非常少的測試,並且一些BIOS雖支援LBA但會在容量超過32GB硬碟上產生錯誤。一些OnTrack或者是EzDrive 的驅動解決了這些問題。 FreeDOS可以同一種叫DOSLFN的驅動使用,它支援長檔名(參見VFAT),但是大部分早期程式就算裝載了這個驅動也不能使用長檔名。

FreeDOS沒有支援NTFSext2的計劃,但是有一些外部第三方驅動能達到使用這些檔案系統的目的。為了接受ext2檔案系統,LTOOLS(與MTOOLS相當)可以在ext2檔案系統上讀取和寫入數據。NTFSDOS和NTFS4DOS一類產品則提供了對NTFS的支援。

目前FreeDOS專案內還沒有USB驅動, 但是許多新主機板BIOS有「Legacy USB」設置,它可以允許USB裝置在缺少USB支援的系統(如FreeDOS)上使用。 這一般運用在滑鼠和鍵盤上,但一些BIOS甚至可以讓它支援儲存裝置。 一些提供給儲存裝置的外部USB驅動(例如DUSE,USBASPI和USBMASS)在一番努力和運氣成分之下也能工作。一個更好的執行DOS程式並能同時使用USB裝置的選擇會是DOSBox,它會從宿主系統中認出USB裝置並把它們扮演成「傳統埠」裝置(例如帶有遊戲埠搖杆並列埠的印表機,而USB手指則會當作DOS下的硬碟)。

FreeDOS與Windows XP雙啟動

第一種方法是格式化磁碟分區為FAT32,先安裝FreeDOS到第一分區,再安裝Windows XP到第二分區,開機時就可以看到雙啟動選單。

第二種方法就是使用gag4.11.zip,或者是freedos內建的XOSL 1.1.5.zip或者是grub,可以很好的解決。

可開機軟碟

FreeDOS可以從單一軟碟安裝。

主記憶體管理

FreeDOS中的HIMEMEMM386主記憶體管理程式為真實模式提供了延伸主記憶體(XMS)和擴充主記憶體(EMS)。 EMM386還支援VCPI,它使得DPMI內核與DOS擴充器同FreeDOS和平共處。FreeDOS還包括用於高速硬碟的UDMA驅動,這個驅動能和其他DOS相容。LBAcache在XMS中留有最近存取的磁碟數據,使之得到更快的儲存速度並能較少的直接讀寫磁碟,其功能類似MS-DOS中的SMARTDRV。

FreeDOS外殼——FreeDOS版COMMAND.COM,又稱FreeCOM——可以把自身一部分移動到擴充主記憶體,將多至620KB的常規主記憶體釋放出來。這對於只利用常規主記憶體的DOS程式來說非常有用處。

FreeDOS並沒有100%的相容度,但足夠執行大部分程式。高質素且使用標準API的程式執行良好。而執行Windows 9x的問題則是源於微軟設法阻止他們的產品在非微軟DOS執行。[10]

截圖

FreeDOS editor screenshot

在Infobox中可檢視更多截圖。

GUI

OpenGEM

唯一被FreeDOS所支援的OpenGEM是一個為了支援DOS環境而正在積極開發的圖形介面。如果你正在使用Blair's FreeDOS磁碟或者是GNU/DOS的話,你就已經擁有了OpenGEM的最新版本。 要啟動這個圖形介面,你只需要切換到c:\並輸入gem就可以了。

SEAL

SEAL是DOS上的一個32位元的圖形介面

參考

  1. ^ FreeDOS 1.3: Release Build Environment (RBE) - 3rd Edition, report file. 2022年2月20日. 
  2. ^ FreeDOS officially releases the FreeDOS 1.3 distribution (20 February 2022). 2022年2月20日 [2023年8月8日]. 
  3. ^ Villani, Pat. FreeDOS Kernel. Emeryville, CA, USA: Miller Freeman. 1996. ISBN 0-87930-436-7. 
  4. ^ FreeDOS. FreeDOS. [2017-12-14]. (原始內容存檔於2017-12-14) (英語). 
  5. ^ FreeDOS website about. FreeDOS. [2008-06-02]. (原始內容存檔於2007-05-27) (英語). 
  6. ^ FreeDOS Old Distributions[永久失效連結]
  7. ^ Dell OptiPlex Desktops. [2008-06-02]. (原始內容存檔於2004-04-05) (英語). 
  8. ^ How Dell repels attempts to buy its 'open source' PC. 2005-10-06 [2017-12-14]. (原始內容存檔於2017-12-14) (英語). 
  9. ^ MS-DOS: A Brief Introduction. The Linux Information Project. [2017-12-14]. (原始內容存檔於2017-12-14) (英語). 
  10. ^ Graham Lea. Caldera vs Microsoft - the settlement. BBC News. 2000-01-13 [2017-12-14]. (原始內容存檔於2017-12-14) (英語). 

參見

外部連結