Difference between revisions of "MERT operating system"

From Computer History Wiki
Jump to: navigation, search
(Pretty good start)
 
m (External links: +manual)
Line 28: Line 28:
 
==External links==
 
==External links==
  
 +
* [https://www.tuhs.org/Archive/Documentation/Manuals/MERT_Release_0/ MERT Release 0] - complete manual at [[The Unix Heritage Society|TUHS]]
 +
** [https://www.tuhs.org/Archive/Documentation/Manuals/MERT_Release_0/Pgs%2003-04%20Table%20of%20Contents.pdf Table of Contents]
 
* H. Lycklama, D. L. Bayer, [https://www.tuhs.org/Archive/Documentation/Papers/BSTJ/bstj57-6-2049.pdf The MERT Operating System] (The Bell System Technical Journal, July-August 1978, Vol. 57, No. 6, Part 2)
 
* H. Lycklama, D. L. Bayer, [https://www.tuhs.org/Archive/Documentation/Papers/BSTJ/bstj57-6-2049.pdf The MERT Operating System] (The Bell System Technical Journal, July-August 1978, Vol. 57, No. 6, Part 2)
 
* R.E. Anderson, Jr Kane, P.S. Mccabe, [http://www.vtda.org/pubs/BSTJ/vol62-1983/articles/bstj62-1-291.pdf The 3B20D Processor & DMERT Operating System: Overview, Architecture, and Performance of DMERT] (The Bell System Technical Journal, January 1983, Vol. 62, No. 1)
 
* R.E. Anderson, Jr Kane, P.S. Mccabe, [http://www.vtda.org/pubs/BSTJ/vol62-1983/articles/bstj62-1-291.pdf The 3B20D Processor & DMERT Operating System: Overview, Architecture, and Performance of DMERT] (The Bell System Technical Journal, January 1983, Vol. 62, No. 1)

Revision as of 20:51, 29 September 2022

MERT (an acronym for Multi-Environment Real Time) was an influential operating system from Bell Labs. It was one of the earliest to be constructed using an organizational concept that later became known as a microkernel system; it was one of the very earliest successful ones.

MERT was created in the 1970s, and was a spinoff of the UNIX work; it ran on DEC PDP-11 computers, models -11/45 and -11/70 (it made use of the 'supervisor' mode provided by the memory management of those models). The basic kernel (below) mostly written in assembly language; the rest (file manager, UNIX supervisor, etc) was in C.

Although it was not exactly a microkernel as they are today, it was a definitely not a monolithic kernel; it was a major step down the road to microkernels. MERT was an operating system which was divided up into several semi-independent components, all of which ran on a lower-level "kernel" (as they described it).

The kernel provided only the lowest-level basic mechanisms (memory management, process scheduling, etc); the other components needed for an operating system (e.g. a file system) were constructed as processes which ran on top of the kernel. Inter-process communication was done with messages, event flags, and shared memory and shared files.

MERT was also intended to be used in real-time applications, and had a number of features to meet this goal. Process scheduling had real-time mechanisms, as did the file system.

The source code of the original PDP-11 MERT sadly seems to have been lost; it was later renamed 'UNIX Real-Time' (UNIX-RT). MERT was later ported to the multi-processor 3B20D computer in the form of the DMERT operating system - Duplex MERT - which was used for many functions in the Bell System; DMERT was later renamed 'Unix RTR' (Real-Time Reliable).

Internal structure

MERT's basic overall internal organization has four layers:

  • the 'kernel', the lowest: provided all the basic primitives such as inter-process communication, process dispatching; also allocation of all basic system resources (main memory, address space units, etc); includes initial trap and interrupt handlers, etc
  • privileged processes: device drivers, file manager, memory manager and swapping manager, scheduler
  • supervisor processes: provide the environment for user programs (one is a UNIX environment)
  • user programs: applications

Further reading

  • D. L. Bayer, H. Lycklama, MERT - a multi-environment real-time operating system, (Fifth ACM Symposium on Operating Systems Principles, Austin, Texas, 1975)

External links