FreeDOS

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
FreeDOS
Freedosfishlogo.png
FreeDOS 1.1 screenshot.png
FreeDOS 1.1 default shell, FreeCOM
Developer Jim Hall & The FreeDOS team
Written in {{#property:p277}}
OS family DOS
Working state Current
Source model Open source[1]
Initial release 12 January 1998; 26 years ago (1998-01-12)
Latest release 1.1 / 2 January 2012; 12 years ago (2012-01-02)
Available in English, German
Platforms x86
Kernel type Monolithic kernel[2]
Default user interface DOS command line interface
License GPL[1] with various different licenses for utilities[3]
Official website www.freedos.org

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.[4]

FreeDOS can be booted from a hard drive, live CD, USB flash drive or floppy disk.[5][6][7][8] It can also be run using virtualization software like Virtual PC and VirtualBox or x86 emulation software like Bochs and QEMU.[9]

Unlike MS-DOS, FreeDOS is composed of free and open source software, licensed under the terms of the GNU General Public License.[1] 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.[10]

History

The FreeDOS project began 29 June 1994, after Microsoft announced it would no longer sell or support MS-DOS. Jim Hall then posted a manifesto proposing the development of an open-source replacement.[11] 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.[9][12] There have been several official pre-release distributions of FreeDOS before the final FreeDOS 1.0 distribution.[13] GNU/DOS, an unofficial distribution of FreeDOS, was discontinued after version 1.0 was released.[14][15]

Distribution

FreeDOS 1.1, released on 2 January 2012,[16] 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 version planned "soon".[17] The older, fuller version 1.0 (2006) had two live CDs with source code.[17]

Commercial uses

FreeDOS is used by several companies:

  • Dell includes FreeDOS with their n-series desktops. The firm has been criticized for making these machines no cheaper, and harder to buy than identical systems with Windows.[18] In addition, Dell often only offers FreeDOS systems with features such as dual-core processors, which FreeDOS cannot use (although theoretically a DOS extender could).
  • HP provides FreeDOS as an option in its dc5750 desktops, Mini 5101 netbooks and Probook laptops.[19][20][21] FreeDOS is also used to create bootable media for updating the BIOS firmware.[22]
  • ASUS uses FreeDOS to let users boot their motherboard driver CDs to create the SATA device driver disk (needed for Windows versions before XP SP2).[23]
  • GRC's SpinRite 6, a hard drive maintenance and recovery program, includes FreeDOS.[24][25]
  • Seagate's SeaTools for DOS loads the FreeDOS kernel.[26]
  • Intel's Solid-State Drive Firmware Update Tool loads the FreeDOS kernel.[27]
  • Avira supported a FreeDOS boot disk in their free for private use NTFS4DOS (now retired).[28]

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.[29]
  • FED-UP is the Floppy Enhanced DivX Universal Player.[30]

Compatibility

FreeDOS Version History[13]
Version Status Codename Date
0.05 ALPHA None 12 January 1998
0.1 BETA Orlando 25 March 1998
0.2 BETA Marvin 28 October 1998
0.3 BETA Ventura 21 April 1999
0.4 BETA Lemur 9 April 2000
0.5 BETA Lara 10 August 2000
0.6 BETA Midnite 18 March 2001
0.7 BETA Spears 7 September 2001
0.8 BETA Nikita 7 April 2002
0.9rc1 BETA Methusalem July 2003
0.9rc2 BETA None 23 August 2003
0.9rc3 BETA None 27 September 2003
0.9rc4 BETA None 5 February 2004
0.9rc5 BETA None 20 March 2004
0.9 BETA None 28 September 2004
0.9sr1 BETA None 30 November 2004
0.9sr2 BETA None 30 November 2005
1.0 FINAL None 3 September 2006
1.1 FINAL None 2 January 2012

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, Advanced Power Management TSRs, etc.[31] 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.[32]

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 kernel 2037. Undocumented structures used by Windows make the DOS box unreliable.

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

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, 2003, Vista, 2008, 7 and 2008 R2 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 (NT 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 NT Boot Loader 2K/XP's configuration file, boot.ini, or freeldr.ini for ReactOS.[34]

File systems

FreeDOS's default text editor—a clone of the MS-DOS Editor with added features

FAT32 is fully supported and used as 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 called DOSLFN, which supports long file names (see VFAT), 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 or 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.

Universal Serial Bus

As of 2011 there was no USB driver support inside the FreeDOS kernel, 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. This applies to keyboards and mice; some BIOSes also support storage devices. Some external DOS USB drivers (such as Bret's USBDOS/UHCI, DUSE, USBASPI and USBMASS) for storage devices work with some effort. There is also DOSUSB which offers an API and supports storage devices, printers and serial adapters. An alternative to running DOS programs with USB devices is to use emulation software, such as 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).

Features

  • Easy multiboot with Windows 9x and NT
  • FAT32 file system and large disk support (LBA)
  • Long filename support via DOSLFN (or similar) driver
  • UIDE  — Ultra DMA driver for hard discs and CD/DVD players and disk cache
  • LBACACHE — disk cache
  • Memory Managers: FDXMS286, HIMEMX, JEMM386 (XMS, EMS, etc.)
    • Possibility of writing 32-bit protected mode drivers (JLMs=Jemm Loadable Module)
  • SHSUCDX (MSCDEX replacement)
  • CUTEMOUSE — Mouse driver with scroll wheel support (e.g. Hexen 2)
  • FDAPM — APM info/control/suspend/poweroff, ACPI throttle, HLT energy saving
  • MPXPLAY — media player for mp3, ogg, wmv, with built-in AC'97 and SB16 drivers; has a user interface
  • 7ZIP, INFO-ZIP, zip, unzip — modern archivers
  • EDIT / TDE / SETEDIT — multi window text editors
  • HTMLHELP — standard util help viewer, can read help directly from .ZIP
  • PG — powerful text viewer (similar to V. D. Buerg's LIST)
  • Many text mode programs ported from Linux, thanks to DJGPP
  • FreeCOM — command line, supports file completion
  • 4DOS can be installed, which is an enhanced command line
  • GRAPHICS — greyscale hardcopy on ESC/P, HP PCL and PostScript printers
  • Arachne — (HTML 4 subset) graphical web browser, e-mail client
  • FDNPKG — package manager and online updater
  • BitTorrent client
  • FDAV / ClamAV Anti-virus / Virus scanner[35]

See also

<templatestyles src="Div col/styles.css"/>

References

  1. 1.0 1.1 1.2 Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. 9.0 9.1 Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. 13.0 13.1 Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. 17.0 17.1 Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. Lua error in package.lua at line 80: module 'strict' not found.
  29. Lua error in package.lua at line 80: module 'strict' not found.
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. Lua error in package.lua at line 80: module 'strict' not found.
  33. Lua error in package.lua at line 80: module 'strict' not found.
  34. Lua error in package.lua at line 80: module 'strict' not found.
  35. Lua error in package.lua at line 80: module 'strict' not found. 090911 sourceforge.net

External links