Rahul Sharma (Editor)

FreeDOS

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Written in
  
Assembly, C

Working state
  
Current

OS family
  
DOS

Source model
  
Open source

FreeDOS

Developer
  
Jim Hall & The FreeDOS team

Initial release
  
12 January 1998; 19 years ago (1998-01-12)

FreeDOS (formerly Free-DOS and PD-DOS) is a free operating system for IBM PC compatible computers. It intends to provide a complete DOS-compatible environment for running legacy software and supporting embedded systems.

Contents

FreeDOS can be booted from a floppy disk or USB flash drive. It is designed to run well under virtualization or x86 emulation.

Unlike MS-DOS, FreeDOS is composed of Free Software and open-source software, licensed under the terms of the GNU General Public License. Therefore, its base distribution does not require license fees or royalties and creation of custom distributions is permitted. However, other packages which form part of the FreeDOS project include non-GPL software considered worth preserving, such as 4DOS, which is distributed under a modified MIT License.

History

The FreeDOS project began 29 June 1994, after Microsoft announced it would no longer sell or support MS-DOS. Jim Hall who at the time was a student 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. Between them, a kernel (by Villani), the COMMAND.COM command line interpreter (by Villani and Norman), and core utilities (by Hall) were created by pooling code they had written or found available. There have been many official pre-release distributions of FreeDOS before the final FreeDOS 1.0 distribution. GNU/DOS, an unofficial distribution of FreeDOS, was discontinued after version 1.0 was released.

Distribution

FreeDOS 1.1, released on 2 January 2012, is available for download as a CD-ROM image: a limited install disc that only contains the kernel and basic applications, and a full disc that contains many more applications (games, networking, development, etc.), not available as of November 2011 but with a newer, fuller 1.2. The legacy version 1.0 (2006) consisted of two CDs, one of which was an 8MB install CD targeted at regular users and the other which was a larger 49MB live CD that also held the source code of the project.

Commercial uses

FreeDOS is used by several companies:

  • Dell preloads FreeDOS with their n-series desktops to reduce their cost. The firm has been criticized for making these machines no cheaper, and harder to buy than identical systems with Windows.
  • HP provides FreeDOS as an option in its dc5750 desktops, Mini 5101 netbooks and Probook laptops. FreeDOS is also used as bootable media for updating the BIOS firmware in HP systems.
  • GRC's SpinRite 6, a hard drive maintenance and recovery program, includes FreeDOS.
  • Intel's Solid-State Drive Firmware Update Tool loads the FreeDOS kernel.
  • Non-commercial uses

    FreeDOS is also used in multiple independent projects:

  • FUZOMA is a FreeDOS-based distribution that can boot from a floppy disk and converts older computers into educational tools for children.
  • FED-UP is the Floppy Enhanced DivX Universal Player.
  • Hardware

    FreeDOS itself requires a PC/XT machine with at least 640kB of memory. Programs not bundled with FreeDOS often require additional system resources.

    MS-DOS and Win32 console

    FreeDOS is mostly compatible with MS-DOS. It supports COM executables, standard DOS executables and Borland's 16-bit DPMI executables. It is also possible to run 32-bit DPMI executables using DOS extenders. The operating system 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, or the Advanced Power Management TSRs. Furthermore, with use of HX DOS Extender, many Win32 console applications function properly in FreeDOS, as do some rare GUI programs, like QEMU and Bochs.

    DOS-based Windows

    FreeDOS is able to run Microsoft Windows 1.0 and 2.0 releases. Windows 3.x releases, which had support for i386 processors, can not fully be run in 386 Enhanced Mode except partially in experimental FreeDOS kernel 2037.

    Problems running Windows result from Microsoft's efforts to prevent their products running on non-Microsoft DOS implementations.

    Windows 95, 98 and ME use a stripped down version of MS-DOS. FreeDOS cannot be used as a replacement because of undocumented interfaces between MS-DOS 7.0-8.0 and Windows 4.xx not emulated by FreeDOS; however, it can be installed and used beside these systems using a boot manager program, such as BOOTMGR or METAKERN included with FreeDOS.

    Windows NT and ReactOS

    Windows NT-based operating systems, including Windows 2000, XP, Vista and 7 for desktops, and Windows Server 2003, 2008 and 2008 R2 for servers, do not make use of MS-DOS as a core component of the system. These systems can make use of the FAT file systems, which are used by MS-DOS and earlier versions of Windows; however, they typically use the NTFS (New Technology File System) by default for security and other reasons. FreeDOS can co-exist on these systems on a separate partition or on the same partition on FAT systems. The FreeDOS kernel can be booted by adding it to the Windows 2000 or XP's NT Boot Loader configuration file, boot.ini, or freeldr.ini equivalent for ReactOS.

    File systems

    FAT32 is fully supported and is the preferred format for the boot drive. Depending on the BIOS used, up to four LBA hard disks up to 128 GB, or 2 TB, in size are supported. There has been little testing with large disks, and some BIOSes support LBA but produce errors on disks larger than 32 GB; a driver such as OnTrack or EZ-Drive resolves this problem. FreeDOS can also be used with a driver named LFNDOS to enable support for Windows 95-style long file names, but most old programs before Win95 do not support LFNs even with driver loaded unless they have been recompiled. There is no planned support for NTFS, ext2 or exFAT, but there are several external third-party drivers available for that purpose. To access ext2fs, LTOOLS (counterpart to Mtools) can sometimes be used to copy data to and from ext2fs drives.

    References

    FreeDOS Wikipedia