FreeDOS
FreeDOS(曾叫做Free-DOS和PD-DOS)是一个在IBM PC兼容机下运行的操作系统。FreeDOS由许多不同的独立程序组成,这些程序就是整个FreeDOS项目中的“包”。[4]
FreeDOS 1.1的預設殼層,FreeCOM | |
开发者 | Jim Hall與FreeDOS團隊 |
---|---|
编程语言 | C語言 |
作業系統家族 | DOS |
運作狀態 | 進行中 |
源码模式 | 自由软件/开放源代码 |
首次发布 | 1998年1月12日 |
当前版本 | |
支持的语言 | 英语 |
支援平台 | x86 |
内核类别 | 整塊性核心[3] |
默认用户界面 | DOS 命令行界面 |
许可证 | GNU通用公共许可证 |
官方網站 | www |
仓库 |
它主要通过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上有效运行。大部分类型的可执行文件已经被支持:
- .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执行。[10]
截图
在Infobox中可查看更多截图。
GUI
OpenGEM
唯一被FreeDOS所支持的OpenGEM是一个为了支持DOS环境而正在积极开发的图形界面。如果你正在使用Blair's FreeDOS磁盘或者是GNU/DOS的话,你就已经拥有了OpenGEM的最新版本。 要启动这个图形界面,你只需要切换到c:\并输入gem就可以了。
SEAL
SEAL是DOS上的一个32位的图形界面
参考
- . 2022年2月20日.
- . 2022年2月20日 [2023年8月8日].
- Villani, Pat. . Emeryville, CA, USA: Miller Freeman. 1996. ISBN 0-87930-436-7.
- . FreeDOS. [2017-12-14]. (原始内容存档于2017-12-14) (英语).
- . FreeDOS. [2008-06-02]. (原始内容存档于2007-05-27) (英语).
- FreeDOS Old Distributions
- . [2008-06-02]. (原始内容存档于2004-04-05) (英语).
- . 2005-10-06 [2017-12-14]. (原始内容存档于2017-12-14) (英语).
- . The Linux Information Project. [2017-12-14]. (原始内容存档于2017-12-14) (英语).
- Graham Lea. . BBC News. 2000-01-13 [2017-12-14]. (原始内容存档于2017-12-14) (英语).
外部链接
维基共享资源中相关的多媒体资源:FreeDOS |
- 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 DriveArchive.is的存檔,存档日期2012-07-09
- 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)