Un programa autónomo, también conocido como programa freestanding, es un programa informático que no carga ningún módulo externo, función de biblioteca o programa y que está diseñado para arrancar con el procedimiento de arranque del procesador de destino: se ejecuta a pelo. En los primeros ordenadores, como el ENIAC, sin el concepto de sistema operativo, los programas autónomos eran la única forma de hacer funcionar un ordenador. Los programas independientes suelen estar escritos o compilados en el lenguaje ensamblador para el hardware específico.
Los programas independientes posteriores se proporcionaban normalmente para funciones de utilidad como el formateo de discos. Además, los ordenadores con memoria muy limitada utilizaban programas autónomos, es decir, la mayoría de los ordenadores hasta mediados de la década de 1950, y más tarde aún los procesadores embebidos.
Los programas autónomos se limitan ahora principalmente a los SoC o microcontroladores (donde la duración de la batería, el precio y el espacio de los datos son primordiales) y a los sistemas críticos. En casos extremos se deben probar todos los posibles conjuntos de entradas y errores y, por tanto, conocer todos los posibles resultados; una monitorización del estado del sistema totalmente independiente y paralela; o cuando la superficie de ataque debe minimizarse, un sistema operativo añadiría una complejidad e incertidumbre inaceptables (ejemplos, interrupciones de seguridad de operadores industriales, aerolíneas comerciales, dispositivos médicos y controles de lanzamiento de misiles balísticos, controladores de carga de baterías de litio en dispositivos de consumo). Los microcontroladores de recursos limitados también pueden ser más tolerantes a las condiciones ambientales variadas que el hardware más potente necesario para un sistema operativo; esto es posible porque la frecuencia de reloj mucho más baja, el espaciado de los pines, la falta de grandes buses de datos (por ejemplo, los módulos de ram ddr4) y el número limitado de transistores permiten márgenes de diseño más amplios y, por lo tanto, el potencial de propiedades eléctricas y físicas más robustas tanto en el diseño del circuito como en la elección de materiales.