标题：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的版本号已经发展到7.0，目前最新版本是Beta 8 H1，于今年9月推出。
发行
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执行。
制作启动型U盘的最简单方法之一有名的功能强大的磁盘工具Diskgenius支持将分区格式化为FAT32类型时建立DOS系统，而且这个DOS是FreeDOS。
  FreeDOS_01
兼容性
综合大部分为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.xxFreeDOS能够兼容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 EditionWindows 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一类模拟器软件中运行。[1]