DR-DOS

From Free net encyclopedia

Template:Infobox OS DR-DOS is a PC DOS-compatible operating system for IBM PC-compatible personal computers, originally developed by Gary Kildall's Digital Research and derived from CP/M-86.

Contents

History

Origins in CP/M

DR-DOS was a new name given to what was then the latest version of Digital Research's long line of computer operating systems. Their original CP/M for 8-bit 8080, Z-80, and 8085 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 up until this time 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.

Rather than licence CP/M-86 from Digital Research (as the other 8088-based computer makers had done) IBM chose to equip disk based IBM PCs with PC-DOS as standard, and offer CP/M-86 as an extra-cost option. (PC-DOS, for practical purposes, could at that time be regarded as essentially identical with MS-DOS. Both products were based on Seattle Computer Products QDOS, itself a legally questionable clone of CP/M.) Experts and industry observers in late 1981 were all but unanimous in the view that CP/M-86 was technically superior, and that the marketplace would eventually favour it. However, CP/M-86 was not yet ready at the August 1981 IBM PC introduction, and Microsoft agreed with IBM to sell PC-DOS for $60 compared to the $240 being charged by Digital Research. The proportion of PC buyers prepared to spend four times as much to buy CP/M-86 was very small, and the availability of compatible application software, at first decisively in Digital Research's favour, was only temporary.

Digital Research fought a long losing battle to promote CP/M-86, and eventually decided that they could not beat the Microsoft-IBM lead in application software availability, so they had best join it by modifying CP/M-86 to allow it to run the same applications as MS-DOS and PC-DOS. The new version was re-launched in 1988 as DR-DOS.

First DR-DOS version

The first version was released in May, 1988. Version numbers were chosen to reflect features relative to MS-DOS; the first version promoted to the public was DR-DOS 3.41, which offered comparable but better features to the massively successful MS-DOS 3.3 - and Compaq's version, Compaq DOS 3.31. (Compaq's variant was the first to introduce the system for supporting hard disk partitions of over 32MB which was later to become the standard used in MS-DOS 4.0 and all subsequent releases.)

At this time, MS-DOS was only available bundled with hardware, so DR-DOS achieved some immediate success as it was possible for consumers to buy it through normal retail channels. Also, DR-DOS was cheaper to license than MS-DOS. As a result, DRI was approached by a number of PC manufacturers who were interested in a third-party DOS, and this prompted several updates to the system.

Most significant update

The most significant was DR-DOS 5.0 in May 1990. (The company skipped version 4, avoiding comparison with MS-DOS 4.0.) This introduced ViewMAX, a GEM based GUI file management shell, and bundled disk-caching software, but more significantly, it also offered vastly improved memory management over MS-DOS. Compared to earlier MS-DOS 4.01 which already bundled a 386-mode memory manager (EMM386.SYS), capable of converting Extended Memory Specification (XMS) memory into Expanded Memory Specification (LIM 4.0 EMS) memory more commonly used by DOS applications, memory management in DR-DOS had two extra features.

First, on Intel 80286 or better microprocessors with 1MB or more RAM, the DR-DOS kernel and structures such as disk buffers could be located in the High Memory Area, the first 64KB of extended memory which were accessible in real mode due to an incomplete compatibility of the 80286 with earlier processors. This freed up the equivalent amount of critical "base" or Conventional memory, the first 640KB of the PC's RAM – which was the area in which all MS-DOS applications had to run. Using high memory was not a new idea, as this memory could previously be used by Windows applications starting with Windows/286 2.1 released in 1988, but offering more memory to old DOS applications was more interesting.

Additionally, on Intel 80386 machines, DR-DOS's EMS memory manager allowed the OS to load DOS device drivers into upper memory blocks, further freeing base memory. For more information on this, see the article on the Upper Memory Area.

DR-DOS 5 was the first DOS to integrate such functionality into the base OS (loading device drivers into upper memory blocks was possible using QEMM and MS-DOS). As such, on a 386 system, it could offer vastly more free conventional memory than any other DOS. Once drivers for a mouse, multimedia hardware and a network stack were loaded, an MS-DOS machine typically might only have 300 to 400KB of free conventional memory – too little to run most late-1980s software. DR-DOS 5, with a small amount of 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 620KB out of the 640KB.

So much, in fact, that some programs would fail to load as they started "impossibly" low in memory – inside the first 64KB. DR-DOS 5's new LOADFIX command worked around this by leaving a small empty space at the start of the memory map.

Given the constraints of the time, this was an incredibly powerful technology which made life much easier for PC technicians of the day, and this propelled DR-DOS 5.0 to rapid and considerable popularity.

Aggressive competition by Microsoft

Faced with substantial competition in the DOS arena, Microsoft responded strongly. They announced the development of MS-DOS 5.0 in May 1990, to be released a few months later and include similar advanced features to those of DR-DOS. This has been seen as vaporware, as MS-DOS 5.0 was released June 1991. It included matches of the DR's enhancements in memory management, but did not offer all of the improvements to the syntax of DOS commands that DR did.

DR responded with DR-DOS 6.0 in 1991. This bundled in SuperStor on-the-fly disk compression, to maximise the space available on the tiny hard disks of the time - 40MB was still not an atypical size, which with the growth of larger applications and especially Microsoft Windows was frequently not enough space. DR-DOS 6.0 also included an API for multitasking on CPUs capable of memory protection, namely the Intel 80386 and newer. The API was available only to DR-DOS aware applications, but well-behaved ordinary DOS applications could also be pre-emptively multitasked by the bundled task-switcher, TaskMax. On 286-based systems, DOS applications could be suspended to the background to allow others to run. However, DR's multitasking system was seen as technically inferior to third-party offerings such as DESQview, which could multitask applications which performed direct hardware access and graphical applications and even present them in scalable on-screen windows, and it was never widely used. It nonetheless represented an important "tick on the box" - a feature on the list of specifications.

Microsoft responded with MS-DOS 6.0, which again matched the more important features of DR-DOS 6.0 - but the use of stolen code caused legal problems. See the article on MS-DOS for more.

Though DR-DOS was almost 100% binary compatible with applications written for MS-DOS, Microsoft nevertheless expended considerable effort in attempts to break compatibility. In one example, they inserted code into the beta version of Windows 3.1 to return a non-fatal error message if it detected a non-Microsoft DOS. With the detection code disabled (or if the user canceled the error message), Windows ran perfectly under DR-DOS. [1] This code was removed from final release of Windows 3.1 and all subsequent versions, however. (see also Embrace, extend and extinguish for other Microsoft tactics.)

Patching to counter Microsoft

It was a simple matter for Digital Research to patch DR-DOS to circumvent the 'authenticity check' in Windows 3.1 beta, and the patched version was on the streets within six weeks of the release of Windows 3.1. With improved marketing and packaging, very advanced memory management, disk compression and the Super PC-Kwik caching software, DR-DOS 6.0 was outstanding value and easily the most successful version.

Around this time, networking giant Novell bought Digital Research with a view to using DR's product line as a lever in their comprehensive strategy to break the Microsoft monopoly. (This was part of a massive and ultimately disastrous spending spree for Novell: they bought WordPerfect Corporation at about the same time, some of Borland's products, and invested heavily in Unix as well.) The planned DR-DOS 7.0, intended to trump Microsoft's troubled MS-DOS 6.0, was repeatedly delayed. When it eventually arrived – renamed to Novell DOS 7.0 – it was a disappointment. It was bigger and introduced many new bugs and the main functional addition was Novell's second attempt at a peer-to-peer networking system, Personal Netware. This worked and was better than its predecessor Netware Lite but it was incompatible with Microsoft's networking system, now growing popular with support in Windows for Workgroups, OS/2 and Windows NT. A considerable amount of manual configuration was needed to get both to co-exist on the same PC and Personal Netware never achieved much success.

Contribution by Novell

Novell DOS 7 required several bug-fix releases and was not completely stable when the next development occurred. Realising eventually that their formidable networking skills did not translate into other areas, Novell sold the product line off to Caldera Systems, by which time it was of little commercial value.

Although DR-DOS had ceased to be a significant present threat to their market share by 1995, Microsoft now faced growing competition from IBM's PC-DOS 6.3, and moved to make it impossible to use or buy the subsequent Windows version, Windows 95, with any DOS product other than their own. Claimed by them to be a purely technical change, this was later to be the subject of a major law suit brought in Salt Lake City by Caldera. Microsoft lawyers tried repeatedly to have the case thrown out but without success. Immediately after the completion of the pre-trial deposition stage (where the parties list the evidence they intend to present), there was an out-of-court settlement for an undisclosed sum. DR-DOS was eventually sold to Lineo, where it is still manufactured for some specialised applications. One of those applications is Seagate's Seatools, which boots into a version of DR-DOS.

Current Versions

DR-DOS 7.01, which was released by Caldera under a non-commercial use only source code license as OpenDOS, is still actively being developed by The DR-DOS/OpenDOS Enhancement Project, founded in July 2002 in an attempt to bring the functionality of DR-DOS up to parity with modern PC operating systems. The project's efforts have resulted so far in adding native support for large disks (LBA) and the FAT32 filesystem. There were also several other enhancements, including improved memory management and support for the new [[FAT+]] filesystem extension which allows files of almost 256 GB in size on normal FAT partitions.

In 2002, DR-DOS was sold to a small Lineo spin-off company called DeviceLogics, which has continued to sell it for use in embedded systems. DR-DOS 8.0 was released on 30 March 2004 featuring FAT32 and large disk support, the ability to boot from ROM or Flash, multitasking and a DPMI memory manager. Then the company was split into Devicelogics Inc. and DRDOS Inc, which released Dr-DOS 8.1 (better FAT32 support) in autumn 2005. However, this has now been pulled (because of the discoveries outlined below), and replaced with the old version of theirs (7.03).

Current version of Dr-DOS: 7.03 Current version of Enhanced Dr-DOS: 7.01.08

Controversies

In October 2005, it was discovered that with the release of DR-DOS 8.1, DR-DOS Inc. had failed to comply with the GPL regarding a few included applications, as well as failing to include both licenses and author credits for other included applications. [2] In particular, and possibly not limited to the following, DR-DOS Inc. violated the GPL licensed work by missing to include licensing notices, failing to ask the authors for permission as it was being included under another license, and by charging for the source code above the necessary distribution costs, i.e. to make a profit.

Current Versions

See also

External links

cs:DR-DOS de:DR-DOS es:DR-DOS fr:DR-DOS it:DR-DOS nl:DR-DOS pl:DR-DOS pt:DR-DOS fi:DR-DOS sv:DR-DOS zh:DR-DOS ko:DR-DOS