The Micro C++ Runtime (uCR), from Picture elements, Inc., is designed to run in embedded systems, or other places where traditional operating system behavior is either too confusing or too expensive; or impossible due to hardware limitations. In fact, uCR generally requires only a CPU and a bit of RAM, although a means of getting memory written is helpful.
It is also intended to not completely hide the hardware from the programmer. All too often, in the name of abstraction, OS developers create a monstrosity that not only consumes all the available hardware, but puts restrictions on the hardware designer that have nothing to do with solving the problem. Instead, we try to make the hardware easy to deal with, abstracting only the programming issues and not the hardware.
The execution model is simplified as much as possible so the programmer has far more control over the machine than with a typical operating system. The programmer, for example, is free to manipulate devices, schedule threads, or even write a clock based time slice scheduler. In fact, uCR is not really an operating system at all, but a C/C++ runtime library.