De instructies die een computer volgt, komen uit verschillende bronnen en komen uiteindelijk neer op:
* Programmacode (software): Dit is de meest directe bron. Programmeurs schrijven code in verschillende programmeertalen (zoals Python, Java, C++, etc.). Deze code is een reeks instructies, geschreven in een vorm die (na vertaling) begrijpelijk is voor de processor van de computer. Deze code wordt vervolgens gecompileerd (vertaald in machinecode) of geïnterpreteerd (regel voor regel uitgevoerd) voordat de computer deze kan begrijpen en uitvoeren.
* Besturingssysteem (OS): Het besturingssysteem is een cruciaal stuk software dat de hardware van de computer beheert en een platform biedt waarop andere programma's kunnen worden uitgevoerd. Het biedt instructies op laag niveau voor taken zoals het beheren van geheugen, het verwerken van invoer/uitvoer en het besturen van randapparatuur. Het besturingssysteem zelf bestaat uit code die door programmeurs is geschreven.
* Firmware: Dit is een soort software die permanent op een hardwareapparaat is opgeslagen (zoals een BIOS op een moederbord of het opstart-ROM van een apparaat). Het is de eerste software die de computer uitvoert bij het opstarten, het initialiseren van de hardware en het laden van het besturingssysteem.
* Hardware-instructies (microcode): Op het meest fundamentele niveau heeft de processor van de computer een reeks ingebouwde instructies, vaak geïmplementeerd in microcode. Dit is van extreem laag niveau en wordt doorgaans niet rechtstreeks door gebruikers geprogrammeerd; het maakt deel uit van het ontwerp van de processor.
Samenvattend:hoewel de eindgebruiker rechtstreeks met een programma kan communiceren, zijn de instructies uiteindelijk afgeleid van door programmeurs geschreven code, de code van het besturingssysteem en de fundamentele instructies die in de hardware van de computer zijn ingebouwd. Het proces omvat verschillende lagen van vertaling en interpretatie, van programmeertalen op hoog niveau tot de binaire instructies die de processor direct begrijpt. |