FreeDOS

From Wikipedia, the free encyclopedia
Jump to: navigation, search
FreeDOS
The FreeDOS logo
FreeDOS 1.1 screenshot.png
FreeDOS 1.1 default shell, FreeCOM
Company / developer Jim Hall & The FreeDOS team
OS family DOS
Working state Current
Source model Free and open source[1] with some closed source, freeware utilities[2]
Initial release 12 January 1998; 16 years ago (1998-01-12)
Latest release 1.1 / 2 January 2012; 2 years ago (2012-01-02)
Available in English, German
Supported platforms x86
Kernel type Monolithic kernel[3]
Default user interface DOS Command line interface
License GNU GPL[1] with some closed source, freeware utilities[2]
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]

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

History[edit]

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.[6] 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.[7][8] There have been several official pre-release distributions of FreeDOS before the final FreeDOS 1.0 distribution.[9] GNU/DOS, an unofficial distribution of FreeDOS, was discontinued after version 1.0 was released.[10][11]

Distribution[edit]

FreeDOS 1.1, released on 2 January 2012,[12] 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".[13] The older, fuller version 1.0 (2006) had two LiveCD discs with source code, but that has not been available recently[when?] due to lack of maintenance.[13]

Commercial uses[edit]

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.[14] 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.[15][16][17] FreeDOS is also used to create bootable media for updating the BIOS firmware.[18]
  • 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).[19]
  • GRC's SpinRite 6, a hard drive maintenance and recovery program, includes FreeDOS.[20][21]
  • Seagate's SeaTools for DOS loads the FreeDOS kernel.[22]
  • Intel's Solid-State Drive Firmware Update Tool loads the FreeDOS kernel.[23]
  • Avira supported a FreeDOS boot disk in their free for private use NTFS4DOS (now retired).[24]

Non-commercial uses[edit]

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

Compatibility[edit]

FreeDOS Version History[9]
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[edit]

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.[27] 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.[28]

DOS-based Windows[edit]

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

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[edit]

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

File systems[edit]

A screenshot of FreeDOS's default text editor. It is 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. NTFS support is partially provided by software such as NTFSDOS and NTFS4DOS.[citation needed]

Universal Serial Bus[edit]

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[edit]

  • 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[31]

Technical details[edit]

Booting[edit]

FreeDOS can be booted from a hard drive, live CD, USB flash drive or floppy disk.[32][33][34][35] It can also be run using virtualization software like Virtual PC and VirtualBox or emulation software like Bochs and QEMU.[7] To use the Windows Boot Menu the following line can be added to 2K/XP's C:\BOOT.INI:[30]

C:\FDOSBOOT.BIN="FreeDOS"

To boot using GRUB something similar to the following can be added to menu.lst(the following only applies to GRUB4DOS):

title FreeDOS           # Anything you want
root hd(x,y)            # x = device and y = partition on which FreeDOS resides
chainloader /kernel.sys # Boots FreeDOS's bootloader

To use it under GRUB2, a different solution is needed which involves device mappings.

Memory management[edit]

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 old DOS programs which only use conventional memory. 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 hosts and DOS extenders to co-exist within V86 mode. FreeDOS also contains an Ultra DMA driver and cache (UIDE) for faster disk access, which is also compatible with other DOS versions. The disk cache stores recently accessed disk data in XMS for faster access and less direct disk access.[citation needed]

See also[edit]

References[edit]

  1. ^ a b c "The FreeDOS Project". SourceForge. 2006-05-21. Retrieved 2008-01-02. 
  2. ^ a b "Software List » UTIL". FreeDOS. The FreeDOS Project. Retrieved 2014-06-06. 
  3. ^ Villani, Pat (1996). FreeDOS Kernel. Emeryville, CA, USA: Miller Freeman. ISBN 0-87930-436-7. 
  4. ^ "Welcome to FreeDOS". FreeDOS. The FreeDOS Project. Retrieved 2014-06-06. 
  5. ^ "Software List » UTIL » 4DOS". FreeDOS. The FreeDOS Project. Retrieved 2014-06-06. 
  6. ^ Jim Hall (1994-06-29). "PD-DOS project *announcement*". comp.os.msdos.apps. Web link. Retrieved 2008-06-14.
  7. ^ a b Hall, Jim (2002-03-25). "The past, present, and future of the FreeDOS Project". LinuxGizmos.com. Retrieved 2008-06-14. 
  8. ^ Hall, Jim (2006-09-23). "About". FreeDOS. The FreeDOS Project. Archived from the original on 2007-05-27. Retrieved 2014-06-17. 
  9. ^ a b Jim Hall (2007-10-02). "Removing old distributions from ibiblio". Freedos-devel. Web link. Retrieved 2009-10-07.
  10. ^ "GNU/DOS". SourceForge. 2007-03-29. Retrieved 2009-01-02. 
  11. ^ Marinof, Mihai (2006-12-02). "GNU/DOS Project Discontinued". Softpedia. SoftNews. Retrieved 2009-01-02. 
  12. ^ Jim Hall (2012-01-02). "Announcement on official FreeDOS homepage". SourceForge. Retrieved 2012-01-02. 
  13. ^ a b "FreeDOS: Files". FreeDOS. The FreeDOS Project. Retrieved 2011-11-04. 
  14. ^ Vance, Ashlee. "How Dell repels attempts to buy its 'open source' PC". The Register. Retrieved 2008-01-02. 
  15. ^ "DC5750 Product Specifications". HP. 2008-10-29. Retrieved 2009-08-01. 
  16. ^ "First Look at HP's Low-Cost ProBook Laptop Lineup". EWeek. Retrieved 2009-03-26. 
  17. ^ McCracken, Harry (2009-06-23). "HP’s Mini 5101: Netbook Deluxe, With All the Trimmings". Technologizer. Retrieved 2009-08-01. 
  18. ^ "FreeDOS Bootable Media". HP. 2010-10-25. Retrieved 2011-01-13. 
  19. ^ "I would like to create a RAID driver disk under the FreeDOS environment. However, I am unable to boot into FreeDOS with the bundled Support DVD. This issue does not occur with Windows installation disc. I am using an IDE DVD-ROM. How do I resolve this issue? - ASUS support". Retrieved 2013-06-30. 
  20. ^ "GRC dard drive data recovery software". Gibson Research Corporation. 2006-02-02. Retrieved 2009-05-16. 
  21. ^ Gibson, Steve. Steve Gibson and Leo on TechTV SpinRight for HardDrives. Interview with Leo Laporte. Call for Help. TechTV. Toronto, Canada. Retrieved 2014-06-17. 
  22. ^ "SeaTools for DOS Download". Seagate. Retrieved 2009-03-06. 
  23. ^ "Intel Solid-State Drive Firmware Update Tool boot cd". Intel. Retrieved 2010-03-25. 
  24. ^ "New solution for old systems" (press release). Avira. 2006-10-04. Retrieved 2013-01-08. 
  25. ^ "FUZOMA Educational Software". Retrieved 2009-12-18. 
  26. ^ "Floppy Enhanced DivX Universal Player". Retrieved 2009-12-18. 
  27. ^ Matthew Broersma (2006-09-04). "DOS lives! Open source reinvents past". Techworld. Retrieved 2009-05-26. 
  28. ^ japheth. "HX DOS Extender". Retrieved 2009-01-02. 
  29. ^ Lea, Graham (2000-01-13). "Caldera vs Microsoft - the settlement". BBC News. Retrieved 2009-01-02. 
  30. ^ a b Marc Herbert (2004-10-01). "Install FreeDOS without any CD, floppy, USB-key, nor any other removable media". Retrieved 2009-05-26. 
  31. ^ "SourceForge.net: freedos".  090911 sourceforge.net
  32. ^ "How to Create a Bootable FreeDOS Floppy Disk". 2005-07-19. Retrieved 2008-08-04. 
  33. ^ Franske, Ben (2007-08-21). "Booting DOS from a USB flash drive". Retrieved 2008-08-04. [dead link]
  34. ^ genetikayos (2005-12-19). "FreeDOS on a USB Flash Drive". Retrieved 2008-08-04. 
  35. ^ "FreeDOS Files". FreeDOS. Retrieved 2008-08-04. 

External links[edit]