Multi-Environment Real-Time

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Not to be confused with Penn MERT.
Multi-Environment Real-Time
Developer Bell Labs[1]
Written in C[2]
OS family Real-time operating systems
Marketing target Real-time computing applications
Platforms PDP-11[1]
Kernel type Microkernel[1]

Multi-Environment Real-Time (MERT) was a hybrid time-sharing/real-time operating system developed in the 1970s at Bell Labs for use in embedded minicomputers (in particular PDP-11s). It was later renamed UNIX Real-Time (UNIX-RT).[3]

A "generalization" of Bell Labs' time-sharing operating system Unix,[4] MERT featured a redesigned, modular kernel that was able to run Unix programs as well as privileged real-time 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 sported a custom filesystem 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 increasing order of protection:[2]

  • Kernel: resource allocation of memory, CPU time and interrupts;
  • kernel-mode processes including 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]

A version called Duplex Multi Environment Real Time (DMERT) was the operating system for the AT&T 3B20D telephone switching minicomputer, designed for high availability;[5][6][7] DMERT was later renamed Unix RTR (Real-Time Reliable).[7]


  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, TX. 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" (PDF). Bell System Technical Journal 57 (6): 2049–2086. doi:10.1002/j.1538-7305.1978.tb02142.x. 
  3. ^ Bodenstab, D. E.; Houghton, T. F.; Kelleman, K. A.; Ronkin, G.; Schan, E. P. (1984). "UNIX Operating System Porting Experiences" (PDF). AT&T Bell Laboratories Technical Journal 63 (8): 1769–1790. doi:10.1002/j.1538-7305.1984.tb00064.x.  edit
  4. ^ Ritchie, Dennis M. (1977). The UNIX Time-sharing System—A retrospective. Tenth Hawaii International Conference on the System Sciences. 
  5. ^ Kane, J. R.; Anderson, R. E.; McCabe, P. S. (January 1983). "The 3B20D Processor & DMERT Operating System: Overview, Architecture, and Performance of DMERT" (PDF). Bell System Technical Journal 62 (1): 291–301. doi:10.1002/j.1538-7305.1983.tb04396.x. 
  6. ^ Grzelakowski, M. E.; Campbell, J. H.; Dubman, M. R. (January 1983). "The 3B20D Processor & DMERT Operating System: DMERT Operating System" (PDF). Bell System Technical Journal 62 (1): 303–322. doi:10.1002/j.1538-7305.1983.tb04397.x. 
  7. ^ a b Wallace, John J.; Barnes, Walter W. (August 1984). "Designing for Ultrahigh Availability: The Unix RTR Operating System" (PDF). IEEE Computer (IEEE) 17 (8): 31–39.