A standalone program, also known as a freestanding program, is a
computer program
A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. It is one component of software, which also includes software documentation, documentation and other intangibl ...
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 information technology, bare machine (or bare-metal computer) is a computer which has no operating system. The software executed by a bare machine, commonly called a "bare metal program" or "bare metal application", is designed to interact dir ...
. In
early computers like the
ENIAC
ENIAC (; Electronic Numerical Integrator and Computer) was the first Computer programming, programmable, Electronics, electronic, general-purpose digital computer, completed in 1945. Other computers had some of these features, but ENIAC was ...
without the concept of an
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
, standalone programs were the only way to run a computer. Standalone programs are usually written in
assembly language
In computing, assembly language (alternatively assembler language or symbolic machine code), often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence bet ...
for a specific hardware.
Later standalone programs typically were provided for utility functions such as
disk formatting. Also, computers with very limited memory may use 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
microcontroller
A microcontroller (MC, uC, or μC) or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable input/output peripherals. Pro ...
s (where battery life, price, and data space are at premiums)
Atmel TinyAVR product page. and critical systems. In extreme cases every possible set of inputs and errors must be tested and thus every potential output known; fully independent eparate physical suppliers and programing teamsyet fully parallel system-state monitoring; or where the attack surface
The attack surface of a software environment is the sum of the different points (for " attack vectors") where an unauthorized user (the "attacker") can try to enter data to, extract data, control a device or critical software in an environment. Ke ...
must be minimized; an operating system would add unacceptable complexity and uncertainty (examples include industrial operator safety interrupts, commercial airlines, medical devices, ballistic missile launch controls and lithium-battery charge controllers in consumer devices ire hazard and chip cost of approximately 10 cents. 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 of the much lower clock frequency, pin spacing, lack of large data buses (e.g. DDR4 RAM modules), and limited transistor count allowance for wider design margins and thus the potential for more robust electrical and physical properties both in circuit layout and material choices.
See also
* Bare machine
References
{{-
Legacy systems
Computer programming