Instruktionerna som en dator följer kommer från flera källor, och slutligen kokar ner till:
* Programkod (programvara): Detta är den mest direkta källan. Programmerare skriver kod på olika programmeringsspråk (som Python, Java, C ++, etc.). Denna kod är en uppsättning instruktioner, skriven i en form förståelig (efter översättning) av datorns processor. Den här koden sammanställs sedan (översattes till maskinkod) eller tolkas (kört rad för rad) innan datorn kan förstå och köra den.
* Operativsystem (OS): OS är en avgörande mjukvara som hanterar datorns hårdvara och ger en plattform för andra program att köra. Det ger instruktioner på låg nivå för uppgifter som att hantera minne, hantera ingång/utgång och kontrollera kringutrustning. Själva operativsystemet består av kod skriven av programmerare.
* firmware: Detta är en typ av programvara permanent lagrad på en hårdvaruenhet (som en BIOS på ett moderkort eller start -rom i en enhet). Det är den första programvaran som datorn körs vid start, initialiserar hårdvara och laddar operativsystemet.
* Hårdvaruinstruktioner (mikrokod): På den mest grundläggande nivån har datorns processor en uppsättning inbyggda instruktioner, ofta implementerade i mikrokod. Detta är extremt låg nivå och vanligtvis inte direkt programmerad av användare; Det är en del av processorns design.
Sammanfattningsvis, medan slutanvändaren kan interagera direkt med ett program, härstammar instruktionerna i slutändan från kod skriven av programmerare, operativsystemkod och grundläggande instruktioner inbyggda i datorns hårdvara. Processen involverar flera lager av översättning och tolkning, från programmeringsspråk på hög nivå ner till de binära instruktionerna som processorn direkt förstår.