CCPM.SYS
| Company type | Operating system |
|---|---|
| Industry | Computer software |
| Predecessor | Concurrent CP/M-86, Concurrent DOS, Concurrent DOS 386 |
| Founded | 1980s |
| Founder | Digital Research |
| Fate | Discontinued by Novell in 1992; development licensed to VARs |
| Successor | Datapac Multiuser DOS/System Manager, CCI Multiuser DOS, IMS Multiuser DOS/REAL/32 |
| Headquarters | United States / United Kingdom (development centers) |
Area served | IBM PC-compatible microcomputers |
| Products | Multiuser DOS operating system and variants |
| Parent | Digital Research, later Novell |
Multiuser DOS is a multi-tasking, multi-user operating system designed for IBM PC-compatible microcomputers, functioning in real-time.
Originating from Concurrent CP/M-86, Concurrent DOS, and Concurrent DOS 386, this OS was initially created by Digital Research before being acquired and further developed by Novell in 1991. Its lineage extends back to Digital Research’s earlier 8-bit operating systems CP/M and MP/M, as well as the 16-bit single-tasking CP/M-86.
Following Novell’s discontinuation of Multiuser DOS in 1992, development responsibilities were licensed to three major value-added resellers (VARs)—DataPac Australasia, Concurrent Controls, and Intelligent Micro Software. These companies independently continued advancing the system, releasing Datapac Multiuser DOS/System Manager, CCI Multiuser DOS, and IMS Multiuser DOS/REAL/32 respectively.
The FlexOS family, which evolved from Concurrent DOS 286 and Concurrent DOS 68K, was sold to Integrated Systems (ISI) in July 1994.
Concurrent CP/M-86
The original CP/M-86 1.0 (BDOS 2.x) was adapted for the IBM PC in 1982 but failed commercially due to competition with IBM’s more affordable PC DOS 1.0. Both operating systems did not fully exploit the capabilities of the 16-bit architecture.
This situation prompted the release of multitasking MP/M-86 2.0 in September 1981, which transformed PCs into multi-user platforms supporting several simultaneous users through serially connected dumb terminals. This approach reduced costs compared to deploying multiple PCs and allowed for shared-data applications such as accounting or inventory management prior to widespread PC networking.
By late 1982, CP/M-86 1.1 (BDOS 2.2) and MP/M-86 2.1 were merged into Concurrent CP/M-86 3.0 (BDOS 3.0). The development team was led by project manager Kathryn Strutynski with designer Francis "Frank" R. Holsworth contributing. Initially designed as a single-user OS with multitasking capabilities for up to four CP/M-86 compatible programs, it also supported multiprocessor setups and introduced "virtual screens" enabling users to switch between interactive applications. Subsequent updates incorporated multiuser functionality accessible via dumb terminals. Concurrent CP/M-86 3.1 (BDOS 3.1) launched on February 21, 1984.
Concurrent CP/M-86 with Windows
In February 1984, Digital Research introduced Concurrent CP/M with Windows for the IBM Personal Computer and Personal Computer XT, a version of Concurrent CP/M-86 enhanced with windowing features.
Concurrent CP/M-86/80
This variant supported computers such as the LSI-M4, LSI Octopus, and CAL PC, which combined both 16-bit and 8-bit processors. It allowed execution of both 8-bit CP/M and 16-bit CP/M-86 software by automatically selecting the appropriate processor based on file extensions (.COM or .CMD). For running 8-bit programs, the system emulated a CP/M environment by translating CP/M system calls into those understood by the CP/M-86 kernel running on the 16-bit processor.
Concurrent DOS
In August 1983, Bruce Skidmore, Raymond D. Pedrizetti, Dave Brown, and Gordon Edmonds developed an optional module named PC-MODE for Concurrent CP/M-86 3.1 (BDOS 3.1) that provided basic compatibility with PC DOS 1.1. This module was showcased at COMDEX in December 1983 and later released to hardware manufacturers in March 1984 under the name Concurrent DOS 3.1 (CDOS). Simple DOS programs that avoided direct hardware interaction ran effectively; for instance, PKZIP operated smoothly offering more features than its native ARC counterpart. However, applications requiring direct screen manipulation like WordStar needed native Concurrent CP/M versions.
While early releases of Concurrent DOS (versions 3.1 through 4.1) were developed within the United States, OEM customizations and localizations were managed by Digital Research Europe’s OEM Support Group based in Newbury, UK starting from 1983.
Digital Research positioned Concurrent DOS 4.1 combined with Graphics Environment Manager (GEM) as a competitor to IBM’s TopView in 1985. Compatible with PC DOS version 2.x, Concurrent DOS 4.1 (BDOS 4.1) was available on various hardware platforms; its IBM PC compatible edition was branded Concurrent PC DOS 4.1.
Concurrent PC DOS
Released in 1984, Concurrent DOS 3.2 (incorporating BDOS 3.2) offered compatibility with applications designed for CP/M-86 1.x, Concurrent CP/M-86 3.x, and PC DOS 2.0. This operating system was distributed across various hardware platforms, with the IBM–PC-compatible BIOS/XIOS variant marketed as Concurrent PC DOS 3.2. The product management was led by Kathryn Strutynski.
Concurrent DOS 68K and FlexOS 68K
Between 1984 and early 1985, Digital Research collaborated with Motorola to create Concurrent DOS 68K in Austin, Texas, as the successor to CP/M-68K. Written in C, this system was primarily architected by Francis "Frank" R. Holsworth. Motorola invested several million dollars to fund the project, targeting their 68000 and 68010 processor lines. Initially deployed on Motorola VME/10 development machines, the OS was subsequently adapted for Compupro hardware.
The releases of Concurrent DOS 68K included:
- Version 1.0 (1985)
- Version 1.1
- Version 1.20 (April 1986)
- Version 1.21 (1986)
By late 1986, this product line transitioned into what became known as FlexOS 68K.
Concurrent DOS 286 and FlexOS 286
Simultaneously, in January 1985, Digital Research introduced Concurrent DOS 286 in partnership with Intel. Drawing upon earlier technologies from MP/M-286 and Concurrent CP/M-286 dating back to 1982, this operating system was completely rewritten in C. Unlike previous versions relying on fixed BIOS/XIOS modules, it featured dynamically loadable device drivers. Francis R. Holsworth also contributed significantly to its development.
Concurrent DOS 286 was designed to operate in the native protected mode of the Intel 80286, supporting multi-user multitasking alongside an emulation mode for the 8086 processor. Early prototypes ran on initial chip revisions; however, production releases were postponed due to Intel addressing emulation shortcomings and hardware errata through successive chip steppings (from B-1 to E-2), which enhanced performance via microcode improvements such as the 286 LOADALL instruction.
These hardware limitations similarly influenced FlexOS 286, a reengineered derivative developed from 1986 by Digital Research’s Flexible Automation Business Unit located in Monterey, California.
Subsequent iterations improved compatibility with PC DOS versions 2.x and 3.x.
Notable versions include:
- Concurrent DOS 286 1.0 (1985)
- Concurrent DOS 286 1.1 (January 1986)
- Concurrent DOS 286 1.2 (1986)
- FlexOS 286 1.3 (November 1986)
- FlexOS 286 1.31 (May 1987)
Concurrent DOS XM and Concurrent DOS 386
In 1986, Digital Research transferred its OEM Support Group to the European Development Centre (EDC) based in Hungerford, UK, which assumed responsibility for advancing the Concurrent DOS series from version 4.11 onward, including products such as DOS Plus.
Developed at Hungerford, versions labeled as Concurrent DOS XM (with "XM" denoting support for Expanded Memory)—specifically versions five and six—offered bank switching capabilities up to eight megabytes of EEMS. This allowed a real-mode environment capable of concurrently running multiple CP/M-86 and DOS applications for up to three users simultaneously: one local user and two connected via serial terminals.
In 1987, the OS underwent a significant rewrite as Concurrent DOS 386,[1] while preserving the traditional XIOS & BDOS architecture. Tailored for Intel's 80386 and subsequent processors, it utilized hardware virtualization techniques to execute most DOS software without modification—even across terminal connections. The system supported concurrent multiuser file access, enabling applications designed for multiple users to function as if each user operated a separate PC connected through a network server. This configuration allowed a single server machine to accommodate multiple users working on dumb terminals or low-end PCs running terminal emulation software, thereby minimizing reliance on expensive workstations and network interface cards. It was a genuine multiuser platform featuring record locking mechanisms suitable for simultaneous database operations.
Concurrent DOS 386 required approximately 200K of conventional memory, which was substantially higher than MS-DOS demands. According to BYTE, with a minimum of 512K RAM installed, only the system prompt could be accessed; running major applications such as Microsoft Word or Multiplan necessitated an additional megabyte beyond the standard base memory of 640K.[2]
Furthermore, Concurrent DOS version 6.0 became the foundation for the DR DOS family that followed.
Documented releases include:
- DR Concurrent PC DOS XM 5.0 (BDOS version 5.0)
- DR Concurrent DOS XM 5.0 (BDOS version 5.0, October 1986)
- DR Concurrent DOS XM 5.1 (BDOS approximately version 5.1?, January 1987)
- DR Concurrent DOS XM 5.2 (BDOS approximately version 5.2?, September 1987)[3][4][5]
- DR Concurrent DOS XM 6.0 (BDOS version 6.0, November 1987),[6][7] including update version 6.01 (1987)
- DR Concurrent DOS XM 6.2 (BDOS version 6.2),[8] with further updates like version 6.21
- DR Concurrent DOS 386 editions starting at version 1.0 (BDOS ~5.0, released in 1987) progressing through key updates:
Concurrent PC DOS XM version 5.0 emulated IBM PC DOS 2.10,[9] whereas both Concurrent DOS XM 6.0 and Concurrent DOS 386 version 2.0 were compatible with IBM PC DOS 3.30.[10]
Reception
In 1988, BYTE magazine characterized Concurrent DOS 386 as largely compatible with MS-DOS; for instance, Microsoft Word version 3.1 operated successfully, whereas version 4.0 failed due to reliance on undocumented DOS features. The system's performance declined in direct relation to the number of concurrently running applications. Although it demanded more RAM, video input/output throughput was approximately double that of standard DOS. The publication concluded that while more sophisticated 386-based operating systems were anticipated, Concurrent DOS 386 was immediately available and fully operational.
Adaptations
Concurrent Controls, Inc. produced several variants of Concurrent DOS, including:
- CCI Concurrent DOS 386 1.12 (October 1987)
- CCI Concurrent DOS 386 2.01 (May 1988)
- CCI Concurrent DOS 386 3.01 (March 1989)
- CCI Concurrent DOS 386 3.02 (April 1990)
- CCI Concurrent DOS 386 3.03 (March 1991)
- CCI Concurrent DOS 386 3.04 (July 1991), also marketed as "CCI Concurrent DOS 4.0"
- CCI Concurrent DOS versions 3.05 R1 through R11 (1992–August 1993)
- CCI Concurrent DOS versions 3.06 R1 through R7 (December 1993–July 1994)
- CCI Concurrent DOS versions 3.07 R1 through R7 (March 1995–June 1998)
- CCI Concurrent DOS 3.08
- CCI Concurrent DOS 3.10 R1 (October 2003)
Additionally, Apricot Concurrent DOS 386 version 2.01 (1987) was developed specifically for the Apricot Quad Version Level 4.3 platform.
Multiuser DOS
Subsequent editions of Concurrent DOS 386 incorporated elements from Digital Research's DR DOS 5.0—a single-user PC DOS alternative—and were rebranded as "Multiuser DOS" (MDOS) beginning with release version 5.0 (BDOS 6.5) in 1991.
Multiuser DOS encountered technical obstacles that hindered its ability to compete effectively with PC DOS-based local area networks (LANs). It necessitated custom device drivers because standard PC DOS drivers lacked multiuser and multitasking capabilities, complicating driver installation and requiring kernel recompilation via the SYSGEN utility.
Moreover, Multiuser DOS did not support numerous PC DOS extensions such as network protocol stacks and had restricted compatibility with emerging hardware peripherals including graphics cards, audio devices, CD-ROM drives, and pointing devices like mice. Some improvements addressed these constraints—for example, graphical terminal support for CGA, EGA, and VGA software—but overall flexibility remained inferior compared to networks of independent personal computers. As the cost of PCs decreased, the management benefits and total cost of ownership advantages offered by Multiuser DOS diminished correspondingly. Its higher price point relative to single-user systems and dependency on specialized drivers contrasted unfavorably with simpler multitasking solutions for single users, such as Quarterdeck's DESQview. Unlike MP/M, Multiuser DOS did not achieve widespread adoption for single-user multitasking scenarios.
Following Novell's acquisition of Digital Research in 1991 and the subsequent discontinuation of Multiuser DOS in 1992, three primary Master VARs—DataPac Australasia, Concurrent Controls, and Intelligent Micro Software—secured source code licenses to continue independent development from 1994 onward.
Significant releases include:
- DR Multiuser DOS versions 5.00 (1991) and 5.01
- Novell DR Multiuser DOS versions 5.10 (April 1992) and 5.11
- Novell DR Multiuser DOS version 5.13 (BDOS 6.6, released in 1992)
All iterations of Digital Research and Novell DR Multiuser DOS identified themselves as "IBM PC DOS" version 3.31 in system information displays.
DataPac Australasia
DataPac Australasia Pty Limited released several known iterations, including:
- Datapac Multiuser DOS 5.0
- Datapac Multiuser DOS 5.1 (BDOS 6.6)
- Datapac System Manager 7.0 (August 22, 1996)
Following its acquisition by Citrix Systems, Inc. in 1997, the System Manager product line was soon discontinued. In 2002, the Sydney branch was spun off into Citrix’s Advanced Products Group.
Concurrent Controls
Concurrent Controls, Inc. (CCI) developed multiple versions of their Multiuser DOS system, including:
- CCI Multiuser DOS releases from 7.00 through 7.22, spanning from R1 in September 1996 to R18 GOLD in 2005; each version identifies itself as "IBM PC DOS" version 3.31.
Users can alter the reported DOS version via the Multiuser DOS utility.
In 1999, Concurrent Controls rebranded as Applica, Inc., later becoming Aplycon Technologies, Inc. in 2002.
IMS Multiuser DOS
Known IMS adaptations of Multiuser DOS include:
- IMS Multiuser DOS Enhanced Release 5.1 (1992)
- IMS Multiuser DOS versions 5.11 and 5.14
- IMS Multiuser DOS versions 7.0 and 7.1 (BDOS 6.7, released in 1994)
All these versions identify themselves as "IBM PC DOS" version 3.31.
REAL/32
Intelligent Micro Software Ltd., based in Thatcham, UK, licensed Multiuser DOS from Novell in 1994 and rebranded it as REAL/32 in 1995.
IBM licensed version 7.50 of REAL/32 that same year for use with its 4695 point-of-sale terminals.
The REAL/32 release history includes:
- Versions 7.50 to 7.54 (1995–1996)
- Versions 7.60 to 7.63 (1997)
- Versions 7.70 to 7.74 (1998)
- Versions 7.80 to 7.83 (1999)
- Versions 7.90 to 7.92 (1999)
- ITERA IMS REAL/32 releases: 7.93 (2002) and 7.94 (2003)
- Integrated Solutions IMS REAL/32 version 7.95 (circa 2010)
Versions prior to and including 7.74 report as "IBM PC DOS" version 3.31; subsequent releases identify as version 6.20.
Support for Logical Block Addressing (LBA) and FAT32 was introduced starting with REAL/32 version 7.90 in 1999.
Following IMS’s insolvency filing in April 2002, Itera Ltd., a principal customer led by Barry Quittenton, assumed operational control until it ceased activities in March 2006.
By around 2010, REAL/32 distribution was managed by Integrated Solutions of Thatcham, UK, although the company eventually shifted away from software development.
REAL/NG
REAL/NG represented IMS's effort to create a "Next Generation" version of REAL/32, marketed as "REAL/32 for the internet age." This platform was designed to support a wide range of hardware from personal computers up to x86 multiprocessor servers.
Highlighted features announced in 2003 included:
- Compatibility with Red Hat Linux version 7.3 or newer
- Backward compatibility with both DOS and REAL/32 applications
- Capacity for up to 65,535 virtual consoles, each corresponding to an individual user session
- Administration and configuration accessible via web browser interfaces locally or remotely
- Included TCP/IP terminal emulator for Linux and Windows clients
- Integrated printing and file-sharing capabilities with drive mapping between Linux and REAL/NG servers
- Enhanced support for hardware and multiprocessor environments
- Built-in firewall functionality
- Cost-effective per-user pricing with reduced total cost of ownership
- Distributed on CD alongside Red Hat installation media
The most recent known version was release 1.60 from December 2003; by 2005, promotion of REAL/NG had ceased on IMS’s website which focused exclusively on REAL/32 thereafter.
Application software
REAL/32 enhanced its ability to execute DOS applications by integrating APIs tailored for multiuser settings. Utilizing pre-emptive multitasking, it ensured that poorly optimized programs could not dominate CPU time. Multiuser DOS maintains compatibility with SSL/TLS libraries such as wolfSSL.
The API offered support for both blocking and non-blocking message queues, mutual-exclusion queues, and subprocess threads that operated independently from their parent processes. It also provided efficient mechanisms to pause execution, thereby conserving CPU resources. Programs had the option to connect to virtual consoles or operate as background tasks without user interaction.
A distinctive characteristic was its shared memory architecture, which separated code from data segments. This design enabled multiple instances of the same application to share code in memory, significantly decreasing overall memory consumption.
To enhance multitasking efficiency, processes avoided wasting CPU cycles on idle loops by invoking API functions to enter sleep states when inactive. Subsequent kernel updates introduced Idle Detection, which tracked DOS API usage to suspend inactive processes and release system resources. This advancement culminated in the patented Dynamic Idle Detection power management system, commercially known as BatteryMAX.
See also
- CP/M
- MP/M
- Concurrent DOS V60
- FlexOS
- DR DOS
- PC DOS – IBM's OEM variant of MS-DOS
- MS-DOS 4.0 (multitasking)
- PC-MOS/386 – multitasking DOS clone
- VM/386 – multitasking DOS platform
- Virtual DOS machine
- Multiuser DOS Federation
- Timeline of operating systems
- List of mergers and acquisitions by Citrix
Further reading
- DRTIPS.ZIP (1992) by Novell Desktop Systems Group, Digital Research/Novell
External links
- Archived Intelligent Micro Software (IMS) website—distributors of IMS Multiuser DOS, IMS REAL/32, and REAL/NG
- Archived Logan Industries (LLI) website—IMS REAL/32 US distributor until May 2002
- Archived Concurrent Controls site—CCI Multiuser DOS
- Archive of Applica, Inc. website
- Archived Aplycon Technologies, Inc. website
- ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedIW_1987_MDOS386 - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedlane198807 - ↑ 3.0 3.1 Cite error: Invalid
<ref>tag; no text was provided for refs namedAngus_1987_52-11 - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedCDOSXM52_2001 - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedFisher_1987_CompuPro - ↑ 6.0 6.1 Cite error: Invalid
<ref>tag; no text was provided for refs namedRyan_1987 - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedCDOS60 - ↑ 8.0 8.1 Cite error: Invalid
<ref>tag; no text was provided for refs namedCDOS386_COMDEX - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs named1986_CDOSXM - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedDRI_1988_CDOS