Multi-Environment Real-Time

Multi-Environment Real-Time
DeveloperBell Labs[1]
Written inC[2]
OS familyUnix-like
Working stateUNIX-RTR/3B21D version still in use.
Marketing targetReal-time computing applications
Available inEnglish
PlatformsPDP-11,[1] 3B20D, 3B21D
Kernel typeMicrokernel[1] RTOS

Multi-Environment Real-Time (MERT), later renamed UNIX Real-Time (UNIX-RT),[3] is a hybrid time-sharing and real-time operating system developed in the 1970s at Bell Labs for use in embedded minicomputers (especially PDP-11s). A version named Duplex Multi Environment Real Time (DMERT) was the operating system for the AT&T 3B20D telephone switching minicomputer, designed for high availability;[4][5][6] DMERT was later renamed Unix RTR (Real-Time Reliable).[6]

A generalization of Bell Labs' time-sharing operating system Unix,[7] MERT featured a redesigned, modular kernel that was able to run Unix programs and privileged real-time computing processes. These processes' data structures were isolated from other processes with message passing being the preferred form of interprocess communication (IPC), although shared memory was also implemented. MERT also had a custom file system with special support for large, contiguous, statically sized files, as used in real-time database applications. The design of MERT was influenced by Dijkstra's THE, Hansen's Monitor, and IBM's CP-67.[2]

The MERT operating system was a four-layer design, in decreasing order of protection:[2]

  • Kernel: resource allocation of memory, CPU time and interrupts
  • Kernel-mode processes including input/output (I/O) device drivers, file manager, swap manager, root process that connects the file manager to the disk (usually combined with the swap manager)
  • Operating system supervisor
  • User processes

The standard supervisor was MERT/UNIX, a Unix emulator with an extended system call interface and shell that enabled the use of MERT's custom IPC mechanisms, although an RSX-11 emulator also existed.[2]

  1. ^ a b c Bayer, D. L.; Lycklama, H. (1975). MERT: a multi-environment real-time operating system. Fifth ACM Symposium on Operating Systems Principles. Austin, Texas. doi:10.1145/800213.806519. Retrieved 2008-08-18.
  2. ^ a b c d Lycklama, H.; Bayer, D. L. (July–August 1978). "The MERT Operating System". Bell System Technical Journal. 57 (6): 2049–2086. doi:10.1002/j.1538-7305.1978.tb02142.x. S2CID 8711402.
  3. ^ Bodenstab, D. E.; Houghton, T. F.; Kelleman, K. A.; Ronkin, G.; Schan, E. P. (1984). "UNIX Operating System Porting Experiences". AT&T Bell Laboratories Technical Journal. 63 (8): 1769–1790. doi:10.1002/j.1538-7305.1984.tb00064.x. S2CID 35326182.
  4. ^ Kane, J. R.; Anderson, R. E.; McCabe, P. S. (January 1983). "The 3B20D Processor & DMERT Operating System: Overview, Architecture, and Performance of DMERT". Bell System Technical Journal. 62 (1): 291–301. doi:10.1002/j.1538-7305.1983.tb04396.x. S2CID 31828139.
  5. ^ Grzelakowski, M. E.; Campbell, J. H.; Dubman, M. R. (January 1983). "The 3B20D Processor & DMERT Operating System: DMERT Operating System". Bell System Technical Journal. 62 (1): 303–322. doi:10.1002/j.1538-7305.1983.tb04397.x. S2CID 12901173.
  6. ^ a b Wallace, John J.; Barnes, Walter W. (August 1984). "Designing for Ultrahigh Availability: The Unix RTR Operating System" (PDF). IEEE Computer. 17 (8). IEEE: 31–39. doi:10.1109/MC.1984.1659215. S2CID 17689432.
  7. ^ Ritchie, Dennis M. (1977). The Unix Time-sharing System: A retrospective. Tenth Hawaii International Conference on the System Sciences. Archived from the original on 5 February 2015.