DR-DOS
From Wikipedia, the free encyclopedia
Website: | DRDOS, Inc. / The DR-DOS/OpenDOS Enhancement Project |
Company/ developer: |
Originally by Digital Research, now developed by DRDOS, Inc. and The DR-DOS/OpenDOS Enhancement Project |
OS family: | DOS |
Source model: | Mixed - partly Closed source, partly Open Source |
Latest stable release: | DR-DOS 8.1, Enhanced DR-DOS 7.01.07 / Oct 2005, Mar 2005 |
Kernel type: | Monolithic kernel |
Default user interface: | CLI, GUI available separately |
License: | Proprietary |
Working state: | Current |
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 |
[edit] History
[edit] 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 license CP/M-86 from Digital Research as some other 8088-based computer makers did, IBM chose to supply disk based IBM PCs with PC-DOS, and offered CP/M-86 as an option (as well as the UCSD p-System) when it arrived a few months later. PC-DOS was based on Seattle Computer Products QDOS, which was in turn based on CP/M. Industry experts in 1982 held that CP/M-86 was a technically superior product that would eventually prevail in the marketplace . 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 asked for CP/M-86 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.
[edit] 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.
[edit] 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. Memory management in DR-DOS had two extra features, 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.
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.
[edit] 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. Though far from being a true "multitasking" operating system, TaskMax 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.
[edit] PalmDOS
At about this time Digital Research also embarked on a spin-off Product called PalmDOS (and later released as Netware PalmDOS), which as its name implies was a DR-DOS derivative aimed at the emerging Palmtop/PDA market.
As well a ROM-executing kernel it had palmtop-type support for features such as PCMCIA PC Cards, Power Management, etc.
[edit] Hungerford/Monterey
Although DRI was based in Monterey, California, most of the operating system work (especially DR-DOS, Multiuser DOS and PalmDOS) was done in Hungerford, UK.
[edit] 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 an 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.
[edit] 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 in 1996, by which time it was of little commercial value.
[edit] The Microsoft Lawsuit
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 Technology's Seatools, which boots into a version of DR-DOS.
[edit] 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 WIP
[edit] 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][3][4] In particular, and possibly not limited to the following, DR-DOS Inc. violated the GPL licensed work by missing 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.
[edit] Current Versions
- Enhanced DR-DOS 7.01.08 WIP (17.12.2006) (open source; under active development)
- DRDOS Inc.'s DR-DOS 7.03 (closed-source; no visible development occurring)
[edit] See also
[edit] External links
- Official DR-DOS site
- Enhanced DR-DOS/OpenDOS Project
- Enhanced DR-DOS Forum
- Dr-DOS Wiki
- Old Os — Information and downloads for DR-DOS users.