Standalone program


A stand-alone program, also known as a freestanding program, is a computer program that does not load any external module, library function or program and that is designed to boot with the bootstrap procedure of the target processor – it runs on bare metal. In early computers like the ENIAC without the concept of an operating system, standalone programs were the only way to run a computer. Standalone programs are usually written in or compiled to the assembly language for the specific hardware.
Later standalone programs typically were provided for utility functions such as disk formatting. Also, computers with very limited memory used standalone programs, i.e. most computers until the mid-1950s, and later still embedded processors.
Standalone programs are now mainly limited to SoC's or Microcontrollers and critical systems. In extreme cases every possible set of inputs and errors must be tested and thus every potential output known; fully independent yet fully parallel system-state monitoring; or where the attack surface must be minimized; an operating system would add unacceptable complexity and uncertainty.

Resource limited microcontrollers can also be made more tolerant of varied environmental conditions than the more powerful hardware needed for an operating system; this is possible because the much lower clock frequency, pin spacing, lack of large data buses, and limited transistor count allow for wider design margins and thus the potential for more robust electrical and physical properties both in circuit layout and material choices.