FreeDOS(曾叫做Free-DOSPD-DOS)是一個在IBM PC兼容機下運行的操作系統。FreeDOS由許多不同的獨立程序組成,這些程序就是整個FreeDOS項目中的「包」。[4]

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
倉庫 編輯維基數據鏈接

它主要通過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設備並把它們扮演成「傳統端口」設備(例如帶有遊戲端口搖杆並行端口的打印機,而閃存盤則會當作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]

截圖 編輯

 

在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) (英語). 

參見 編輯

外部連結 編輯