microsoft
Cleanup
Cleanup (issue: copied directly from Wikipedia, and needs to be cleaned up to fit MS Wiki standards )
To meet the Microsoft Wiki's quality standards, this article or section may require cleanup. Please help by improving the article.

DR-DOS (written as DR DOS, without a hyphen, in versions up to and including 6.0) is a disk operating system for IBM PC compatibles. Upon its introduction in 1988, it was the first DOS attempting to be compatible with IBM PC DOS and MS-DOS (which were the same product sold under different names[citation needed]).

DR-DOS was developed by Gary A. Kildall's Digital Research and derived from Concurrent PC DOS 6.0, which was an advanced successor of CP/M-86. As ownership changed, various later versions were produced with names including Novell DOS and Caldera OpenDOS.

History

Origins in CP/M

Digital Research's original CP/M for the 8-bit Intel 8080- and Z-80-based systems spawned numerous spin-off versions, most notably CP/M-86 for the Intel 8086/8088 family of processors. Although CP/M had dominated the market since the mid-1970s, and was shipped with the vast majority of non-proprietary-architecture personal computers, the IBM PC in 1981 brought the beginning of what was eventually to be a massive change.

IBM originally approached Digital Research in 1980, seeking an x86 version of CP/M. However, there were disagreements over the contract, and IBM withdrew. Instead, a deal was struck with Microsoft, who purchased another operating system, 86-DOS, from Seattle Computer Products (SCP). This became Microsoft MS-DOS and IBM PC DOS. 86-DOS's command structure and application programming interface imitated that of CP/M 2.2 (with BDOS 2.2). Digital Research threatened legal action, claiming PC DOS/MS-DOS to be too similar to CP/M. In early 1982, IBM settled by agreeing to sell Digital Research's x86 version of CP/M, CP/M-86, alongside PC DOS. However, PC DOS sold for US$40 while CP/M-86 had a $240 price tag. The proportion of PC buyers prepared to spend six times as much to buy CP/M-86 was very small, and the limited availability of compatible application software, at first in Digital Research's favor, was only temporary.

Digital Research fought a long losing battle to promote CP/M-86 and its multi-tasking multi-user successors MP/M-86 and Concurrent CP/M-86, and eventually decided that they could not beat the Microsoft-IBM lead in application software availability, so they modified Concurrent CP/M-86 to allow it to run the same applications as MS-DOS and PC DOS.

This was shown publicly in December 1983 and shipped in March 1984 as Concurrent DOS 3.1 (a.k.a. CDOS with BDOS 3.1) to hardware vendors. While Concurrent DOS continued to evolve in various flavours over the years to eventually become Multiuser DOS and REAL/32, it was not specifically tailored for the desktop market and too expensive for single-user applications. Therefore, over time two attempts were made to sideline the product:

In 1985, Digital Research developed DOS Plus 1.0 to 2.1, a stripped-down and modified single-user derivative of Concurrent DOS 4.1 and 5.0, which ran applications for both platforms, and allowed switching between several tasks as did the original CP/M-86. Its DOS compatibility was limited, and Digital Research made another attempt, this time a native DOS system. This new disk operating system was launched in 1988 as DR DOS.

Although DRI was based in Pacific Grove and later in Monterey, California, USA, the work on DOS Plus started in Newbury, Berkshire in the UK, where Digital Research Europe had its OEM Support Group located since 1983. Beginning in 1986, most of the operating system work on Concurrent DOS 386 and XM, Multiuser DOS, DR DOS and PalmDOS was done in Digital Research's European Development Centre (EDC) in Hungerford, Berkshire. Later on some work was also done by Digital Research GmbH in Munich, Germany.

First DR DOS version

As requested by several OEMs, Digital Research started a plan to develop a new DOS operating system addressing the defects left by MS-DOS in 1987. Of particular importance was a million dollar deal with Kazuhiko "Kay" Nishi of ASCII Corporation, who had previously been instrumental in opening the Japanese OEM market for Microsoft. The first DR DOS version was released on 28 May 1988. Version numbers were chosen to reflect features relative to MS-DOS; the first version promoted to the public was DR DOS 3.31, which offered features comparable to Compaq MS-DOS 3.31 with large disk support (FAT16B a.k.a. "BIGDOS"). DR DOS 3.31 reported itself as "IBM PC DOS 3.31", while the internal BDOS (Basic Disk Operating System) kernel version was reported as 6.0, single-user nature, reflecting its origin as derivative of Concurrent DOS 6.0 with the multitasking and multiuser capabilities as well as CP/M API support stripped out and the XIOS replaced by an IBM-compatible DOS-BIOS. The system files were named DRBIOS.SYS (for the DOS-BIOS) and DRBDOS.SYS (for the BDOS kernel), the disk OEM label used was "DIGITAL␠".

DR DOS offered some extended command line tools with command line help, verbose error messages, sophisticated command line history and editing (HISTORY directive) as well as support for file and directory passwords built right into the kernel. It was also cheaper to license than MS-DOS, and was ROMable right from the start. The ROMed version of DR DOS was also named ROS (ROM Operating System). DRI was approached by a number of PC manufacturers who were interested in a third-party DOS, which prompted several updates to the system.

At this time, MS-DOS was only available to OEMs bundled with hardware. Consequently, DR DOS achieved some immediate success when it became possible for consumers to buy it through normal retail channels beginning with version 3.4x.

Known versions are DR DOS 3.31 (BDOS 6.0, June 1988, OEM only), 3.32 (BDOS 6.0, 17 August 1988, OEM only), 3.33 (BDOS 6.0, 1 September 1988, OEM only), 3.34 (BDOS 6.0, OEM only), 3.35 (BDOS 6.0, 21 October 1988, OEM only), 3.40 (BDOS 6.0, 25 January 1989), 3.41 (BDOS 6.3, June 1989, OEM and retail). Like MS-DOS, most of them were produced in several variants for different hardware. While most OEMs kept the DR DOS name designation, 2001 Sales, Inc. marketed it under the name EZ-DOS 3.41 (also known as EZ-DOS 4.1).

Further information: Comparison of DOS operating systems

DR DOS 5.0

DR DOS version 5.0 (code-named "Leopard") was released in May 1990, still reporting itself as "PC DOS 3.31" for compatibility purposes, but internally indicating a single-user BDOS 6.4 kernel. (Version 4 was skipped to avoid being associated with the relatively unpopular MS-DOS 4.0.) This introduced ViewMAX, a GEM-based GUI file management shell. ViewMAX's startup screen would present the slogan "Digital Research - We make computers work". DR DOS 5.0 also introduced the patented BatteryMAX power management system, bundled disk-caching software (DRCACHE), a remote file transfer tool (FILELINK), a cursor shape configuration utility (CURSOR), and offered a vastly improved memory management system (MemoryMAX). For compatibility purposes, the DR DOS 5.0 system files were now named IBMBIO.COM (for the DOS-BIOS) and IBMDOS.COM (for the BDOS kernel) and due to the advanced loader in the boot sector could be physically stored anywhere on disk. The OEM label in the boot sectors was changed to "IBM␠␠3.3".

DR DOS 5.0 was the first DOS to include load-high capabilities. The kernel and data structures such as disk buffers could be relocated in the High Memory Area (HMA), the first 64 KB of extended memory which are accessible in real mode. This freed up the equivalent amount of critical "base" or conventional memory, the first 640 KB of the PC's RAM – the area in which all DOS applications run.

Additionally, on Intel 80386 machines, DR DOS's EMS memory manager allowed the operating system to load DOS device drivers into upper memory blocks, further freeing base memory.

DR DOS 5.0 was the first DOS to integrate such functionality into the base OS (loading device drivers into upper memory blocks was already possible using third-party software like QEMM). This allowed it, on 286 systems with supported chipsets and on 386 systems, to provide significantly more free conventional memory than any other DOS. Once drivers for a mouse, multimedia hardware and a network stack were loaded, an MS-DOS/PC DOS machine typically might only have had 300 to 400 KB of free conventional memory – too little to run much late-1980s software. In contrast to this, DR DOS 5.0, with a little manual tweaking, could load all this and still keep all of its conventional memory free – allowing for some necessary DOS data structures, as much as 620 KB out of the 640 KB. With MEMMAX +V, the conventional memory region could even be extended into unused portions of the graphics adapter card typically providing another 64 to 96 KB more free DOS memory.

Because DR DOS left so much conventional memory available, some old programs utilizing certain address wrapping techniques failed to run properly as they were now loaded unexpectedly (or, under MS-DOS, "impossibly") low in memory – inside the first 64 KB segment (known as "low memory"). Therefore, DR DOS 5.0's new MEMMAX -L command worked around this by pre-allocating a chunk of memory at the start of the memory map in order for programs to load above this barrier (but with less usable conventional memory then). By default, MEMMAX was configured for +L, so that applications could take advantage of the extra memory.

DR DOS 6.0 / Competition from Microsoft

Faced with substantial competition in the DOS arena, Microsoft responded with an announcement of a yet-to-be released MS-DOS 5.0 in May 1990. This would be released in June 1991 and include similar advanced features to those of DR DOS. It included matches of the DR's enhancements in memory management.

Almost immediately in September 1991, Digital Research responded with DR DOS 6.0, code-named "Buxton". DR DOS 6.0, while already at BDOS level 6.7 internally, would still report itself as "IBM PC DOS 3.31" to normal DOS applications for compatibility purposes. This bundled in SuperStor on-the-fly disk compression, to maximize available hard disk space, and file deletion tracking and undelete functionality by Roger A. Gross.

DR DOS 6.0 also included a task-switcher named TASKMAX with support for the industry-standard task-switching API to run multiple applications at the same time. In contrast to Digital Research's Multiuser DOS (successor of Concurrent DOS in the multi-user products line), which would run DOS applications in pre-emptively multitasked virtual DOS machines, the DR DOS 6.0 task switcher would freeze background applications until brought back into the foreground. While it ran on x86-machines, it was able to swap to XMS memory on 286+ machines. TASKMAX did support some Copy & Paste facility between applications. Via the task-switcher API, graphical user interfaces such as ViewMAX or PC/GEOS could register as the task manager menu and thereby replace the TASKMAX text mode menu, so that users could switch between tasks from within a GUI.

Microsoft responded with MS-DOS 6.0, which again matched some features of DR DOS 6.0.

In December 1991, a pre-release version of Windows 3.1 was found to return a non-fatal error message if it detected a non-Microsoft DOS. This check came to be known as the AARD code. It was a simple matter for Digital Research to patch DR DOS 6.0 to circumvent the AARD code 'authenticity check' in the Windows 3.1 beta by rearranging the order of two internal tables in memory (with no changes in functionality), and the patched version, named "business update", was on the streets within six weeks of the release of Windows 3.1. With the detection code disabled, Windows ran perfectly under DR DOS and its successor Novell DOS. The code was present but disabled in the released version of Windows 3.1.

In July 1992, Digital Research Japan released DR DOS 6.0/V, a Japanese DOS/V compatible version of DR DOS 6.0. A Korean version appears to have been available as well.

PalmDOS

In 1992 Digital Research, still under its old name but already bought by Novell in July 1991, also embarked on a spin-off product code-named "Merlin" and later released as NetWare PalmDOS 1, which, as its name implies, was a very resource-light DR DOS 6.0 derivative aimed at the emerging Palmtop/PDA market.

PalmDOS was the first operating system in the family to support the new BDOS 7.0 kernel with native DOS compatible internal data structures instead of emulations thereof. Replacing the DOS emulation on top of a CP/M kernel by a true DOS compatible kernel helped a lot in improving compatibility with some applications using some of DOS' internal data structures and also was the key in reducing the resident size of the kernel code even further—a particular requirement for the PDA market. On the other hand, introducing a genuine Current Directory Structure (CDS) imposed a limit on the depth of working directories down to 66 characters (as in MS-DOS/PC DOS), whereas previous issues of DR DOS had no such limitation due to their internal organization of directories as relative links to parent directories instead of as absolute paths. PalmDOS still reported itself as "PC DOS 3.31" to applications in order to keep the kernel small and not run into compatibility problems with Windows, which would expect the DOSMGR API to be implemented for any DOS version since 5.0.

As well as a ROM-executing kernel, PalmDOS had palmtop-type support for features such as PCMCIA PC Cards (with DPMS support), power management (BatteryMAX and the [[$IDLE$]] device driver with its patented dynamic idle detection by Gross and John P. Constant), MINIMAX task switcher support for PIM (Personal Information Modules) applications stored and executed from ROM via XIP (Execute-In-Place), etc.

Credits to Wikipedia. See more info on DR-DOS by going to Wikipedia.