Multiuser DOS

From Wikipedia, the free encyclopedia

Multiuser DOS
Website Various (see notes)
Company/
developer
Digital Research, Inc.
OS family CP/M
Source model Closed source
Latest stable release V7.22 R18 / 2004
Kernel type Monolithic kernel
Default user interface Command line interface
License Proprietary
Working state Current

Multiuser DOS is a soft real-time operating system for IBM PC-compatible microcomputers.

An evolution of the older Concurrent CP/M and Concurrent DOS operating systems, it was originally developed by Digital Research. Its ancestry lies in the earlier DR operating systems CP/M and MP/M.

The initial version of CP/M for the IBM PC, CP/M-86, was commercially unsuccessful, as Microsoft's MS-DOS offered much the same facilities for a considerably lower price. Like MS-DOS 1.0, CP/M-86 did not fully exploit the power and capabilities of the new 16-bit machine.

It was soon superseded by an implementation of CP/M's multitasking 'big brother', MP/M-86. This turned a PC into a multiuser machine capable of supporting multiple concurrent users using dumb terminals attached by serial ports. The environment presented to each user made it seem as if they had the entire computer to themselves. Since terminals cost a fraction of the then-substantial price of a complete PC, this offered considerable cost savings, as well as facilitating multi-user applications such as accounts or stock control in a time when PC networks were rare, very expensive and difficult to implement.

CP/M-86 and MP/M-86 were later merged to create Concurrent CP/M (also known as CCP/M), which offered more complete CP/M-86 compatibility in addition to MP/M-86's multiuser capabilities.

As the origin of MS-DOS was as a clone of CP/M, this operating system also offered limited compatibility with MS-DOS - simple MS-DOS applications which did not directly access the screen or other hardware could be run under CCP/M. For example, although a console program such as PKZip worked perfectly and offered more facilities than the CP/M-native Arc archiver, more complex applications which performed screen manipulations, such as WordStar for DOS, would not and thus native CCP/M versions were required.

CCP/M was developed into Concurrent DOS (AKA CDOS), which offered more complete DOS compatibility. The first released version, CDOS 3.2, was compatible with MS-DOS 1; later versions added compatibility with MS-DOS 2.x and 3.x. Versions 5 and 6 (Concurrent DOS XM) could bank switch multiple programs using EEMS.

In 1987, CDOS was rewritten as Concurrent DOS/386. Because this ran only on machines equipped with the Intel 80386 processor, it could use the 386's hardware facilities for virtualising the hardware, allowing most DOS applications to run unmodified under CDOS/386 - even on terminals. The OS supported concurrent multiuser file access, allowing multiuser DOS applications to run as if they were on individual PCs attached to a network server. Thus CDOS/386 was not only a cheaper alternative to individual PCs but allowed a single server to support a number of users on dumb terminals or low-specification PCs used as terminals without the expense of individual workstations and network cards. Appropriate software allowed several users to use a single database without mutual interference: it was a true multiuser system.

Later versions of CDOS incorporated some of the enhanced functionality of DR's later single-user MS-DOS clone DR-DOS, after which the product was renamed to the more explanatory Multiuser DOS, often abbreviated to MUDOS or MDOS.

MDOS suffered from several technical limitations that restricted its ability to compete with LANs based on MS-DOS. It required its own special device drivers for much common hardware, as MS-DOS drivers were not multiuser or multi-tasking aware. Driver installation was more complex than the simple MS-DOS method of copying the files onto the boot disk and modifying CONFIG.SYS appropriately - it was necessary to relink the MDOS kernel (known as a nucleus) using the SYSGEN command.

MDOS was also unable to use many common MS-DOS additions such as network stacks, and it was limited in its ability to support later developments in the PC-compatible world, such as graphics adaptors, sound cards, CD-ROM drives and mice. Although many of these were soon rectified - for example, graphical terminals were developed, allowing users to use CGA, EGA and VGA software - it was less flexible in this regard than a network of individual PCs, and as the prices of these fell, it became less and less competitive, although it still offered benefits in terms of management and lower total cost of ownership. Unlike MP/M, it never became popular as a single-user but multitasking OS, partly because of license costs and partly because of the requirement for special device drivers - unlike multitasking, but not multiuser, DOS additions such as Quarterdeck's DESQview.

[edit] Applications software

While the various releases of this operating system had increasing ability to run MS-DOS programs, software written for the platform could take advantage of its features by using function calls specifically suitable for multiuser operation. The operating system provided pre-emptive multitasking so that no process could hog the processor and refuse to relinquish control; this was a problem with early software for Microsoft Windows. There were facilities for processes to run in the background without user interaction, and for communication between running processes. Programs written, or adapted, for the platform needed to avoid going into endless loops until interrupted when, for example, waiting for a user to press a key; this wasted processor time that could be used by other users. Instead, waiting programs could go into a sleep mode supported by the operating system which did not use resources. Processes could be run at different priority levels.

[edit] See also

[edit] External links

Languages