< Back to index

FreeDOS (formerly Free-DOS and PD-DOS) is an operating system for IBM PC compatible computers. From the FreeDOS Web Site:

FreeDOS is a free DOS-compatible operating system for IBM-PC compatible systems. FreeDOS is made up of many different, separate programs that act as "packages" to the overall FreeDOS Project. (http://www.freedos.org/)


As a member of the DOS family, it provides mainly disk access and filesystem through its kernel, and partially memory management, but no GUI.

FreeDOS is currently at Version 1.0, released on September 3, 2006 (http://www.freedos.org/), which was delayed from the originally planned release date of July 28, 2006 (http://sourceforge.net/forum/forum.php?forum_id=587298).

FreeDOS supports old hardware such as the 1981 vintage IBM PC as well as modern ones, including the Pentium 4 CPU, in addition to embedded computers. Like MS-DOS, it boots from a floppy or hard disk but can also run from ROM. Unlike MS-DOS, however, it is available for installation on a CD-ROM, and people are free to create their own custom distributions of the operating system without needing to pay a royalty for redistribution. FreeDOS is open source software that is also free, licensed under the terms of the GNU GPL.

History


The project began June 26, 1994, when Microsoft announced it would no longer sell or support MS-DOS. Within a few weeks of Jim Hall posting a manifesto, Pat Villani, Tim Norman, Jim Hall, and others collaborated on a kernel, shell (command.com) and core utilities by pooling code they had written or found available. Version 1.0 was released on September 3, 2006.

The FreeDOS web site now redirects to the SourceForge project [http://freedos.sourceforge.net freedos.sourceforge.net] where all project files—releases and sources—are available.

Distribution


FreeDOS does not require license fees or royalties. The only other MS-DOS compatible programs that are actively distributed now are Enhanced DR-DOS/OpenDOS, PTS-DOS and ROM-DOS.

Dell Computer offers some of their n-series systems with pre-installed FreeDOS (http://www1.us.dell.com/content/products/compare.aspx/optix_n?c=us&cs=04&l=en&s=bsd).
The company has come under fire for making the FreeDOS-powered machines no cheaper and more difficult to purchase than identical systems running Windows (http://www.theregister.co.uk/2005/10/06/dell_open_pc/).

GRC's SpinRite 6 boot image loads FreeDOS shown at the bottom of the splash screen.

FreeDOS Beta 9 SR2 (now obsolete) is available for download in several different formats:
* 7 1.44 MB floppy disk images [http://fdos.org/ripcord/beta9sr2/disksets/1440KB/ (download)]
* 4 2.88 MB floppy disk images [http://fdos.org/ripcord/beta9sr2/disksets/2880KB/ (download)]
* An installer CD-ROM image [http://fdos.org/ripcord/beta9sr2/fdbootcd.iso (download)]

Version 1.0 (current as of 2006-09-03) is available for download through the [http://www.freedos.org/ FreeDOS Web Site] or at [http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/fdbasecd.iso Ibiblio (CD-ROM image file)]. A floppy release, and a more fully featured CD-ROM image release, are planned at a later date (http://sourceforge.net/forum/forum.php?forum_id=608122).

Relation to MS-DOS



FreeDOS is closely related to MS-DOS in that it was begun as a result of Microsoft canceling MS-DOS, and its main aim is to provide a direct replacement for MS-DOS.

As can be seen below, FreeDOS is mostly compatible with MS-DOS, allowing some versions of Microsoft Windows to run on it as Windows runs on MS-DOS.

FreeDOS does have improvements over MS-DOS, mostly involving support of newer standards and technologies that did not exist when Microsoft ended support for MS-DOS, such as internationalization support, Advanced Power Management/energy saving TSRs, and ASPI. In addition, LBA and the FAT32 file system (including booting from FAT32) are supported, while none of the official standalone versions of MS-DOS (up to 6.22) released by Microsoft supported them.

Compatibility


General



Most software written for other members of the DOS family works as expected in FreeDOS. The following types of executables are supported:

* Old .COM executables
* Standard .EXE 16-bit DOS executables
* Borland's 16-bit DPMI executables
* 32-bit DPMI executables using DOS extenders like:

* * DOS/32A
* * Causeway
* * DOS/4GW
* * GO32/CWSDPMI
* * And many others

Further, with use of HX DOS Extender, many Win32 console applications do work in FreeDOS, and some GUI programs, like QEMU and Bochs, used for the screenshot provided in the Infobox.

Windows 1.0 through 3.xx

FreeDOS is capable of running both the 1.0 and 2.0 releases of Microsoft Windows. However, 3.x releases of Windows, which had support for i386 processors, cannot be run in 386 Enhanced Mode. Windows 3.0 can run in Real or Standard modes, and other Windows 3.x releases can only be run in Standard mode. Because Windows for Workgroups 3.11 dropped support for Standard mode, it does not run under FreeDOS, except if FreeDOS's references to himem.exe and emm386.exe are replaced by references to the himem.sys and emm386.exe delivered with Windows.(An exception: Windows for Workgroups 3.11 supports a debugging mode that can run under FreeDOS, but it is more restricted than even Standard mode for previous releases of Windows.)

Windows 9x and Windows Millennium Edition

Windows 95, 98 and Me are still DOS based versions of the Windows operating system. However, the versions of the "MS-DOS"-like bootloader which they run on top of were not released separate from the Windows system, and Windows 9x and Millennium Edition were more tightly integrated with the versions of MS-DOS that came with them. As a result, FreeDOS can not run Windows 95, 98, or Millennium Edition. FreeDOS can, however, be installed and used besides these systems using a boot manager program, such as the "METAKERN" coming with FreeDOS, LILO or GNU GRUB.

Windows NT/2000/XP/2003 and ReactOS

The Windows NT family of operating systems, including Windows 2000, XP, and 2003 no longer make use of MS-DOS as a core component of the system. These systems can make use of the FAT filesystems, which are used by MS-DOS and earlier versions of Windows; however, they typically use the NTFS (New Technology File System) by default. FreeDOS can coexist on these systems on a separate partition on NTFS systems, or on the same partition on FAT systems. The FreeDOS kernel can be booted by adding it to the Windows NT Boot Loader configuration file, boot.ini, or freeldr.ini for ReactOS.

FreeDOS-32


FreeDOS-32 is a separate project with different goals. FreeDOS aims to recreate MS-DOS, both features and general limitations. FreeDOS-32 aspires to extend and improve on that base. FreeDOS-32 can be run on top of FreeDOS or another member of the DOS family. It is planned to be a 32-bit operating system, which provides performance enhancements and improved functionality over 16-bit DOS systems. Also, running as a 32-bit operating system removes the need for DOS extenders and switching from real mode to protected mode and back to support protected mode programs.

Technical details



FAT32 is fully supported (even booting from FAT32). Depending on the BIOS used, as many as four LBA hard disks up to 128 GB or even 2 TB in size are supported. Care is recommended when using huge disks, since there was little testing only so far and some BIOSs support LBA but contain bugs for disks bigger than 32 GB. A driver like OnTrack or EzDrive resolves this bug. FreeDOS can also be used with a driver called DOSLFN, which supports long file names (see VFAT), but most (old) programs do NOT support long file names even if the driver is loaded.

There is no planned support for NTFS or ext2 but there are several external third-party drivers available for that purpose. To access ext2fs, use the LTOOLS (counterpart to MTOOLS) which can copy data to and from ext2fs drives, for NTFS there are some products like NTFSDOS and NTFS4DOS.

So far there is no USB driver support inside the FreeDOS project, but in some cases BIOS makes USB devices accessible for plain FreeDOS. This applies to keyboard and mouse, with a few BIOSes also to storage devices. Some external DOS USB drivers (such as DUSE, USBASPI and USBMASS) for storage devices do work with some effort and luck.

Memory management



The HIMEM and EMM386 memory management programs included with FreeDOS provide XMS and EMS for old real mode software, EMM386 also supports VCPI, which allows DPMI kernels and DOS extenders to coexist with it. FreeDOS also contains an UDMA driver for faster disk access, which is also compatible with other DOS versions. The LBAcache disk cache stores recently accessed disk data in XMS for faster access and less direct disk access.

The FreeCOM shell—FreeDOS's version of COMMAND.COM—can move portions of itself into XMS freeing up large portions of conventional memory, up to 620 kB. This is useful for DOS programs which only use conventional memory.

FreeDOS compatibility is less than 100% but is sufficient for running most programs. Well-written software using standard and documented accesses does work on it, but problems with running Windows do result from Microsoft's intention to prevent their products being run on other DOSes than MS-DOS (http://news.bbc.co.uk/1/hi/business/600488.stm).
This entry uses material from from Wikipedia, the leading user-contributed encyclopedia. It is licensed under the GNU Free Documentation License. Disclaimer.