M-DOS

You might be looking for DR-MDOS by Digital Research or Siemens multi-tasking DOS (nicknamed "European MS DOS 4.0").

M-DOS aka MIDAS (Microsoft Interrupt Driven Asynchronous System, as Microsoft called it from 1980 onwards) refers to an operating system that was designed by Marc McDonald of Microsoft in 1979.[1] It was designed for the 8080/Z80 microprocessors, popular due to CP/M at the time.

The Microsoft Disk Operating System was designed to use terminal input/output and offered the following features:

Contents

Commands

MDOS was designed as a single user version as well as a multi-user version (using relocation hardware).[2] It was modelled closely on TOPS-10 on the DEC System-10. As such it was designed to offer the following commands:

It also included the following new commands (which at the time of design had no abbreviations):

Design

MDOS included many systems calls (more than 65). Its interrupt driven design enabled the system software to use idle I/O time (when slow devices are being accessed) to do other tasks. It was designed to use structures (similar to structures in the C language) to keep tabs on every user and every task. Thus a high priority operation could stop a user task and restart it without losing anything. MDOS was designed to occupy only 9 kilobytes for its code and 2-3 kilobytes for its data. Multi-user installations would need additional 50 bytes/user and 550-600 bytes per terminal. Upgrading the single user version to the multi-user would be no different to a program.

MDOS was designed to run on any 8080 or Z80 processor (and even support the 8086 and the Z8000 processors at a later stage). It used data blocks such as a File Data Block (FDB) handling device independent I/O, a Unit Data Block (UDB) for physical disk I/O, a Structure Data Block (SDB) for logical data I/O and a Line Data Block (LDB) for Terminal I/O.

Every job contained a Job Data Area in the first 256 bytes (400 octal) memory locations (similar to MS-DOS). The user program starts at 100 hex (400 octal) and runs until the top of user memory (called .JBLOW).

MDOS also introduced the idea of memory garbage collection (implemented in Unix systems) for personal computers. Pointers to the free areas were arranged so that areas closer to the base of the area would be used first, and areas within larger free areas would be deleted and the larger area adjusted accordingly. Garbage collection would take place in single user mode, as free memory would be accessed.

Microsoft soon abandoned MIDAS when they bought the unrelated 86-DOS to become MS-DOS, shipped as PC DOS with the IBM PC in 1981/1982.

Notes

Although MS-DOS has a command structure where the new (file name, action etc.) precedes the old, MDOS/MIDAS followed the CP/M notation where old precedes the new. For example the copy command would be:

instead of the MS-DOS

References

  1. ^ Conversation between Marc McDonald and Tim Paterson in June 1979 as recounted by Paterson.
  2. ^ At that time computers offered memory with bank switching, similar to the relocation hardware referred here