FreeDOS(曾叫做Free-DOS和PD-DOS)是一个在IBM PC兼容机下运行的操作系统。FreeDOS由许多不同的独立程序组成,这些程序就是整个FreeDOS项目中的“包”。[4]
它主要通过OP来提供磁盘访问和文件系统,以及部分内存管理,但是没有默认的GUI(尽管FreeDos 0.9及以上版本推荐使用OpenGEM)。
FreeDOS支持老式和新式PC,以及嵌入式系统。像MS-DOS一样,它可以从软盘、硬盘以及ROM启动。[5] 与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最终发布之前,有过一些官方的预发布版[6]:
版本
|
状态
|
代号
|
日期
|
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日
|
發行
FreeDOS不要求任何费用和版税。FreeDOS 1.0提供CD-ROM镜像下载:一个只含有内核和基础程序的基本光盘和一个拥有更多程序(例如游戏、网络和开发)并可作为Live CD使用的完整光盘。另外,还存在一个可以制作Live CD的软盘镜像。这两个版本都提供了源代码。可以使用BitTorrent下载得到。
现在还有一个官方的Live USB版本。
一些電腦品牌可讓客戶選擇預載FreeDOS的電腦,通常供貨給已購買大量授權Windows的企業用戶,或是需安裝其他作業系統的使用者。戴尔有预装FreeDOS的n-series[7],但是这些产品和运行Windows的同一型号机器相比并没有多便宜,而且又很难买到,戴尔公司因此受到了批评。[8]。另外,戴尔还时常提供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等的版本有了部分支持[9]。
兼容性
综合
大部分为DOS 家族所写的程序可以在FreeDOS上有效运行。大部分类型的可执行文件已经被支持:
进一步的,由于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执行。[10]
截图
在Infobox中可查看更多截图。
GUI
OpenGEM
唯一被FreeDOS所支持的OpenGEM是一个为了支持DOS环境而正在积极开发的图形界面。如果你正在使用Blair's FreeDOS磁盘或者是GNU/DOS的话,你就已经拥有了OpenGEM的最新版本。
要启动这个图形界面,你只需要切换到c:\并输入gem就可以了。
SEAL
SEAL是DOS上的一个32位的图形界面
参考
参见
外部链接