FreeDOS

FreeDOS（曾叫做Free-DOS和PD-DOS）是一个在IBM PC兼容机下运行的操作系统。FreeDOS由许多不同的独立程序组成，这些程序就是整个FreeDOS项目中的“包”。

它主要通过内核来提供磁盘访问和文件系统，以及部分内存管理，但是没有默认的GUI（尽管FreeDos 0.9及以上版本推荐使用OpenGEM）。

FreeDOS支持老式和新式IBM PC，以及嵌入式系统。像MS-DOS一样，它可以从软盘、硬盘以及ROM启动。 与MS-DOS不同的是，它支持从CD-ROM安装，并且人们可以自由地创建属于自己的定制发行版，而不用为再发行支付使用费。FreeDOS是自由且开源的，遵守GNU（GPL）。但是在其"util"部分中，FreeDOS也包含专有软件，例如。

 历史 
FreeDOS專案開始於1994年6月26日，當微軟宣佈不會發售和支援MS-DOS。Jim Hall随后宣布了要开发一个开源替代品的宣言。几个星期内，其他的程序员包括Pat Villani和Tim Norman加入了这个项目。一个内核，command.com命令行解释程序（shell）和核心实用工具通过共享自己编的源码而被创造出来。1.0版于2006年9月23日释出。

在FreeDOS 1.0最终发布之前，有过一些官方的预发布版FreeDOS Old Distributions:

 版本 状态 代号 日期 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日1.3FINAL沒有2022年2月20日1.4FINAL沒有2025年4月5日

 發行 
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执行。

 截图 
250px|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)
 FreeDOS Homepage (SourceForge)
 FD-DOC FreeDOS Documentation Project
 Official Download - FreeDOS 1.0
 Summary of FreeDOS Commands
 Virtual Machine in Java with FreeDOS
 How to Create a BootableFreeDOS Floppy Disk
 FreeDOS on a USB Flash Drive
 Install FreeDOS without any  removable media。
 Virtual Machine for Microsoft Virtual PC 2007 with FreeDOS 1.0 O.S. 
 FreeDOS-32 FreeDOS-32 Homepage(SourceForge)

Category:SourceForge專案
Category:1998年软件
Category:磁盘操作系统
Category:DOS议题
Category:嵌入式操作系统
Category:基于软盘的操作系统
Category:自由作業系統
Category:微型计算机软件
Category:用C編程的自由軟體
Category:使用GPL许可证的软件