FreeDOS
From Wikipedia, the free encyclopedia
FreeDOS | |
FreeDOS booting screen shot |
|
Website | www.freedos.org |
---|---|
Company/ developer |
Jim Hall & The FreeDOS team |
OS family | DOS |
Source model | Free software/open source |
Latest stable release | 1.0 / September 3, 2006 |
Available language(s) | English |
Supported platforms | x86 |
Kernel type | Monolithic kernel[1][2] |
Default user interface | DOS Command line interface |
License | GNU General Public License |
Working state | Current |
FreeDOS (formerly Free-DOS and PD-DOS) is an operating system for IBM PC compatible computers. FreeDOS is made up of many different, separate programs that act as "packages" to the overall FreeDOS Project.[3]
As a member of the DOS family, it provides mainly disk access and filesystem through its kernel, and partial memory management, but no default GUI (although OpenGEM is recommended for FreeDos 0.9 and above).
FreeDOS is currently at Version 1.0, released on September 3, 2006. [3] The original release date was planned for July 28, 2006.[4] A further version, 1.1, is expected to be released some time in 2008.[5]
FreeDOS supports vintage hardware IBM PC as well as modern ones, in addition to embedded computers. Like MS-DOS, it boots from a floppy or hard disk but can also run from ROM[6]. 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 free and open source software, licensed under the terms of the GNU General Public License (GPL). However, in its "util" section FreeDOS also includes proprietary software such as 4DOS.
Contents |
[edit] History
The FreeDOS project began June 26, 1994, when Microsoft announced it would no longer sell nor support MS-DOS. Jim Hall then posted a manifesto proposing the development of an open-source replacement. Within a few weeks, other programmers including Pat Villani and Tim Norman joined the project. A kernel, the command.com command line interpreter (shell) and core utilities were created by pooling code they had written or found available. Version 1.0 was released on September 3, 2006.
There have been several official pre-release distributions of FreeDOS before the final FreeDOS 1.0 distribution[7]:
Version | Status | Codename | Date |
---|---|---|---|
0.05 | ALPHA | None | January 12, 1998 |
0.1 | BETA | Orlando | March 25, 1998 |
0.3 | BETA | Ventura | April 21, 1999 |
0.4 | BETA | Lemur | April 9, 2000 |
0.5 | BETA | Lara | August 10, 2000 |
0.6 | BETA | Midnite | March 18, 2001 |
0.7 | BETA | Spears | September 7, 2001 |
0.8 | BETA | Nikita | April 7, 2002 |
0.9rc1 | BETA | Methusalem | July 2003 |
0.9rc2 | BETA | None | August 23, 2003 |
0.9rc3 | BETA | None | September 27, 2003 |
0.9rc4 | BETA | None | February 5, 2004 |
0.9rc5 | BETA | None | March 20, 2004 |
0.9 | BETA | None | September 28, 2004 |
0.9sr1 | BETA | None | November 30, 2004 |
0.9sr2 | BETA | None | November 30, 2005 |
1.0 | FINAL | None | September 3, 2006 |
[edit] Distribution
FreeDOS does not require license fees or royalties. The only other MS-DOS compatible operating systems that are actively distributed now are Enhanced DR-DOS, PTS-DOS and ROM-DOS.
FreeDOS 1.0 is available for download as CD-ROM images: a base disc that only contains the kernel and basic applications, and a full disc that contains many more applications (games, networking, development, etc) and doubles as a Live CD. In addition, the floppy image that was used to make the live CD is available and can be used without the CD. Versions of these two discs with source code are also available. One can use BitTorrent to download it.
There is now an official Live USB version.
Dell packages FreeDOS with their n-series [8]. The company has been criticized for making these machines no-less-expensive and more difficult to purchase than identical systems running Windows[9]. In addition, Dell often only offers FreeDOS systems with features such as dual-core processors which FreeDOS cannot utilize.
HP provides FreeDOS as an option in its dc5750 desktop PCs.
GRC's SpinRite 6 boot image loads FreeDOS, as shown at the bottom of the splash screen.
ASUS uses FreeDOS to allow the user to boot their motherboard driver CDs to create the SATA device driver disk (needed for Windows versions before XP SP2)
[edit] Relation to MS-DOS
FreeDOS is mostly compatible with MS-DOS, allowing some versions of Microsoft Windows to run on it in the same way some older versions of Windows run on MS-DOS.
FreeDOS has several improvements relative to MS-DOS, mostly involving support of newer standards and technologies that did not exist when Microsoft ended support for MS-DOS, such as internationalization, APM/energy saving TSRs, and integrated ASPI. Also, LBA and the FAT32 file system (including booting from FAT32) are supported. While no official standalone version of MS-DOS (up to 6.22) released by Microsoft supported them, some non-standalone versions such as MS-DOS 7.10 did.[10]
[edit] Compatibility
[edit] General
Most software written for other members of the DOS family works as expected in FreeDOS. The following types of executables are supported:
- .COM executables
- Standard .EXE 16-bit DOS executables
- Borland's 16-bit DPMI executables
- 32-bit DPMI executables using DOS extenders like:
Further, with use of HX DOS Extender, many Win32 console applications function properly in FreeDOS, as do some GUI programs, like QEMU and Bochs.
[edit] 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, unless FreeDOS's references to himem.exe and emm386.exe are replaced by references to the himem.sys and emm386.exe delivered with Windows. However, Windows for Workgroups 3.11 supports a debugging mode that can run under FreeDOS, but it is more restricted than Standard mode for previous releases of Windows.
[edit] Windows 9x and Windows Millennium Edition
Windows 95, 98 and Me use a stripped down version of MS-DOS as a bootloader. FreeDOS can not be used as a replacement bootloader; however, it can be installed and used beside these systems using a boot manager program, such as the "METAKERN" included with FreeDOS.
[edit] Windows NT/2000/XP/2003 and ReactOS
Windows NT-based operating systems, including Windows 2000, XP, and 2003 do not 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 (NT 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 can also be run using virtualization software like Virtual PC and VirtualBox or emulation software like Bochs and QEMU.
[edit] 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.
[edit] Technical details
FAT32 is fully supported, even booting from it. 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 so far, and some BIOSes support LBA but produce errors on disks larger than 32 GB. A driver like OnTrack or EzDrive resolves this problem. 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, LTOOLS (counterpart to MTOOLS) can be used to copy data to and from ext2fs drives. NTFS support is provided by products such as NTFSDOS and NTFS4DOS.
So far there is no USB driver support inside the FreeDOS project, but many modern motherboards contain BIOS settings for "Legacy USB" support which allow USB devices to be used in operating systems that lack support for them (such as FreeDOS). This applies to keyboards and mice, and some BIOSes can even support storage devices. Some external DOS USB drivers (such as DUSE, USBASPI and USBMASS) for storage devices work with some effort and luck. A better alternative to running DOS programs whilst having USB devices present would be to use DOSBox, which recognizes USB devices from the host operating system to act as if they were "legacy port" devices (e.g. joysticks with game ports, printers with parallel ports, and USB flash drives would act as if they were a hard drive for DOS).
[edit] Booting from Windows boot menu
One can edit C:\BOOT.INI
and add the line:
C:\FDOSBOOT.BIN="FreeDOS"
[edit] Bootable floppy disk
FreeDOS can be installed on a single floppy disk.
[edit] Memory management
The HIMEM and EMM386 memory management programs included with FreeDOS provide extended memory (XMS) and expanded memory (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 extended memory 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 the documented API works well. Problems running Windows result from Microsoft's efforts to prevent their products running on non-Microsoft DOS implementations.[11]
[edit] Screenshot
See also the screenshot in the Infobox.
[edit] GUIs
[edit] OpenGEM
The only supported GUI being actively developed for the DOS environment is OpenGEM. If you are using Blair's FreeDOS disks, or GNU/DOS you already have the latest version of OpenGEM.
To launch the GUI, you can usually just change to c:\ and type gem to start it.
[edit] SEAL
SEAL is a 32-bit graphical user interface for DOS.
[edit] References
- ^ FreeDOS : Home Page
- ^ FreeDOS Kernel "An MS-DOS Emulator for Platform Independence & Embedded Systems Development", written by Pat Villani, copyright 1996
- ^ a b FreeDOS website
- ^ SourceForge.net: FreeDOS 1.0 update
- ^ FreeDos 1.1 mail thread
- ^ FreeDOS website about
- ^ FreeDOS Old Distributions
- ^ OptiPlex™ Open-Source Desktops
- ^ http://www.theregister.co.uk/2005/10/06/dell_open_pc/
- ^ MS-DOS: A Brief Introduction
- ^ BBC News | BUSINESS | Caldera vs Microsoft - the settlement
[edit] See also
[edit] External links
- 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. (Spanish)