Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Multi-Environment Real-Time
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Unix variant with real-time operating system capabilities}} {{Distinguish|Penn MERT}} {{Infobox OS | name = Multi-Environment Real-Time | developer = [[Bell Labs]]<ref name="acm">{{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 }}</ref> | family = [[Unix-like]] | kernel_type = [[Microkernel]]<ref name="acm"/> [[Real-time operating system|RTOS]] | supported_platforms = [[PDP-11]],<ref name="acm"/> [[3B20D]], [[3B21D]] | marketing_target = [[Real-time computing]] applications | programmed_in = [[C (programming language)|C]]<ref name="bstj78"/> | language = English | working_state = UNIX-RTR/3B21D version still in use. }} '''Multi-Environment Real-Time''' ('''MERT'''), later renamed '''UNIX Real-Time''' ('''UNIX-RT'''),<ref name="porting">{{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}}</ref> is a hybrid [[time-sharing]] and [[real-time operating system]] developed in the 1970s at [[Bell Labs]] for use in [[embedded system|embedded]] [[minicomputer]]s (especially [[PDP-11]]s). A version named '''Duplex Multi Environment Real Time''' ('''DMERT''') was the operating system for the [[3B series computers|AT&T 3B20D]] [[telephone switching]] minicomputer, designed for [[high availability]];<ref>{{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}}</ref><ref>{{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}}</ref><ref name="unix-rtr">{{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}}</ref> DMERT was later renamed '''Unix RTR''' (Real-Time Reliable).<ref name="unix-rtr"/> A ''generalization'' of Bell Labs' time-sharing operating system [[Unix]],<ref>{{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}}</ref> MERT featured a redesigned, modular [[Kernel (operating system)|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 multiprogramming system|THE]], Hansen's [[RC 4000 multiprogramming system|Monitor]], and IBM's [[CP-67]].<ref name="bstj78">{{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}}</ref> The MERT operating system was a four-layer design, in decreasing order of [[protection ring|protection]]:<ref name="bstj78"/> * Kernel: resource allocation of memory, CPU time and [[hardware interrupt|interrupts]] * Kernel-mode processes including [[input/output]] (I/O) [[device driver]]s, file manager, [[Paging#History|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 [[Unix shell|shell]] that enabled the use of MERT's custom IPC mechanisms, although an [[RSX-11]] emulator also existed.<ref name="bstj78"/> ==References== {{Reflist}} {{Bell Unix}} {{Real-time operating systems}} {{Microkernel}} [[Category:Real-time operating systems]] [[Category:Bell Labs Unices]] [[Category:Microkernel-based operating systems]] [[Category:Microkernels]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Bell Unix
(
edit
)
Template:Cite conference
(
edit
)
Template:Cite journal
(
edit
)
Template:Distinguish
(
edit
)
Template:Infobox OS
(
edit
)
Template:Microkernel
(
edit
)
Template:Real-time operating systems
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)