Wednesday, August 12, 2015

about FreeDOS

Freedosfishlogo.pngFreeDOS (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.
Unlike MS-DOS, FreeDOS is composed of free 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 Hallthen 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 several 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 version planned "soon". The older, fuller version 1.0 (2006) had two LiveCD discs with source code, but that has not been available recently due to lack of maintenance.

Commercial uses

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

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.

Compatibility

FreeDOS Version History
VersionStatusCodenameDate
0.05ALPHANone12 January 1998
0.1BETAOrlando25 March 1998
0.2BETAMarvin28 October 1998
0.3BETAVentura21 April 1999
0.4BETALemur9 April 2000
0.5BETALara10 August 2000
0.6BETAMidnite18 March 2001
0.7BETASpears7 September 2001
0.8BETANikita7 April 2002
0.9rc1BETAMethusalemJuly 2003
0.9rc2BETANone23 August 2003
0.9rc3BETANone27 September 2003
0.9rc4BETANone5 February 2004
0.9rc5BETANone20 March 2004
0.9BETANone28 September 2004
0.9sr1BETANone30 November 2004
0.9sr2BETANone30 November 2005
1.0FINALNone3 September 2006
1.1FINALNone2 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-bitDPMI 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. 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 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.
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.

File systems

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.

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 file name 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

Technical details

Booting

FreeDOS can be booted from a hard drive, live CD, USB flash drive or floppy disk. It can also be run using virtualization software like Virtual PC and VirtualBox or x86emulation software like Bochs and QEMU. To use the Windows Boot Menu the following line can be added to 2K/XP's C:\BOOT.INI:
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, one can use SYSLINUX's ISOLINUX:
linux16 (hd0,msdos3)/usr/lib/syslinux/memdisk
initrd16 (hd0,msdos3)/home/user/fdboot.img

Memory management

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.

No comments: