Jump to content

Concurrent CP/M with Windows

From Alfawiki
Adapted from the English Wikipedia article Concurrent CP/M with Windows, available under CC BY-SA 4.0Updated 9 August 20251 source
Multiuser DOS
Company typeOperating system
IndustryComputer software
PredecessorConcurrent CP/M-86, Concurrent DOS, Concurrent DOS 386
Founded1980s
FounderDigital Research
FateDiscontinued by Novell in 1992; development continued by value-added resellers
SuccessorDatapac Multiuser DOS and System Manager, CCI Multiuser DOS, IMS Multiuser DOS, REAL/32
Headquarters
United States
Area served
IBM PC-compatible microcomputers
ProductsMultiuser DOS operating system
ParentDigital Research (later acquired by Novell)

Multiuser DOS is a real-time, multitasking operating system designed to support multiple users simultaneously on IBM PC-compatible microcomputers.

Its development lineage originates from Concurrent CP/M-86, Concurrent DOS, and Concurrent DOS 386. Initially created by Digital Research, the product was later acquired by Novell in 1991. The system's foundation can be traced back to Digital Research's earlier 8-bit operating systems such as 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 prominent value-added resellers (VARs)—DataPac Australasia, Concurrent Controls, and Intelligent Micro Software—were granted rights to independently continue its development. This led to the emergence of Datapac Multiuser DOS and System Manager, CCI Multiuser DOS, and IMS Multiuser DOS along with REAL/32.

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 (utilizing BDOS 2.x) was adapted for the IBM PC in 1982 but did not achieve commercial success, largely due to IBM's PC DOS 1.0 offering comparable features at a lower cost. Neither system fully exploited the advantages of the new 16-bit architecture.

This was followed by CP/M’s multitasking variant, MP/M-86 2.0, launched in September 1981. It converted PCs into multiuser platforms capable of supporting several simultaneous users through dumb terminals connected via serial ports. This approach significantly reduced expenses compared to deploying multiple individual PCs and facilitated shared data applications such as accounting or inventory management before networked PCs became common.

The combination of CP/M-86 1.1 (BDOS 2.2) and MP/M-86 2.1 resulted in Concurrent CP/M-86 3.0 (also known as CCP/M-86) featuring BDOS 3.0, released in late 1982. Project leadership was provided by Kathryn Strutynski, who oversaw both CP/M-86 and Concurrent CP/M-86 developments, with major design contributions from Francis "Frank" R. Holsworth. Initially intended as a single-user operating system capable of true multitasking for up to four CP/M-86-compatible applications, it also supported multi-processor setups and introduced "virtual screens" allowing users to switch between running programs seamlessly. Subsequent versions incorporated support for dumb terminals to enable multiuser functionality. 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 introduced Concurrent CP/M with Windows for the IBM Personal Computer and Personal Computer XT, a variant of Concurrent CP/M-86 enhanced with windowing features.

Concurrent CP/M-86/80

This version of Concurrent CP/M-86 was designed for systems like the LSI-M4, LSI Octopus, and CAL PC, which integrated both 16-bit and 8-bit processors. Since early 16-bit PCs often ran 8-bit software more efficiently due to its broader availability, Concurrent CP/M-86/80 allowed simultaneous operation of both CP/M (8-bit) and CP/M-86 (16-bit) applications by executing programs on the appropriate processor determined by file extensions (.COM for 8-bit programs and .CMD for 16-bit). It simulated the CP/M environment by converting system calls from the 8-bit applications into functions compatible with the 16-bit processor.

Concurrent DOS

In August 1983, Bruce Skidmore, Raymond D. Pedrizetti, Dave Brown, and Gordon Edmonds created PC-MODE, an optional add-on for Concurrent CP/M-86 3.1 (BDOS 3.1) designed to offer fundamental compatibility with PC DOS 1.1 (and MS-DOS 1.1). This was showcased at COMDEX in December 1983 and released to hardware manufacturers in March 1984 under the name Concurrent DOS 3.1 (CDOS with BDOS 3.1). It enabled basic DOS programs that did not rely on direct hardware manipulation to run—for instance, PKZIP functioned completely and provided more capabilities than the original CP/M ARC archiver. Nonetheless, applications that required screen control such as WordStar for DOS were incompatible unless native Concurrent CP/M versions existed.

While development of Concurrent DOS up to version 4.1 occurred in the United States, adaptations and localizations for OEM customers were managed by Digital Research Europe’s OEM Support Group located in Newbury, UK starting from 1983.

In 1985, Digital Research promoted Concurrent DOS 4.1 combined with the Graphics Environment Manager (GEM) as a competitor to IBM’s TopView. Concurrent DOS 4.1 (BDOS 4.1) supported PC DOS 2.x compatibility and multiple hardware platforms; the IBM PC-compatible BIOS/XIOS variant was branded Concurrent PC DOS 4.1.

Concurrent PC DOS

Released in 1984, Concurrent DOS 3.2 (BDOS 3.2) supported applications designed for CP/M-86 1.x, Concurrent CP/M-86 3.x, and PC DOS 2.0 environments. It was distributed across various hardware systems, with the IBM–PC-compatible BIOS/XIOS edition known as Concurrent PC DOS 3.2. Kathryn Strutynski held the role of product manager during this period.

Concurrent DOS 68K and FlexOS 68K

Starting in 1984, a partnership with Motorola initiated development of Concurrent DOS 68K in Austin, Texas as a successor to CP/M-68K, implemented in C. Francis "Frank" R. Holsworth served as a lead architect on the project. The first release, Concurrent DOS 68K 1.0, was made available for OEM evaluation in early 1985 with substantial financial backing from Motorola, targeting their 68000/68010 processor families. Initially deployed on Motorola's VME/10 systems, it was subsequently ported to additional platforms.

OEM offerings for Concurrent DOS 68K included:

  • Concurrent DOS 68K 1.0 (1985)
  • Concurrent DOS 68K 1.1
  • Concurrent DOS 68K 1.20 (April 1986)
  • Concurrent DOS 68K 1.21 (1986)

By late 1986, this line transitioned into FlexOS 68K.

Concurrent DOS 286 and FlexOS 286

Alongside the development of Concurrent DOS 68K,[1] Digital Research unveiled Concurrent DOS 286 in collaboration with Intel in January 1985, building upon work from MP/M-286 and Concurrent CP/M-286 since the early 1980s.

Fully written in C, Concurrent DOS 286 introduced an innovative design featuring dynamically loadable device drivers instead of fixed BIOS/XIOS modules. Architect Frank R. Holsworth directed its creation to run exclusively in 80286 native mode, allowing protected mode multi-user multitasking with support for 8086 emulation. Although early prototype chips supported these features, production delays occurred as Intel addressed emulation issues through multiple chip revisions and microcode updates.

These technical difficulties also influenced FlexOS 286 version 1.x—a reengineered system developed by Digital Research's Flexible Automation Business Unit based in Monterey, California from 1986 onward.

Subsequent releases improved compatibility with PC DOS versions 2.x and 3.x.

Notable releases 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 newly formed European Development Centre (EDC) located in Hungerford, UK. This center assumed responsibility for advancing the Concurrent DOS series beginning with Concurrent DOS 4.11, as well as associated products such as DOS Plus.

At Hungerford, the development of versions 5 and 6—marketed as Concurrent DOS XM (where XM signifies Expanded Memory)—introduced bank switching capabilities for up to 8 MB of EEMS. This allowed a real-mode platform to simultaneously execute multiple CP/M-86 and DOS applications, supporting a maximum of three users: one local and two connected via serial terminals.

In 1987, Concurrent DOS 86 underwent a complete rewrite resulting in Concurrent DOS 386, which preserved the traditional XIOS and BDOS design. Tailored for Intel 80386 and subsequent CPUs, it utilized hardware virtualization to run most DOS software without modification, including on terminal devices. The operating system facilitated simultaneous multiuser file operations and enabled shared database access with record locking mechanisms, offering an economical multiuser solution without requiring costly workstations or network hardware.

Concurrent DOS 386 demanded approximately 200K of conventional memory—considerably more than MS-DOS—and recommended a minimum of 1.5MB RAM to efficiently handle multiple substantial applications concurrently.

Notably, Concurrent DOS 6.0 served as the foundation for the DR DOS product line.

Prominent releases included:

  • DR Concurrent PC DOS XM 5.0 (BDOS 5.0)
  • DR Concurrent DOS XM 5.0 (BDOS 5.0, October 1986)
  • DR Concurrent DOS XM 5.1 (BDOS ~5.1, January 1987)
  • DR Concurrent DOS XM 5.2 (BDOS ~5.2, September 1987)
  • DR Concurrent DOS XM 6.0 (BDOS 6.0, November 1987), including version 6.01
  • DR Concurrent DOS XM 6.2 (BDOS 6.2), including version 6.21
  • DR Concurrent DOS 386 1.0 (BDOS ~5.0, 1987)
  • DR Concurrent DOS 386 1.1 (BDOS ~5.2, September 1987)
  • DR Concurrent DOS 386 2.0 (BDOS 6.0, November 1987), including version 2.01
  • DR Concurrent DOS 386 3.0 (BDOS 6.2, December 1988–January 1989), including versions 3.01 and 3.02

Concurrent PC DOS XM 5.0 simulated IBM PC DOS version 2.10, whereas both Concurrent DOS XM 6.0 and Concurrent DOS 386 version 2.0 maintained compatibility with IBM PC DOS version 3.30.

Reception

In a 1988 review by BYTE, Concurrent DOS 386 was characterized as "largely compatible" with MS-DOS; for instance, Microsoft Word version 3.1 operated correctly while version 4.0 failed due to its reliance on undocumented system functions in DOS. System performance declined as the number of active applications increased; however, video input/output throughput was measured at twice that of standard DOS despite higher memory demands. The publication concluded that although more advanced operating systems for the Intel 386 were imminent, Concurrent DOS 386 was "available now and fully operational."

Adaptations

Concurrent Controls, Inc., developed several variants of Concurrent DOS, including:

  • CCI Concurrent DOS 386 version 1.12 (October 1987)
  • CCI Concurrent DOS 386 version 2.01 (May 1988)
  • CCI Concurrent DOS 386 version 3.01 (March 1989)
  • CCI Concurrent DOS 386 version 3.02 (April 1990)
  • CCI Concurrent DOS 386 version 3.03 (March 1991)
  • CCI Concurrent DOS 386 version 3.04 (July 1991), also referred to as "CCI Concurrent DOS 4.0"
  • CCI Concurrent DOS versions from 3.05 through to multiple revisions up to version 3.07 between1992 and1998
  • CCI Concurrent DOS version3.10 Release1 (October2003)

Additional adaptations featured Apricot Concurrent DOS386 version2.01 (1987) designed for the Apricot Quad Version Level4.3 platform.


Multiuser DOS

Subsequent iterations of Concurrent DOS 386 integrated advanced capabilities from Digital Research's single-user PC DOS alternative, DR DOS 5.0, which resulted in the product being renamed "Multiuser DOS" (MDOS) beginning with version 5.0 (BDOS 6.5) released in 1991.

Compared to PC DOS-based LANs, Multiuser DOS encountered technical challenges: it demanded proprietary device drivers since standard PC DOS drivers lacked support for multiuser and multitasking environments, and installing these drivers was more involved, requiring kernel ('nucleus') relinking through SYSGEN.

Compatibility issues also arose with typical PC DOS extensions such as network protocol stacks and emerging hardware peripherals including graphics cards, sound devices, CD-ROM drives, and pointing devices. Although certain limitations were mitigated—like graphical terminal support for CGA, EGA, and VGA applications—Multiuser DOS's adaptability remained inferior to networks of discrete PCs. The declining cost of individual PCs further diminished its competitiveness despite its advantages in administration and expense control.

As an operating system designed for multiple users, it commanded a higher price point than single-user platforms and necessitated specialized drivers, unlike single-user multitasking products such as Quarterdeck's DESQview. Unlike MP/M, Multiuser DOS never achieved widespread acceptance as a single-user multitasking solution.

After Novell acquired Digital Research in 1991 and subsequently discontinued Multiuser DOS development in 1992, three principal Master VARs—DataPac Australasia, Concurrent Controls, and Intelligent Micro Software—secured source code licenses to pursue independent enhancements starting in 1994.

Documented releases include:

  • DR Multiuser DOS 5.00 (1991), 5.01
  • Novell DR Multiuser DOS 5.10 (April 1992), 5.11
  • Novell DR Multiuser DOS 5.13 (BDOS 6.6, 1992)

All editions from Digital Research and Novell identified themselves as "IBM PC DOS" version 3.31.

DataPac Australasia

DataPac Australasia Pty Limited produced the following known variants:

  • Datapac Multiuser DOS 5.0
  • Datapac Multiuser DOS 5.1 (BDOS 6.6)
  • Datapac System Manager 7.0 (released on 1996-08-22)

Following DataPac’s acquisition by Citrix Systems, Inc. in 1997, System Manager was discontinued shortly thereafter. In 2002, Citrix spun off its Sydney-based division into the Advanced Products Group.

Concurrent Controls

Concurrent Controls, Inc. (CCI) developed these versions of Multiuser DOS:

  • CCI Multiuser DOS releases from version 7.00 through 7.22, spanning multiple iterations from R1 (1996) to R18 GOLD (2005), all reporting as "IBM PC DOS" version 3.31.

CCI’s implementations allowed modification of version reporting via the DOSVER utility. The company rebranded as Applica, Inc. in 1999 and later became Aplycon Technologies, Inc. in 2002.

=IMS Multiuser DOS

Known IMS adaptations include:

  • IMS Multiuser DOS Enhanced Release 5.1 (1992)
  • IMS Multiuser DOS versions 5.11 and 5.14
  • IMS Multiuser DOS releases 7.0 and 7.1 (BDOS 6.7, released in 1994)

All IMS variants identify themselves as "IBM PC DOS" version 3.31.

REAL/32

In 1994, Intelligent Micro Software Ltd. (IMS), based in Thatcham, UK, obtained the Multiuser DOS development license from Novell and subsequently rebranded the software as REAL/32 in 1995.

That same year, IBM licensed REAL/32 version 7.50 to bundle with its 4695 point-of-sale terminals.

The IMS REAL/32 product line ranges from version 7.50 (utilizing BDOS 6.8, released in 1995) through to Integrated Solutions' distribution of version 7.95 around 2010. Versions up to 7.74 identify themselves as "IBM PC DOS" version 3.31, whereas subsequent releases report version 6.20.

A significant enhancement arrived with REAL/32 version 7.90 in 1999, which introduced support for LBA and FAT32 file systems.

Following IMS’s insolvency declaration in April 2002, Itera Ltd.—a principal client led by Barry Quittenton—acquired the product rights but ceased operations in March 2006.

By 2010, Integrated Solutions Ltd., located in Thatcham, UK, was distributing REAL/32; however, the company eventually redirected its efforts away from software development.


REAL/NG

REAL/NG represented IMS’s effort to create a "Next Generation" iteration of REAL/32, marketed as "REAL/32 for the internet age." This version was designed to operate across a wide spectrum of hardware platforms, from personal computers to x86-based multi-processor servers.

Prominent features promoted in 2003 included:

  • Compatibility starting with Red Hat Linux version 7.3 and beyond
  • Backward compatibility with existing DOS and REAL/32 applications
  • Support for up to 65,535 virtual consoles, each representing an individual user session
  • Administration and configuration via a web browser interface requiring no Linux expertise
  • A TCP/IP terminal emulator bundled for licensed users on both Linux and Windows platforms
  • Integrated printing and file sharing capabilities along with drive mapping between Linux and REAL/NG servers
  • Advanced support for user hardware and multi-processor systems
  • Performance improvements coupled with a substantially enlarged Transient Program Area (TPA)
  • Built-in firewall functionality
  • Competitive per-seat pricing and overall low total cost of ownership
  • Distribution provided on CD alongside Red Hat installation media

By December 2003, IMS had issued REALNG versions ranging from 1.12 to 1.60, which appear to be the most recent releases available. By 2005, the realng.com website redirected visitors to IMS’s primary site without any mention of REAL/NG, focusing exclusively on REAL/32.


Application software

The operating system progressively enhanced its support for DOS applications while enabling software to utilize multiuser features through dedicated function calls. It incorporated pre-emptive multitasking to prevent poorly designed programs from monopolizing CPU resources. Multiuser DOS maintains compatibility with contemporary SSL/TLS libraries such as wolfSSL.

Its programming interface provided blocking and non-blocking message queues, mutual-exclusion queues, subprocess threads that operate independently of parent processes, and efficient sleep mechanisms that conserve CPU cycles compared to traditional single-user idle loops. Applications typically ran attached to virtual consoles but could detach to execute in the background and later reattach as necessary.

Memory management employed a shared memory architecture that separated code from data segments, allowing multiple instances of the same program to share code sections—thereby optimizing memory usage.

Programs adapted for multitasking avoided inefficient infinite loops by invoking API calls that paused execution appropriately. Later versions of Concurrent DOS kernels introduced Idle Detection technology that identified inactive processes and suspended them to free system resources. This advancement culminated in the patented Dynamic Idle Detection power management feature marketed under the name BatteryMAX.

See also

Further reading

External links

  1. ↑ Cite error: Invalid <ref> tag; no text was provided for refs named Knox_1986_CDOS68K