FreeDOS

FreeDOS（曾叫做Free-DOS和PD-DOS）是一個在IBM PC兼容機下運行的操作系統。FreeDOS由許多不同的獨立程序組成，這些程序就是整個FreeDOS項目中的“包”。
它主要通過OP來提供磁盤訪問和文件系統，以及部分內存管理，但是沒有默認的GUI（儘管FreeDos 0.9及以上版本推薦使用OpenGEM）。
FreeDOS支持老式和新式PC，以及嵌入式系統。像MS-DOS一樣，它可以從軟盤、硬盤以及ROM啟動。 與MS-DOS不同的是，它支持從CD-ROM安裝，並且人們可以自由地創建屬於自己的定製發行版，而不用為再發行支付使用費。FreeDOS是自由且開源的，遵守GNU（GPL）。但是在其"util"部分中，FreeDOS也包含專有軟件，例如4DOS。

**歷史**
FreeDOS專案開始於1994年6月26日，當微軟宣佈不會發售和支援MS-DOS。Jim Hall隨後宣佈了要開發一個開源替代品的宣言。幾個星期內，其他的程序員包括Pat Villani和Tim Norman加入了這個項目。一個內核，command.com命令行解釋程序（shell）和核心實用工具通過共享自己編的源碼而被創造出來。1.0版於2006年9月23日釋出。
在FreeDOS 1.0最終發佈之前，有過一些官方的預發佈版:

**發行**
FreeDOS不要求任何費用和版稅。FreeDOS 1.0提供CD-ROM鏡像下載：一個只含有內核和基礎程序的基本光盤和一個擁有更多程序（例如遊戲、網絡和開發）並可作為Live CD使用的完整光盤。另外，還存在一個可以製作Live CD的軟盤鏡像。這兩個版本都提供了源代碼。可以使用BitTorrent下載得到。
現在還有一個官方的Live USB版本。
一些電腦品牌可讓客戶選擇預載FreeDOS的電腦，通常供貨給已購買大量授權Windows的企業用戶，或是需安裝其他作業系統的使用者。戴爾有預裝FreeDOS的n-series，但是這些產品和運行Windows的同一型號機器相比並沒有多便宜，而且又很難買到，戴爾公司因此受到了批評。。另外，戴爾還時常提供FreeDOS電腦一些像雙核心一類FreeDOS不能利用的特性。惠普把FreeDOS作為DC5750臺式機的一個可選配置。GRC的SpinRite 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等的版本有了部分支持。

**兼容性**

**綜合**
大部分為DOS 家族所寫的程序可以在FreeDOS上有效運行。大部分類型的可執行文件已經被支持：- .COM可執行文件- 標準.EXE16位DOS可執行文件- Borland的16位DPMI可執行文件- 使用DOS 擴展器的32位DPMI可執行文件，例如：
** DOS/32A
** Causeway
** DOS/4GW
** GO32/CWSDPMI
** 還有更多
進一步的，由於HX DOS 擴展器的使用，許多Win32終端程序也能在FreeDOS上運行。


**Windows 1.0至3.xx**
FreeDOS能夠兼容1.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 PC和VirtualBox或Bochs和QEMU一類模擬器軟件中運行。

**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沒有支持NTFS或ext2的計劃，但是有一些外部第三方驅動能達到使用這些文件系統的目的。為了接受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中的HIMEM和EMM386內存管理程序為實模式提供了延伸內存（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執行。

**截圖**
FreeDOS editor screenshot
在Infobox中可查看更多截圖。

**GUI**

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

**SEAL**
SEAL是DOS上的一個32位的圖形界面

**參考**

**參見**
- ReactOS- FreeDOS-32- DOSEMU- DOSBox- Command Prompt- FreeRTOS- GNU/DOS- GRUB- WinImage

**外部鏈接**
  FreeDOS Homepage (official)date=20171214122749 -  FreeDOS Homepage (SourceForge)date=20120504074929 -  FD-DOC FreeDOS Documentation Project-  Official Download - FreeDOS 1.0date=20080726071712 -  Summary of FreeDOS Commandsdate=20080421194436 -  Virtual Machine in Java with FreeDOS-  How to Create a BootableFreeDOS Floppy Diskdate=20080418075850 -  FreeDOS on a USB Flash Drivedate=2012-07-09 -  Install FreeDOS without any  removable mediadate=20071014105358 。-  Virtual Machine for Microsoft Virtual PC 2007 with FreeDOS 1.0 O.S. -  FreeDOS-32date=20100105045058  FreeDOS-32 Homepage(SourceForge)