Bare machines are widely used in embedded systems, particularly in cases where resources are limited or high performance is required.
[4] Bare metal applications typically require more effort to develop because operating system services such as memory management and task scheduling are not available.
[5] Early computers, such as the PDP-11, allowed programmers to load a program, supplied in machine code, to RAM.
The resulting operation of the program could be monitored by lights, and output derived from magnetic tape, print devices, or storage.
For example, one such program paradigm, known as "foreground-background" or "superloop" architecture, consists of an infinite main loop in which each task is executed sequentially.