|developer||Jim Hall & FreeDOS team
(DOS-C: Pasquale Villani)
1.2 of December 25, 2016
(3 years and 245 days ago)
|Kernel||monolithic ( C and assembler )|
|ancestry||DOS-C ( kernel only )
↳ FreeDOS ( Distribution )
|Architecture (s)||IBM PC ( x86 from 8086 / 8088 )|
|Others||Language: English / Custom|
The development of FreeDOS takes place within the FreeDOS project, in which several individual projects have come together to create a free and compatible alternative to the MS-DOS operating system, the further development of which has been discontinued by its manufacturer Microsoft . Many of the individual projects originally pursued or pursued the goal of replacing or supplementing components such as the DOS kernel, driver and utility programs from MS-DOS or other DOS operating systems with in-house developments with comparable or extended functionality. The overall project aims to make up-to-date expansions and adjustments while still maintaining the character of FreeDOS as an MS-DOS-compatible operating system.
Version 1.0 was completed on September 3, 2006. Version 1.1, planned for April 2008, finally appeared on January 2, 2012. Version 1.2 mainly contains detailed improvements such as newer versions and additional programs.
Differences from MS-DOS
FreeDOS is an open source and free operating system that is subject to the GPL license and is actively being further developed. In addition, it also offers technical advantages over other DOS operating systems. Among other things, it supports:
- Logical Block Addressing (LBA) - enables access to data carriers up to a size of 2 TB and thus removes the limitation of many DOS operating systems (of either 504 MB , 2, 8 or 128 GB ).
- Partitions with FAT32 file system - not only access to, but also booting from these file systems is made possible.
- DOSLFN driver - allows the use of long file names, such as are supported for the FAT file system under Windows 9x operating systems (see also VFAT ).
- Ultra-DMA driver - this enables fast access to IDE data carriers. The BIOS calls common under DOS operating systems via software interrupt 13h are mostly very slow on modern computers, but on the other hand ensure that they work on all IBM AT-compatible computers.
FreeDOS was created as an alternative to MS-DOS. The project was initiated by Jim Hall on June 29, 1994 when Microsoft announced that it would end sales and product support for MS-DOS. Development started almost from scratch, the developers were only able to build on two existing projects: DOS-C, whose kernel was finally taken over by FreeDOS, and a very primitive memory manager, which became EMM386.EXE after extensive revision . Jim Hall contributed command line programs. The development of FreeDOS was independent of DR DOS , which was published in 1996 as "OpenDOS" also under an open source license, but restricted to non-commercial, private use. However, this is not compatible with the GNU General Public License used for FreeDOS , which is why the transfer of source code is excluded.
From version Beta 5 and 6, FreeDOS was increasingly rated as sufficiently mature and was included with various computer magazines, mostly on CD-ROM. With the beta 9 release candidates at the end of 2003, the first PCs with FreeDOS were shipped, for example from Dell and HP. It is considered a more modern DOS, as it already supports larger hard drives and FAT32, which the last versions of MS-DOS lacked (without Windows, i.e. before Windows 95b / MS-DOS 7.10).
FreeDOS includes its own drivers for XMS (HIMEM.EXE) and EMS (EMM386.EXE). EMM386 now also supports the protected mode interface VCPI and thus works with DOS extenders and DPMI programs to expand the conventional memory space that is limited to 1 MiB under MS-DOS-compatible. Instead of HIMEM and EMM386, you can also use the alternatives HIMEMX (replacement for and improvements over the original HIMEM), JEMM386 (powerful replacement for EMM386) or JEMMEX (combines the functionality of HIMEM and EMM386 in a single program), which are based on the two official Build FreeDOS drivers. The FreeDOS distribution also contains Ultra-DMA drivers and the “LBAcache” program, which, like “SmartDrv” from Microsoft, buffers hard disk data in the XMS memory (see also hard disk cache ).
The FreeCOM command line interpreter and parts of the kernel , buffers, drivers and TSRs can be similar to the late MS-DOS versions in the UMB - or HMA -Speicher load, allowing up to 620 KiB of conventional DOS memory (the 640 KiB includes ) can be made available. This is important for old games and applications, for example, as these often require a lot of the scarce conventional memory.
Native support for NTFS is not planned, but there are shareware drivers that do this.
Microsoft Windows cannot be used at all (from Windows 95), only to a limited extent (Windows 3.x) or only in very old versions (Windows 1.x or 2.x). Problems similar to those with newer versions of Windows also occur with other programs that use many undocumented interfaces in MS-DOS. In addition, some programs in FreeDOS are still in the beta phase , so they are not always adequately checked for errors and may fail the service.
The system is primarily used so that complete systems are nominally not delivered without an operating system, for example from Dell for its n-series . In addition, FreeDOS is often used for bootable floppy disks, e.g. B. to start test programs with full hardware access.
In addition to new programs developed for FreeDOS, almost all programs that were written for MS-DOS also run without problems under FreeDOS. Exceptions are individual programs that perform an MS-DOS version check or that depend on non-standard behavior or undocumented features of MS-DOS. The following are generally supported:
- 16- Bit - real mode programs: .com - (DOS or .exe files and MZ - executable called)
- 16-bit DPMI - rarely, predominantly (and only optionally) generated by Borland compilers
- 32-Bit-DPMI - many DOS extenders like DOS / 4GW, PMODE / W, CauseWay, DOS / 32A, DJGPP / GO32 etc.
Compatibility with graphical user interfaces
Graphic user interfaces (“GUI” for short) written for MS-DOS should also be able to run on FreeDOS. Here, too, problems arise if the GUI in question deviates from standardized behavior or uses undocumented features of MS-DOS. This applies, for example, to Windows 3.x versions (see below ).
OpenGEM , a graphical user interface for MS-DOS-compatible operating systems that is available under a free license, has very good compatibility . OpenGEM is a further development of the GEM user interface from Digital Research , popular in the mid-1980s , which was widely used by the Atari ST and was already available in a version for the IBM PC .
Compatibility with Microsoft Windows
Windows 1.0 to 3.x
The Windows versions 1.0 through 2.x provide no own memory management and no own drivers for disk access available and can therefore be easily FreeDOS use. Windows 3.x and Windows for Workgroups 3.x only run in standard mode . To use the enhanced mode , a newer FreeDOS kernel is required, which is still in the test phase .
Windows 95 through Me
Apart from the theoretical possibility of starting Windows 4.0 (the graphical user interface of Windows 95 ) directly under FreeDOS, all DOS-based Windows versions, as full operating systems, contain an adapted DOS substructure in the form of MS-DOS 7.0 / 7.1 (Windows 95 / 98) or MS-DOS 8.0 ( Windows Me ).
Since these Windows versions access many undocumented functions of the supplied MS-DOS, they cannot be started from FreeDOS.
Windows 95 and higher come with their own, adapted MS-DOS. In order to be able to operate FreeDOS alongside Windows 95 and all successor versions, a mechanism called "dual boot" or "multiboot" is required. Windows 95 generally already has all the requirements for this - if, for example, it is to be installed on a partition with an existing DOS, it automatically configures a suitable boot menu for selecting the operating system to be started. However, this mechanism only works in conjunction with MS-DOS and PC-DOS.
The FreeDOS distribution therefore offers the MetaKern program , which also provides a boot menu for DOS-based Windows versions (Windows 95 to Windows Me).
With Windows versions that are derived from Windows NT and therefore use NTLDR , FreeDOS is recognized as an “unknown operating system” and can also be started, in the case of Windows NT up to and including version 4.0, however, only if FreeDOS is installed on a FAT16 partition . Alternatively, you can adjust the BOOT.INI file manually with ReactOS FREELDR.INI .
With Windows Vista a new structure called " Boot Configuration Data Store " was introduced (see also Boot Configuration Data ), which can only be changed via the command line application BCDEDIT.EXE .
From version 1.0 there is an official FreeDOS distribution on CD, which can be downloaded from the Internet as an ISO image . With the bootable live CD , with which you can simply try FreeDOS without installation, installation on the hard disk is also possible. In addition to the FreeDOS system files and the OpenGEM graphical user interface, it also contains a number of useful programs, some of which are listed here:
- MPXPLAY, audio player with support for Ogg Vorbis , MP3 , WAVE and other formats
- Arachne web browser for DOS, graphical web browser that dials in via its own TCP / IP stack
- CuteMouse, a DOS mouse driver that also supports the mouse wheel found in almost all newer mice
- FreeDOS DEFRAG, first freely available DOS program for defragmentation of (DOS) data carriers (in newer versions also FAT32)
Since the distribution CD is not always kept up to date, updated versions of the individual programs can also be downloaded separately. Links can be found on the FreeDOS website.
|-||June 29, 1994||First mention of PD-DOS on comp.os.msdos.apps.|
|-||July 25, 1994||Renaming of PD-DOS to Free-DOS.|
|Older version; no longer supported: Alpha 1||September 16, 1994||The first alpha version of Free-DOS.|
|Older version; no longer supported: Alpha 2||December 1994|
|Older version; no longer supported: Alpha 3||January 1995|
|Older version; no longer supported: Alpha 4||June 1995|
|-||January 1996||Renamed to FreeDOS (without hyphen); Pat Villani publishes his book "FreeDOS Kernel."|
|Older version; no longer supported: Alpha 5||August 10, 1996|
|Older version; no longer supported: Alpha 6||November 1997|
|Older version; no longer supported: Beta 1||March 25, 1998||The first beta version of FreeDOS, code name "Orlando."|
|Older version; no longer supported: Beta 2||October 28, 1998||Code name "Marvin."|
|Older version; no longer supported: Beta 3||April 21, 1999||Code name "Ventura."|
|Older version; no longer supported: Beta 4||April 9, 2000||The fourth beta version was published in advance in February by the Italian computer magazine DEV. Code name "Lemur."|
|Older version; no longer supported: Beta 5||August 10, 2000||Code name "Lara." This version was already included in several computer magazines. The magazine "Elektronik" already described this beta version as a "mature beta."|
|Older version; no longer supported: Beta 6||March 18, 2001||Code name "Midnite." a. the c't issues 12/2001 and 14/2001.|
|Older version; no longer supported: Beta 7||September 7, 2001||Code name "Spears."|
|Older version; no longer supported: Beta 8||April 7, 2002||Code name "Methuselah."|
|Older version; no longer supported: Beta 9 RC1||July 2003||RC1 stands for "Release Candidate 1."|
|Older version; no longer supported: Beta 9 RC2||August 23, 2003||The first pre-installations ( English Pre-Installation ) appear on the market.|
|Older version; no longer supported: Beta 9 RC3||September 27, 2003||As of January 2004, some Dell computer models were available with FreeDOS.|
|Older version; no longer supported: Beta 9 RC4||February 5, 2004|
|Older version; no longer supported: Beta 9 RC5||March 20, 2004|
|Older version; no longer supported: Beta 9||September 28, 2004|
|Older version; no longer supported: Beta 9 SR1||November 30, 2004||SR1 stands for "Service Release 1," ie a maintenance version. As of December, computers with FreeDOS were also shipped from HP .|
|Older version; no longer supported: Beta 9 SR2||November 30, 2005||After one year the maintenance version "Service Release 2" will be published.|
|Older version; no longer supported: 1.0||September 3, 2006|
|Older version; no longer supported: 1.1||January 2, 2012||The first pre-release versions of FreeDOS 1.1 had already appeared in July 2011, but they were not official.|
|Older version; no longer supported: 1.2 RC1||October 31, 2016||First preliminary version of FreeDOS 1.2.|
|Older version; no longer supported: 1.2 RC2||November 24, 2016||Second preliminary version of FreeDOS 1.2.|
|Current version: 1.2||December 25, 2016|
- FreeDOS 1.2 .
- SourceForge : DOS-C: an MS-DOS compatible OS
- Jim Hall . freedos.org
- FreeDOS turns 25 years old: An origin story June 28, 2019, accessed July 4, 2019
- Alexandra Kleijn: 15 years of FreeDOS. In: Heise online . June 29, 2009 . Retrieved December 26, 2016.
- JEMMEX . ( Memento of February 6, 2016 in the Internet Archive ) FreeDOS Docs; accessed on Feb. 6, 2016
- comp.os.msdos.apps - PD-DOS project * announcement * (English), James Hall
- comp.os.msdos.apps - Free-DOS project (English), James Hall
- Dell Offers FreeDOS With New PCs (English)