Multi-Environment Real-Time

The Multi-Environment Real-Time (MERT) operating system was one of the earliest to be constructed using an organizational concept that later became known as a "micro-kernel".

Multi-Environment Real-Time was created in the 1970s at Bell Labs, and was a spinoff of Unix. It ran on Digital Equipment Corporation PDP-11 computers (models 11/45 and 11/70). A version called Duplex Multi Environment Real Time (DMERT) was the operating system for the AT&T 3B20D telephone switching minicomputer; DMERT was renamed UNIX-RTR (Real-Time Reliable) in 1982.

Although it was not exactly a micro-kernel as they are today, it was a definitely not a "monolithic kernel"; it was a major step down the road to micro-kernels (Altinsel). 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 (IPC) was done with messages, event flags, 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.