Ett fristående program, även kallat fristående program, är ett datorprogram som inte laddar någon extern modul, biblioteksfunktion eller program och som är utformat för att starta upp med målprocessorns bootstrap-procedur – det körs på bare metal. I tidiga datorer som ENIAC utan begreppet operativsystem var fristående program det enda sättet att köra en dator. Fristående program är vanligtvis skrivna i eller kompilerade till assemblerspråket för den specifika maskinvaran.
Senare fristående program tillhandahölls vanligtvis för hjälpfunktioner som diskformatering. Även datorer med mycket begränsat minne använde fristående program, dvs. de flesta datorer fram till mitten av 1950-talet, och senare fortfarande inbyggda processorer.
St fristående program är nu huvudsakligen begränsade till SoC:er eller mikrokontroller (där batteritid, pris och datautrymme är premier) och kritiska system. I extrema fall måste varje möjlig uppsättning ingångar och fel testas och därmed varje potentiell utgång vara känd; helt oberoende men ändå helt parallell övervakning av systemtillståndet; eller när angreppsytan måste minimeras; ett operativsystem skulle öka oacceptabel komplexitet och osäkerhet (exempel: säkerhetsavbrott för industriella operatörer, kommersiella flygbolag, medicinska apparater och kontroller för uppskjutning av ballistiska missiler, laddningsregulatorer för litiumbatterier i konsumentapparater). Resursbegränsade mikrokontroller kan också göras mer toleranta mot varierande miljöförhållanden än den kraftfullare hårdvara som behövs för ett operativsystem. Detta är möjligt eftersom den mycket lägre klockfrekvensen, stiftavståndet, avsaknaden av stora databussar (t.ex. ddr4-rammoduler) och det begränsade antalet transistorer ger större konstruktionsmarginaler och därmed möjlighet till mer robusta elektriska och fysiska egenskaper, både när det gäller kretslayout och materialval.