Concurrent CP/M 8-16
| Industry | Software |
|---|---|
| Founded | 1974 |
| Founder | Gary Kildall |
| Fate | Acquired by Novell in 1991 |
| Successor | Novell |
| Headquarters | Pacific Grove, California , United States |
| Products | Multiuser DOS, Concurrent CP/M-86, Concurrent DOS, FlexOS |
Multiuser DOS is a real-time, multi-user, multitasking operating system designed for microcomputers compatible with the IBM PC. It originated from earlier systems such as Concurrent CP/M-86, Concurrent DOS, and Concurrent DOS 386, initially created by Digital Research before being acquired by Novell in 1991. Its lineage can be traced back to Digital Research's foundational 8-bit operating systems CP/M and MP/M, along with the 16-bit single-tasking CP/M-86.
Following Novell's discontinuation of Multiuser DOS in 1992, three primary value-added reseller (VAR) partners—DataPac Australasia, Concurrent Controls, and Intelligent Micro Software—continued independent development under new names: Datapac Multiuser DOS and System Manager, CCI Multiuser DOS, and IMS Multiuser DOS and REAL/32, respectively.
The FlexOS family, which evolved from Concurrent DOS 286 and Concurrent DOS 68K, was sold to Integrated Systems, Inc. (ISI) in July 1994.
Concurrent CP/M-86
The first release of CP/M-86 1.0 (incorporating BDOS 2.x) was adapted for the IBM PC in 1982 but failed commercially against IBM’s more affordable PC DOS 1.0. Both struggled to exploit the full capabilities of the new 16-bit hardware.
In September 1981, the multitasking counterpart to CP/M, MP/M-86 2.0, enabled PCs to support multiple simultaneous users through dumb terminals connected via serial ports. This innovation facilitated cost-effective multi-user setups for applications such as accounting and 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 integrated into Concurrent CP/M-86 version 3.0 (also known as CCP/M-86) featuring BDOS 3.0. Under project leader Kathryn Strutynski and designer Francis "Frank" R. Holsworth, this version initially offered single-user multitasking for up to four CP/M-86 programs and included configurations for multi-processor support. It introduced "virtual screens" allowing users to switch between running programs. Subsequent releases enabled true multi-user operation through support for dumb terminals. Concurrent CP/M-86 3.1 (BDOS 3.1) was launched on February 21, 1984.
Concurrent CP/M-86 with Windows
In February 1984, Digital Research unveiled Concurrent CP/M with Windows for the IBM Personal Computer and Personal Computer XT, a variant of Concurrent CP/M-86 that incorporated windowing features.
Concurrent CP/M-86/80
This version of Concurrent CP/M-86 was developed for LSI-M4, LSI Octopus, and CAL PC machines equipped with both 16-bit and 8-bit processors. It allowed execution of both CP/M (8-bit) and CP/M-86 (16-bit) software by running programs on the appropriate processor determined by file extensions (.COM for 8-bit applications and .CMD for 16-bit). The system simulated an 8-bit CP/M environment by converting CP/M system calls into CP/M-86 calls processed on the 16-bit CPU.
Concurrent DOS
In August 1983, Bruce Skidmore, Raymond D. Pedrizetti, Dave Brown, and Gordon Edmonds developed PC-MODE, an optional add-on module for Concurrent CP/M-86 3.1 (BDOS 3.1), which provided basic compatibility with PC DOS version 1.1. Demonstrated at COMDEX in December of that year, it was commercially released in March 1984 as Concurrent DOS 3.1 (CDOS with BDOS 3.1) targeted at hardware manufacturers. This enabled simple DOS applications that did not access hardware directly to run successfully—for instance, console-based programs like PKZIP performed well and offered more functionality than the native ARC archiver. However, software requiring direct screen manipulation such as the DOS edition of WordStar needed native Concurrent CP/M or CP/M-86 versions.
While initial development of Concurrent DOS versions from 3.1 through 4.1 took place in the United States, OEM customizations and localizations were managed by Digital Research Europe’s OEM Support Group located in Newbury, UK starting in 1983.
Digital Research positioned Concurrent DOS version 4.1 alongside the Graphics Environment Manager (GEM) in 1985 as a competitor to IBM’s TopView environment. Concurrent DOS 4.1 (BDOS 4.1) supported compatibility with PC DOS version 2.x across multiple hardware platforms; its IBM PC compatible edition was marketed under the name Concurrent PC DOS 4.1.
Concurrent PC DOS
In 1984, Concurrent DOS 3.2 (incorporating BDOS 3.2) provided support for applications originally designed for CP/M-86 1.x, Concurrent CP/M-86 3.x, and PC DOS 2.0. This system was deployed across multiple hardware platforms, with the IBM–PC-compatible BIOS/XIOS variant identified as Concurrent PC DOS 3.2. Kathryn Strutynski held the position of product manager during this period.
Concurrent DOS 68K and FlexOS 68K
Beginning in 1984, a partnership with Motorola resulted in the creation of Concurrent DOS 68K in Austin, Texas, as a successor to CP/M-68K. The operating system was developed in C, with Francis "Frank" R. Holsworth serving as a principal designer. By early 1985, Concurrent DOS 68K version 1.0 was available for OEM evaluation, funded by Motorola with a multi-million dollar investment and aimed at their 68000/68010 CPU families. Initially running on Motorola VME/10 development systems, it was subsequently adapted for Compupro hardware platforms. Versions 1.20 and 1.21 were released in April 1986 at an approximate price point for OEM customers. This line later evolved into FlexOS 68K by the end of 1986.
Documented releases include:
- Concurrent DOS 68K 1.0 (1985)
- Concurrent DOS 68K 1.1
- Concurrent DOS 68K 1.20 (April 1986)
- Concurrent DOS 68K 1.21 (1986)
Concurrent DOS 286 and FlexOS 286
Alongside the development of Concurrent DOS 68K,[1] Digital Research introduced Concurrent DOS 286 in January 1985 in collaboration with Intel. This operating system built upon earlier efforts with MP/M-286 and Concurrent CP/M-286 dating back to 1982.[2][3]
Rewritten using C language and featuring a novel architecture supporting dynamically loadable device drivers, Concurrent DOS 286 operated exclusively in native 80286 mode. It enabled protected-mode multitasking with multi-user capabilities alongside an 8086 emulation mode. Francis "Frank" R. Holsworth was instrumental as a lead architect.[4][5] Although initial B-1 stepping processors supported these features, the production C-1 stepping chips exhibited emulation problems that postponed the release from May until Intel addressed these issues with E-1 and later E-2 stepping updates, which enhanced performance through microcode improvements such as LOADALL.[6][7][8]
These hardware constraints also affected FlexOS 286, a reengineered variant developed by Digital Research’s Flexible Automation Business Unit based in Monterey starting in 1986.[9][10] Subsequent versions incorporated compatibility with PC DOS releases 2.x and 3.x.
Known editions:
- 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) located in Hungerford, UK, which then assumed responsibility for developing the Concurrent DOS series starting from version 4.11, including related products such as DOS Plus.
Developed at this UK facility, versions five and six—known as Concurrent DOS XM (where XM denotes Expanded Memory)—offered bank switching capabilities supporting up to 8 MB of EEMS. This enabled a real-mode environment capable of running multiple CP/M-86 and DOS applications simultaneously for up to three users: one local and two connected via serial terminals.
By 1987, Concurrent DOS was rewritten as Concurrent DOS 386,[11] retaining the traditional XIOS & BDOS framework. Designed for Intel’s 80386 and subsequent processors, it utilized hardware-assisted virtualization to run most DOS programs without modification—even on terminal devices. The operating system provided concurrent multiuser file access with record locking mechanisms, allowing multiple users to interact with databases as if each had their own dedicated PC connected to a server. This approach facilitated cost-effective multiuser setups using simple terminals or low-end PCs running terminal emulation software, eliminating the need for expensive workstations or network interface cards.
Concurrent DOS 386 demanded approximately 200K of conventional memory—substantially exceeding MS-DOS requirements.BYTE observed that while minimal functionality could be achieved with only the base minimum of 512K RAM, adding an extra megabyte allowed simultaneous operation of major applications such as Microsoft Word or Multiplan.[12]
The release of Concurrent DOS version 6.0 also marked the beginning of the DR DOS line, which originated from this codebase.
Significant versions included:
- 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)
- DR Concurrent DOS XM 6.0 (BDOS version 6.0, November 1987), including revision version 6.01
- DR Concurrent DOS XM 6.2 (BDOS version 6.2), including revision version 6.21
- DR Concurrent DOS 386 releases ranging from version 1.0 (1987) through 3.02 (1989), evolving BDOS from roughly version 5.0 up to 6.2
Concurrent PC DOS XM 5.0 emulated IBM PC DOS 2.10,[13] whereas both Concurrent DOS XM 6.0 and Concurrent DOS 386 2.0 provided compatibility with IBM PC DOS 3.30.[14]
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 its reliance on undocumented DOS routines. System performance decreased in proportion to the number of concurrently running applications, yet video input/output was twice as efficient as on DOS despite increased memory demands. The publication concluded that although more sophisticated 386-based operating systems were anticipated, Concurrent DOS 386 was "available now and ready for deployment."
Variants
Concurrent Controls, Inc. developed several iterations 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), alternatively referred to as "CCI Concurrent DOS 4.0"
- Versions ranging from 3.05 to 3.07 released between 1992 and 1998 with multiple updates
- CCI Concurrent DOS 3.10 R1 (October 2003)
Additional versions include Apricot Concurrent DOS 386 2.01 (1987), designed for the Apricot Quad Version Level 4.3 platform.
Multiuser DOS
Subsequent releases of Concurrent DOS 386 incorporated elements from Digital Research’s single-user PC DOS alternative DR DOS 5.0, leading to a rebranding as "Multiuser DOS" (MDOS) beginning with version 5.0 (BDOS 6.5) in 1991.
Multiuser DOS encountered technical constraints that limited its ability to compete with PC DOS-based local area networks (LANs). The system required custom device drivers because standard PC DOS drivers did not support multitasking or multiuser environments, complicating installation by demanding kernel relinking through SYSGEN. Furthermore, it lacked compatibility with numerous PC DOS extensions such as network protocol stacks and offered restricted support for newer hardware devices like graphics cards, audio hardware, CD-ROM drives, and pointing devices.
While some improvements were made—such as enabling graphical terminals compatible with CGA, EGA, and VGA software—Multiuser DOS remained less adaptable than networks composed of individual PCs, which became increasingly cost-effective. Despite its higher cost compared to single-user systems and the necessity for specialized drivers, Multiuser DOS provided management benefits and reduced total ownership expenses but failed to gain traction as a single-user multitasking solution when compared to competitors like Quarterdeck’s DESQview.
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 in 1994 to continue independent development.
Notable 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 these editions identified themselves as "IBM PC DOS" version 3.31 to maintain compatibility.
DataPac Australasia
DataPac Australasia Pty Limited produced several known editions:
- Datapac Multiuser DOS version 5.0
- Datapac Multiuser DOS version 5.1 (BDOS 6.6)
- Datapac System Manager version 7.0 (released August 22, 1996)
After Citrix Systems, Inc. acquired DataPac in 1997, the System Manager product line was discontinued shortly thereafter. In 2002, the Sydney-based division was spun off into Citrix’s Advanced Products Group.
Concurrent Controls
The known iterations of CCI Multiuser DOS encompass:
- Versions 7.00 through 7.22, spanning releases from R1 (September 1996) to R18 GOLD (2005), all built upon BDOS 6.6.
Each CCI Multiuser DOS release identifies itself as "IBM PC DOS" version 3.31; this designation can be altered using the DOSVER utility.
In 1999, Concurrent Controls underwent a corporate rebranding to Applica, Inc., and subsequently adopted the name Aplycon Technologies, Inc. in 2002.
IMS Multiuser DOS
The IMS Multiuser DOS variants include:
- Enhanced Release 5.1 (1992), along with versions 5.11, 5.14, and the 7.x series up to 7.1 (based on BDOS 6.7, 1994).
All these versions report their identity as "IBM PC DOS" version 3.31.
REAL/32
Intelligent Micro Software Ltd., located in Thatcham, UK, acquired Multiuser DOS development rights from Novell in 1994 and rebranded the product as REAL/32 in 1995.
In that same year, IBM licensed REAL/32 version 7.50 for deployment on its 4695 POS terminals.
The REAL/32 release history includes:
- Versions 7.50 through 7.54 (BDOS versions 6.8–6.9, between 1995 and 1996)
- Versions 7.60 through 7.63 (1997)
- Versions 7.70 through 7.74 (1997–1998)
- Versions 7.80 through 7.83 (BDOS 6.10, up to February 1999)
- Versions 7.90 through 7.92 (1999)
- ITERA IMS REAL/32 editions: 7.93 (2002) and 7.94 (BDOS 6.13, early 2003)
- Integrated Solutions IMS REAL/32 release: version 7.95 (circa 2010)
Versions released up to 7.74 identify as "IBM PC DOS" version 3.31; from version 7.80 onward, they report as version 6.20.
REAL/32 introduced support for Logical Block Addressing (LBA) and FAT32 starting with version 7.90 in 1999.
On April 19, 2002, IMS declared insolvency and was acquired by Itera Ltd., a principal customer group led by Barry Quittenton; Itera ceased operations in March 2006.
By the year 2010, REAL/32 was distributed by Integrated Solutions Ltd., based in Thatcham, UK; this company later transitioned its business focus away from software development toward construction services.
REAL/NG
REAL/NG represented IMS's initiative to create the "Next Generation" of REAL/32, marketed as "REAL/32 for the internet age." It was designed to support a wide array of hardware platforms ranging from standard PCs to x86 multiprocessor servers.
Highlighted features promoted 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
- Administration and configuration accessible via web browser interfaces locally or remotely
- An integrated TCP/IP terminal emulator provided with purchased user licenses
- Built-in functionalities for printing and file sharing alongside drive mapping between Linux and REAL/NG servers
- Enhanced hardware compatibility coupled with multiprocessor support
- Embedded firewall capabilities and improved performance through increased TPA allocation
- Economical per-seat pricing resulting in reduced total cost of ownership
- Distributed on CD alongside Red Hat Linux installation media
By December of 2003, IMS released "REALNG V1.60-V1.19-V1.12," which appears to be the final iteration of this product line; by 2005, the realng.com domain redirected to IMS’s main website with no further mention of REAL/NG, only referencing REAL/32 instead.
Application software
The operating system facilitated the execution of DOS applications while allowing programs to utilize its multiuser capabilities through designated function calls. It implemented pre-emptive multitasking to ensure that poorly written software could not dominate the CPU. Multiuser DOS continues to support SSL/TLS libraries such as wolfSSL.
Its application programming interface provided features like both blocking and non-blocking message queues, mutual-exclusion queues, subprocess threads that operate independently from their parent processes, and optimized sleep routines designed to avoid unnecessary CPU usage typically seen in single-user environments. Software could either connect to virtual consoles or operate independently as background tasks.
The memory management system incorporated a shared memory architecture where executable code segments were separated from writable data areas. This allowed multiple instances of the same program running concurrently to share code in memory, thereby lowering overall memory consumption.
Programs designed for multitasking environments avoided indefinite loops by invoking API functions to enter sleep states during inactivity. Subsequent Concurrent DOS versions introduced an Idle Detection mechanism that tracked usage of DOS APIs to suspend processes when idle, improving resource distribution. This concept was the foundation for the patented DR-DOS Dynamic Idle Detection technology, marketed under the name BatteryMAX for power management.
See also
- CP/M
- MP/M
- Concurrent DOS V60
- FlexOS
- DR DOS
- PC DOS – IBM’s OEM variant of (single-user) MS-DOS
- MS-DOS 4.0 (multitasking)
- PC-MOS/386 – unrelated multitasking DOS clone
- VM/386 – unrelated 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
- Archive of Intelligent Micro Software (IMS) website – suppliers of IMS Multiuser DOS, IMS REAL/32, and REAL/NG
- Archived Logan Industries (LLI) site – US distributor of IMS REAL/32 until 2002
- Former Concurrent Controls website – CCI Multiuser DOS
- Archive of Applica, Inc. website
- Former Aplycon Technologies, Inc. website
- ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedKnox_1986_CDOS68K - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedSwaine_1982_MPM286 - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedBidmead_1985_CCPM286 - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedWein_2002 - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedHolsworth_2006 - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedInfoworld_1985_Super - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedInfoworld_1985_80286 - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedDRI_1986_CDOS68K-2 - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedDRI_1986_FlexOS286 - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedCBR_1987_FlexOS-286 - ↑ 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 - ↑ 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