複製鏈接
請複製以下鏈接發送給好友

freedos

鎖定
FreeDOS(曾叫做Free-DOS和PD-DOS)是一個在IBM PC兼容機下運行的操作系統。FreeDOS由許多不同的獨立程序組成,這些程序就是整個FreeDOS項目中的“包”。作為DOS家族中的一員,它主要通過內核來提供磁盤訪問和文件系統,以及部分內存管理,但是沒有默認的GUI(儘管FreeDOS 0.9及以上版本推薦使用OpenGEM)。FreeDOS支持老式和新式IBM PC,以及嵌入式系統。像MS-DOS一樣,它可以從軟盤、硬盤以及ROM啓動。與MS-DOS不同,它支持從CD-ROM安裝,並且人們可以自由創建屬於自己的定製發行版,而不用為再發行支付使用費。
外文名
FreeDOS
類    別
IBM PC兼容機下運行的操作系統

freedos發展歷史

大家都知道,微軟在開發出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.3,於2022年2月20日推出。 [2] 

freedos發行

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技術及應用

FreeDOS與MS-DOS
FreeDOS命令行 FreeDOS命令行
為FreeDOS設計的DOS軟件正在源源不斷的推出和發展,不僅有各種外部命令,還有許多其它的增強程序和附件,而且質量既高也很實用,往往超過MS-DOS中的同類命令。
例如在它上面開發的Cute Mouse,就是DOS下最好(體積最小,功能最強)的鼠標驅動程序。而ATTRIBXCOPY等眾多外部命令,不僅比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沒有支持NTFSext2的計劃,但是有一些外部第三方驅動能達到使用這些文件系統的目的。為了接受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執行。
製作啓動型U盤的最簡單方法之一
有名的功能強大的磁盤工具Diskgenius支持將分區格式化為FAT32類型時建立DOS系統,而且這個DOS是FreeDOS。
FreeDOS_01 FreeDOS_01

freedos兼容性

綜合
大部分為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
FreeDOS能夠兼.0和2.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 95,98和Me把一個僅剩下內核的MS-DOS作為Boot Loader。 FreeDOS不能作為這個裝載器的替身;然而,它可以被安裝並通過一個引導管理器程序在這些系統之間使用,例如FreeDOS中包含的"METAKERN"。
Windows NT/2000/XP/2003和ReactOS
基於Windows NT的操作系統,包括Windows 2000,XP,和2003都沒有把MS-DOS當作系統的核心成分。這些系統可以使用FAT,一個MS-DOS和早期版本的Windows所使用的文件系統;但是,他們一般默認使用NTFS(NT 文件系統)。FreeDOS不能和這些系統在一個單獨的NTFS或FAT文件系統裏和平共處,但是FreeDOS內核還是可以被添加到Windows NT Boot Loader配置文件,boot.ini,或React OS中的freeldr.ini來引導它啓動。 FreeDOS也可以在虛擬化軟件Virtual PCVirtualBoxBochsQEMU一類模擬器軟件中運行。 [1] 
參考資料