MP/M was the 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.
MP/M was a fairly advanced operating system for its era, at least on microcomputers. It included a priority-scheduled multitasking kernel (before such a name was used, the kernel was referred to as the nucleus) with memory protection, concurrent input/output and support for spooling and queueing. It also allowed for each user to run multiple programs, and switch between them.
The system required a minimum of 32 kB of RAM to run, but this left little memory for user applications. In order to support reasonable setups, MP/M allowed for memory to be switched in and out of the machine's "real memory" area. So for instance a program might be loaded into a "bank" of RAM that was not addressable by the CPU, and when it was time for the program to run that bank of RAM would be "switched" to appear in low memory (typically the lower 32 or 48 kB) and thus become visible to the OS. This technique, known as bank switching was subsequently added to the single user version of CP/M with version 3.0.
One of the primary uses of MP/M, perhaps to the surprise of DRI, was as a "power user" version of CP/M for a single user. The ability to run several programs at the same time and address large amounts of memory made the system worth the extra price.
Like CP/M before it, MP/M was eventually ported to the Intel 8086, and appeared as MP/M-86.
MP/M-86 absorbed some of the technology of CP/M-86 to become Concurrent CP/M, later developed into an MS-DOS compatible 386-specific version, Concurrent DOS 386, which is still in some use in industrial applications. For more information on this, see Multiuser DOS.
Full article ▸