Multi-Environment Real-Time
{{Short description|Unix variant with real-time operating system capabilities}}
{{Distinguish|Penn MERT}}
{{Infobox OS
| name = Multi-Environment Real-Time
| developer = Bell Labs{{cite conference
|last1=Bayer
|first1=D. L.
|last2=Lycklama
|first2=H.
|url=http://portal.acm.org/citation.cfm?id=806519
|title=MERT: a multi-environment real-time operating system
|conference=Fifth ACM Symposium on Operating Systems Principles
|location=Austin, Texas
|year=1975
|doi=10.1145/800213.806519
|access-date=2008-08-18
|doi-access=free
}}
| family = Unix-like
| kernel_type = Microkernel RTOS
| supported_platforms = PDP-11, 3B20D, 3B21D
| marketing_target = Real-time computing applications
| programmed_in = C
| language = English
| working_state = UNIX-RTR/3B21D version still in use.
}}
Multi-Environment Real-Time (MERT), later renamed UNIX Real-Time (UNIX-RT),{{Cite journal |last1=Bodenstab |first1=D. E. |last2=Houghton |first2=T. F. |last3=Kelleman |first3=K. A. |last4=Ronkin |first4=G. |last5=Schan |first5=E. P. |year=1984 |title=UNIX Operating System Porting Experiences |journal=AT&T Bell Laboratories Technical Journal |volume=63 |issue=8 |pages=1769–1790 |doi=10.1002/j.1538-7305.1984.tb00064.x |s2cid=35326182}} 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;{{cite journal |last1=Kane |first1=J. R. |last2=Anderson |first2=R. E. |last3=McCabe |first3=P. S. |date=January 1983 |title=The 3B20D Processor & DMERT Operating System: Overview, Architecture, and Performance of DMERT |journal=Bell System Technical Journal |volume=62 |issue=1 |pages=291–301 |doi=10.1002/j.1538-7305.1983.tb04396.x|s2cid=31828139}}{{cite journal |last1=Grzelakowski |first1=M. E. |last2=Campbell |first2=J. H. |last3=Dubman |first3=M. R. |date=January 1983 |title=The 3B20D Processor & DMERT Operating System: DMERT Operating System |journal=Bell System Technical Journal |volume=62 |issue=1 |pages=303–322 |doi=10.1002/j.1538-7305.1983.tb04397.x |s2cid=12901173}}{{cite journal |last1=Wallace |first1=John J. |last2=Barnes |first2=Walter W. |date=August 1984 |url=http://www.computer.org/csdl/mags/co/1984/08/01659215.pdf |title=Designing for Ultrahigh Availability: The Unix RTR Operating System |journal=IEEE Computer |volume=17 |issue=8 |pages=31–39 |publisher=IEEE |doi=10.1109/MC.1984.1659215 |s2cid=17689432}} DMERT was later renamed Unix RTR (Real-Time Reliable).
A generalization of Bell Labs' time-sharing operating system Unix,{{cite conference |last=Ritchie |first=Dennis M. |author-link=Dennis Ritchie |year=1977 |title=The Unix Time-sharing System: A retrospective |conference=Tenth Hawaii International Conference on the System Sciences |url=http://cm.bell-labs.com/cm/cs/who/dmr/retro.html |archive-url=https://web.archive.org/web/20150205030215/http://cm.bell-labs.com/cm/cs/who/dmr/retro.html |archive-date=5 February 2015}}
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.{{cite journal |last1=Lycklama |first1=H. |last2=Bayer |first2=D. L. |title=The MERT Operating System |journal=Bell System Technical Journal |volume=57 |issue=6 |pages=2049–2086 |date=July–August 1978 |doi=10.1002/j.1538-7305.1978.tb02142.x|s2cid=8711402}}
The MERT operating system was a four-layer design, in decreasing order of protection:
- 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.
References
{{Reflist}}
{{Bell Unix}}
{{Real-time operating systems}}
{{Microkernel}}
Category:Real-time operating systems