歷史
大家都知道,微軟在開發出Win95後停止了DOS的獨立發展。但是,在Win95出現之前,微軟已經明顯地加強了Windows的開發而減慢了DOS的發展,並在Windows中採取一些不光彩的手段去排斥打擊其他的DOS系統如
DR-DOS等,以確保MS-DOS的統治地位,維護自己的商業利益。比如當您在DR-DOS中運行Win3.x時,肯定不時會出現所謂的“錯誤”信息。
微軟的專橫做法當然引起了許多人的不滿,許多團體甚至個人,包括大名鼎鼎的
IBM公司都紛紛投入到開發兼容DOS的行列這中,意圖打破微軟對DOS的壟斷局面。同時由於DOS的開放性和大家對DOS強大實用的功能的認識,DOS的種類不斷增加,目前至少有20種,如
PC-DOS、ROM-DOS、PTS-DOS、FreeDOS等,而新的功能,新的理念更是層出不窮。這裡我們就為大家介紹一下最具代表性的FreeDOS。
FreeDOS 專案開始於1994年6月26日,當微軟宣布不會發售和支援MS-DOS。Jim Hall隨後宣布了要開發一個開源替代品的宣言。 幾個星期內,其他的程式設計師包括Pat Villani和Tim Norman加入了這個項目。一個核心,command命令行
解釋程式(shell)和核心實用工具通過共享自己編的源碼而被創造出來。FreeDOS工程的目標是建立一個完整的、自由開放的並且與MS-DOS完全兼容的新型DOS作業系統,這個DOS系統屬於全人類。由於它是建立著名的GNU GPL(
GNU通用公共許可證)協定下的
自由軟體,得到來自世界各地眾多優秀程式設計師的支持,現在一直在不斷的發展著,而且參加的人越來越多,通過網際網路聯合起來朝著他們的目標去努力,充分體現了自由開放和團結的精神。1.0版於2006年9月23日釋出。
現在FreeDOS的
版本號已經發展到2.0,目前最新版本是1.2,於2016年12月推出。
發行
FreeDOS不要求任何費用和版稅。另外也兼容MS-DOS的系統中只有Enhanced
DR-DOS,PTS-DOS和ROM-DOS 還在積極發行。FreeDOS 1.0提供
CD-ROM鏡像下載:一個只含有
核心和基礎程式的基本光碟和一個擁有更多程式(例如遊戲、網路和開發)並可作為Live CD使用的完整光碟。另外,還存在一個可以製作Live CD的
軟碟鏡像。這兩個版本都提供了原始碼。可以使用
BitTorrent下載得到。 現在還有一個官方的Live USB版本。
戴爾有預裝FreeDOS的n-series,但是這些產品和運行Windows的同一型號機器相比並沒有多便宜,而且又很難買到,
戴爾公司因此受到了批評。。另外,戴爾還時常提供FreeDOS電腦一些像雙核心一類FreeDOS不能利用的特性。惠普把FreeDOS作為DC5750台式機的一個可選配置。GRC的SpinRite 6引導鏡像裝載FreeDOS,並顯示在底部的
啟動畫面。華碩利用FreeDOS讓它們的用戶引導
主機板驅動CD來創建SATA設備
驅動光碟給Windows XP SP2以前的Windows版本。
技術及套用
FreeDOS與MS-DOS
目前為FreeDOS設計的DOS軟體正在源源不斷的推出和發展,不僅有各種
外部命令,還有許多其它的增強程式和附屬檔案,而且質量既高也很實用,往往超過MS-DOS中的同類命令。
例如在它上面開發的Cute Mouse,就是目前DOS下最好(體積最小,功能最強)的滑鼠驅動程式。而
ATTRIB、
XCOPY等眾多
外部命令,不僅比
MS-DOS的同類命令效率要高,而且體積不到後者的二分之一甚至幾分之一。尤其重要的是,作為自由軟體,它的
原始碼是完全公開的,顯然對於需要學習和借鑑的國人,這是最好不過的事了。
FreeDOS與MS-DOS是完全兼容的,因此為它開發的軟體基本上都可以直接移植過來在MS-DOS等DOS下使用。
FreeDOS跟MS-DOS相比有一些改進,大部分改進支持了在微軟停止支持MS-DOS時不存在的新標準和技術,例如國際化,高級能源管理,記憶體
常駐程式並且綜合了ASPI。另外還支持邏輯
塊定址和
FAT32檔案系統(包括從FAT32引導)。儘管由6.22版以前的MS-DOS不能支持這些功能,但是MS-DOS 7.10等的版本有了部分支持。
我們國內外已經開發的絕大多數DOS軟體可以在它上面正常的運行。它的功能也十分強大,比如同樣支持FAT32分區和大硬碟,部分功能已經遠遠超過MS-DOS。還有許多其它非常實用的功能,如內置
DOSKEY支持、支持極大的記憶體(最大高達4G)等。至於更多的功能,如
長檔案名稱功能等等,現在正在大家不斷的努力下開發著,相信不久後就會成為現實。不僅如此,它的系統啟動檔案也比MS-DOS等小巧得多。它的
核心檔案只有一個,再加上一個SYS檔案和一個命令處理器command檔案,總共才130K,放在
啟動盤中是十分合適的。
不過,與MS-DOS等DOS一樣,上面介紹的FreeDOS是16位的。由於現在32位的作業系統逐漸成了大勢所趨,因此,為了跟上時代的發展,人們又開發了32位的FreeDOS作業系統,即
核心為32位的FreeDOS版本FreeDOS 32,並再次得到了眾多的支持。雖然目前它還不是很成熟,但它一直在發展著,而且毫無疑問,32位的FreeDOS有著劃時代的意義,標誌著DOS逐漸向32位的核心的方向發展了。
尤其是在國外,不少人認為,FreeDOS將為DOS帶來新的生機和氣象,因此對此感興趣和參加的人越來越多。無數的優秀程式設計師投入其中不斷為FreeDOS的發展添磚加瓦。目前,自由的FreeDOS越來越受到人們的關注,比如著名的Dell電腦公司就即將為它生產的部分電腦直接提供FreeDOS作業系統。
技術細節
FreeDOS完整的支持
FAT32,甚至FreeDOS可以在其上啟動。根據BIOS的情況,四塊容量高達128G的LBA硬碟,甚至2 TB的容量都可能被支持。使用超大容量的硬碟需要小心,因為這到現在只經過非常少的測試,並且一些BIOS雖支持LBA但會在容量超過32GB硬碟上產生錯誤。一些
OnTrack或者是EzDrive 的驅動解決了這些問題。 FreeDOS可以同一種叫DOSLFN的驅動使用,它支持
長檔案名稱(參見
VFAT),但是大部分早期程式就算裝載了這個驅動也不能使用長檔案名稱。
FreeDOS沒有支持
NTFS或
ext2的計畫,但是有一些外部第三方驅動能達到使用這些檔案系統的目的。為了接受ext2檔案系統,LTOOLS(與MTOOLS相當)可以在ext2檔案系統上讀取和寫入數據。NTFSDOS和NTFS4DOS一類產品則提供了對NTFS的支持。
記憶體管理
FreeDOS中的HIMEM和EMM386
記憶體管理程式為
實模式提供了延伸記憶體(
XMS)和
擴展記憶體(EMS)。 EMM386還支持VCPI,它使得DPMI核心與DOS擴展器同FreeDOS和平共處。FreeDOS還包括用於高速硬碟的UDMA驅動,這個驅動能和其他DOS兼容。LBAcache在XMS中留有最近存取的磁碟數據,使之得到更快的存儲速度並能較少的直接讀寫磁碟,其功能類似MS-DOS中的
SMARTDRV。
FreeDOS外殼——FreeDOS版command,又稱FreeCOM——可以把自身一部分移動到擴展記憶體,將多至620KB的常規
記憶體釋放出來。這對於只利用
常規記憶體的DOS程式來說非常有用處。
FreeDOS並沒有100%的兼容度,但足夠運行大部分程式。高質量且使用標準API的程式運行良好。而運行Windows的問題則是源於微軟設法阻止他們的產品在非微軟DOS執行。
製作啟動型隨身碟的最簡單方法之一
兼容性
綜合
大部分為DOS 家族所寫的程式可以在FreeDOS上有效運行。大部分類型的
執行檔已經被支持:
1..COM執行檔
2.標準.EXE16位DOS執行檔
3.Borland的16位DPMI執行檔
4.使用DOS 擴展器的32位DPMI執行檔,例如:
4.1 DOS/32A
4.2 Causeway
4.3 DOS/4GW
4.4 GO32/CWSDPMI
還有更多
進一步的,由於HX DOS 擴展器的使用,許多Win32終端程式也能在FreeDOS上運行。
Windows 1.0至3.xx
Windows 9x和Windows Millennium Edition
Windows 95,98和Me把一個僅剩下核心的MS-DOS作為
Boot Loader。 FreeDOS不能作為這個裝載器的替身;然而,它可以被安裝並通過一個引導管理器程式在這些系統之間使用,例如FreeDOS中包含的"METAKERN"。
Windows NT/2000/XP/2003和ReactOS