Multiuser DOS
Encyclopedia
Multiuser DOS is a soft real-time
Real-time operating system
A real-time operating system is an operating system intended to serve real-time application requests.A key characteristic of a RTOS is the level of its consistency concerning the amount of time it takes to accept and complete an application's task; the variability is jitter...

 multi-user multi-tasking operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 for IBM PC
IBM PC
The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform. It is IBM model number 5150, and was introduced on August 12, 1981...

-compatible microcomputers.

An evolution of the older Concurrent CP/M-86 and Concurrent DOS operating systems, it was originally developed by Digital Research
Digital Research
Digital Research, Inc. was the company created by Dr. Gary Kildall to market and develop his CP/M operating system and related products. It was the first large software company in the microcomputer world...

 and later further developed by Novell
Novell
Novell, Inc. is a multinational software and services company. It is a wholly owned subsidiary of The Attachmate Group. It specializes in network operating systems, such as Novell NetWare; systems management solutions, such as Novell ZENworks; and collaboration solutions, such as Novell Groupwise...

. Its ancestry lies in the earlier Digital Research 8-bit operating systems CP/M
CP/M
CP/M was a mass-market operating system created for Intel 8080/85 based microcomputers by Gary Kildall of Digital Research, Inc...

 and MP/M
MP/M
MP/M was a multi-user version of the CP/M operating system, created by Digital Research developer Tom Rolander in 1979. It allowed multiple users to connect to a single computer, each using a separate terminal....

 and the 16-bit single-tasking CP/M-86
CP/M-86
CP/M-86 was a version of the CP/M operating system that Digital Research made for the Intel 8086 and Intel 8088. The commands are those of CP/M-80. Executable files used the relocatable .CMD file format...

 which evolved from CP/M.

Concurrent CP/M-86

The initial version of CP/M for the IBM PC
IBM PC
The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform. It is IBM model number 5150, and was introduced on August 12, 1981...

, CP/M-86
CP/M-86
CP/M-86 was a version of the CP/M operating system that Digital Research made for the Intel 8086 and Intel 8088. The commands are those of CP/M-80. Executable files used the relocatable .CMD file format...

, was commercially unsuccessful, as Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

's MS-DOS
MS-DOS
MS-DOS is an operating system for x86-based personal computers. It was the most commonly used member of the DOS family of operating systems, and was the main operating system for IBM PC compatible personal computers during the 1980s to the mid 1990s, until it was gradually superseded by operating...

 offered much the same facilities for a considerably lower price. Like MS-DOS
MS-DOS
MS-DOS is an operating system for x86-based personal computers. It was the most commonly used member of the DOS family of operating systems, and was the main operating system for IBM PC compatible personal computers during the 1980s to the mid 1990s, until it was gradually superseded by operating...

 1.0, CP/M-86 did not fully exploit the power and capabilities of the new 16-bit
16-bit
-16-bit architecture:The HP BPC, introduced in 1975, was the world's first 16-bit microprocessor. Prominent 16-bit processors include the PDP-11, Intel 8086, Intel 80286 and the WDC 65C816. The Intel 8088 was program-compatible with the Intel 8086, and was 16-bit in that its registers were 16...

 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 port
Serial port
In computing, a serial port is a serial communication physical interface through which information transfers in or out one bit at a time...

s. 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-86 (also known as CCP/M-86 with BDOS 3.0), which offered CP/M-86 compatibility in conjunction with MP/M-86's multiuser capabilities. Concurrent CP/M-86 3.1 (BDOS 3.1) shipped on 21 February 1984.

Concurrent DOS

In August 1983, Bruce Skidmore, Ray Pedrizetti, Dave Brown and Gordon Edmonds teamed up to create PC-MODE, an optional module for Concurrent CP/M-86 3.1 (with BDOS 3.1) to provide basic compatibility with PC DOS (and MS-DOS
MS-DOS
MS-DOS is an operating system for x86-based personal computers. It was the most commonly used member of the DOS family of operating systems, and was the main operating system for IBM PC compatible personal computers during the 1980s to the mid 1990s, until it was gradually superseded by operating...

). This was shown publicly in December 1983 and shipped in March 1984 as Concurrent DOS 3.1 (aka CDOS with BDOS 3.1) to hardware vendors. Simple DOS applications, which did not directly access the screen or other hardware, could be run. For example, although a console program such as PKZIP
PKZIP
PKZIP is an archiving tool originally written by Phil Katz and marketed by his company PKWARE, Inc. The common "PK" prefix used in both PKZIP and PKWARE stands for "Phil Katz".-History:...

 worked perfectly and offered more facilities than the CP/M-native ARC
ARC (file format)
ARC is a lossless data compression and archival format by System Enhancement Associates . It was very popular during the early days of networked dial-up BBS. The file format and the program were both called ARC...

 archiver, more complex applications which performed screen manipulations, such as WordStar
WordStar
WordStar is a word processor application, published by MicroPro International, originally written for the CP/M operating system but later ported to DOS, that enjoyed a dominant market share during the early to mid-1980s. Although Seymour I...

 for DOS, would not, and thus native Concurrent CP/M versions were required.

Concurrent DOS 3.2 (with BDOS 3.2) in 1984 was compatible with PC DOS 1.x and was available for many different hardware platforms, the version with an IBM PC compatible BIOS/XIOS was named Concurrent PC DOS 3.2.

In January 1985, Digital Research previewed Concurrent DOS 286 in cooperation with Intel. The operating system would function strictly in 80286
Intel 80286
The Intel 80286 , introduced on 1 February 1982, was a 16-bit x86 microprocessor with 134,000 transistors. Like its contemporary simpler cousin, the 80186, it could correctly execute most software written for the earlier Intel 8086 and 8088...

 native mode, allowing protected mode multi-user, multitasking operation while running 8086 emulation
Emulator
In computing, an emulator is hardware or software or both that duplicates the functions of a first computer system in a different second computer system, so that the behavior of the second system closely resembles the behavior of the first system...

. While this worked on the B-1 step
Stepping level
The term stepping level in the context of CPU architecture or integrated circuitry is a version number.Stepping level refers to the introduction or revision of the lithographic mask or masks within the set of plates that generate the pattern that produces the CPU or integrated circuit...

 of prototype chip samples, Digital Research, with evaluation copies of their operating system already shipping in April, discovered problems with the emulation on the production level C-1 step of the processor in May, which would not allow Concurrent DOS 286 to run 8086 software in protected mode. The release of Concurrent DOS 286 had been scheduled for late May, but was delayed until Intel could develop a new version of the chip. In August, after extensive testing E-1 step samples of the 80286, Digital Research said that Intel had corrected all documented 286 errata, but that there were still undocumented chip performance problems with the prerelease version of Concurrent DOS 286 running on the E-1 step. Intel said that the approach, Digital Research wished to take in emulating 8086 software in protected mode differed from the original specifications; nevertheless they implemented minor changes in the microcode
Microcode
Microcode is a layer of hardware-level instructions and/or data structures involved in the implementation of higher level machine code instructions in many computers and other processors; it resides in special high-speed memory and translates machine instructions into sequences of detailed...

 that allowed Digital Research to run emulation mode much faster, incorporated into the E-2 step. These same limitations affected FlexOS 286 version 1.0, a derivation of Concurrent DOS 286.
Later versions added compatibility with PC DOS 2.x and 3.x.

Versions 5 and 6 (Concurrent DOS XM) could bank switch
Bank switching
Bank switching is a technique to increase the amount of usable memory beyond the amount directly addressable by the processor. It can be used to configure a system differently at different times; for example, a ROM required to start a system from diskette could be switched out when no longer...

 multiple programs using EMS
Expanded memory
In DOS memory management, expanded memory is a system of bank switching introduced April 24, 1985 that provided additional memory to DOS programs beyond the limit of conventional memory. Expanded memory uses parts of the address space normally dedicated to communication with peripherals for program...

.

In 1987 Concurrent DOS was rewritten and renamed Concurrent DOS 386. This ran on machines equipped with the Intel 80386 processor (and later processors), using the 386's hardware
Hardware
Hardware is a general term for equipment such as keys, locks, hinges, latches, handles, wire, chains, plumbing supplies, tools, utensils, cutlery and machine parts. Household hardware is typically sold in hardware stores....

 facilities for virtualizing the hardware, allowing most DOS applications to run unmodified under Concurrent DOS 386, even on terminals. The OS supported concurrent multiuser file access, allowing multiuser applications to run as if they were on individual PCs attached to a network server
Server (computing)
In the context of client-server architecture, a server is a computer program running to serve the requests of other programs, the "clients". Thus, the "server" performs some computational task on behalf of "clients"...

. Concurrent DOS 386 allowed a single server to support a number of users on dumb terminals or inexpensive low-specification PCs running terminal emulation software, without the need for expensive workstations and then-expensive network cards. It was a true multiuser system; several users could use a single database with record locking
Record locking
Record locking is the technique of preventing simultaneous access to data in a database, to prevent inconsistent results.The classic example is demonstrated by two bank clerks attempting to update the same bank account for two different transactions. Clerks 1 and 2 both retrieve the account's...

 to prevent mutual interference.

Multiuser DOS

Later versions of Concurrent DOS incorporated some of the enhanced functionality of DR's later single-user PC DOS clone DR-DOS
DR-DOS
DR-DOS is an MS-DOS-compatible operating system for IBM PC-compatible personal computers, originally developed by Gary Kildall's Digital Research and derived from Concurrent PC DOS 6.0, which was an advanced successor of CP/M-86...

, after which the product was renamed to the more explanatory Multiuser DOS (aka MDOS).

Multiuser DOS suffered from several technical limitations that restricted its ability to compete with LAN
Län
Län and lääni refer to the administrative divisions used in Sweden and previously in Finland. The provinces of Finland were abolished on January 1, 2010....

s based on PC DOS. It required its own special device drivers for much common hardware, as PC DOS drivers were not multiuser or multi-tasking aware. Driver installation was more complex than the simple PC DOS method of copying the files onto the boot disk and modifying CONFIG.SYS appropriately - it was necessary to relink the Multiuser DOS kernel (known as a nucleus) using the SYSGEN command.

Multiuser DOS was also unable to use many common PC 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
Color Graphics Adapter
The Color Graphics Adapter , originally also called the Color/Graphics Adapter or IBM Color/Graphics Monitor Adapter, introduced in 1981, was IBM's first color graphics card, and the first color computer display standard for the IBM PC....

, EGA
Enhanced Graphics Adapter
The Enhanced Graphics Adapter is the IBM PC computer display standard specification which is between CGA and VGA in terms of color and space resolution. Introduced in October 1984 by IBM shortly after its new PC/AT, EGA produces a display of 16 simultaneous colors from a palette of 64 at a...

 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 for single-user but multitasking use. It was priced as a multi-user operating system, of course, and required special device drivers, unlike single-user multitasking DOS additions such as Quarterdeck's DESQview
DESQview
DESQview was a text mode multitasking program developed by Quarterdeck Office Systems which enjoyed modest popularity in the late 1980s and early 1990s...

.

Datapac Multiuser DOS and System Manager

Intelligent Micro Software Multiuser DOS, REAL/32 and REAL/NG

Application 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. It used pre-emptive multitasking, preventing any one badly-written application from delaying other processes by retaining control of the processor.

The API provided support for blocking and non-blocking message queues
Message queue
In computer science, message queues and mailboxes are software-engineering components used for interprocess communication, or for inter-thread communication within the same process. They use a queue for messaging – the passing of control or of content...

, mutual-exclusion queues, the ability to create sub-process threads
Thread (computer science)
In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process...

 which executed independently from the parent, and a method of pausing execution which did not waste processor cycles, unlike idle loops used by single-user operating systems. Applications were started as "attached" to a console
Virtual console
A virtual console – also known as a virtual terminal – is a conceptual combination of the keyboard and display for a computer user interface. It is a feature of some operating systems such as UnixWare, Linux, and BSD, in which the system console of the computer can be used to switch between...

. However, if an application didn't need user interaction it could "detach" from the console and run as a background process, later reattaching to a console if needed.

Another key feature was that the memory management
Memory management
Memory management is the act of managing computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and freeing it for reuse when no longer needed. This is critical to the computer system.Several...

 supported a "shared" memory model
Memory model (computing)
In computing, a memory model describes the interactions of threads through memory and specifies the assumptions the compiler is allowed to make when generating code for segmented memory or paged memory platforms.-History and significance:...

 for processes (in addition to the usual models available to normal DOS programs). In the shared memory model the "code" and "data" sections of a program were isolated from each other. Because the "code" contained no modifiable data, code sections in memory could be shared by several processes running the same program.

Programs written, or adapted, for any multitasking
Computer multitasking
In computing, multitasking is a method where multiple tasks, also known as processes, share common processing resources such as a CPU. In the case of a computer with a single CPU, only one task is said to be running at any point in time, meaning that the CPU is actively executing instructions for...

 platform need to avoid the technique used by single-tasking systems of 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 processes. Instead, Concurrent DOS provided an API call which a process could call to "sleep" for a period of time. Later versions of the Concurrent DOS kernel included Idle Detection, an innovative feature which monitored MS-DOS API
MS-DOS API
The MS-DOS API is an API used originally in MS-DOS/PC-DOS, and later by other DOS systems. Most calls to the DOS API invoke software interrupt 21h . By calling INT 21h with a subfunction number in the AH processor register and other parameters in other registers, one invokes various DOS services...

 calls to determine whether the application was doing useful work or in fact idle, in which case the process was suspended allowing other processes to run. Idle Detection was the catalyst for the patented DR-DOS
DR-DOS
DR-DOS is an MS-DOS-compatible operating system for IBM PC-compatible personal computers, originally developed by Gary Kildall's Digital Research and derived from Concurrent PC DOS 6.0, which was an advanced successor of CP/M-86...

 Dynamic Idle Detection power management feature invented in 1989 by Roger Gross and John Constant and marketed as BatteryMax (US Patent 5,355501)

See also

  • CP/M
    CP/M
    CP/M was a mass-market operating system created for Intel 8080/85 based microcomputers by Gary Kildall of Digital Research, Inc...

  • MP/M
    MP/M
    MP/M was a multi-user version of the CP/M operating system, created by Digital Research developer Tom Rolander in 1979. It allowed multiple users to connect to a single computer, each using a separate terminal....

  • FlexOS
    FlexOS
    FlexOS was a modular real-time multi-user multi-tasking operating system designed for computer-integrated manufacturing, laboratory, retail and financial markets...

  • DR DOS
  • PC DOS - IBM's OEM version of MS-DOS
  • PC-MOS/386
    PC-MOS/386
    PC-MOS/386 was a multi-user, multi-tasking operating system produced by The Software Link, announced at COMDEX in November 1986 for February 1987 release. It will run much MS-DOS software on the host machine or a terminal connected to it...

    - unrelated, but similarly named multitasking DOS clone

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK