Hardware og software er to væsentlige komponenter i ethvert computersystem. Uden hardware kan software ikke køre, og uden software er hardware ubrugelig. Forholdet mellem hardware og software sammenlignes ofte med forholdet mellem kroppen og hjernen. Hardware er computerens fysiske struktur, mens software er det sæt instruktioner, der fortæller computeren, hvad den skal gøre.
Her er nogle eksempler på, hvordan hardware og software komplimenterer hinanden:
* Processoren (CPU) er computerens centrale behandlingsenhed. Den er ansvarlig for at udføre instruktioner og udføre beregninger. Processorens hastighed og kraft bestemmer, hvor hurtigt computeren kan køre programmer.
* Hukommelsen (RAM) bruges til at gemme midlertidige data, der behandles af processoren. Mængden af RAM i en computer bestemmer, hvor mange programmer der kan køres samtidigt.
* Lagerenhederne (harddisk, solid state-drev osv.) bruges til at gemme data permanent. Lagerenhedens type og størrelse bestemmer, hvor meget data der kan gemmes, og hvor hurtigt der kan tilgås dem.
* Inputenhederne (tastatur, mus osv.) bruges til at indtaste data i computeren. Typen af inputenhed bestemmer, hvordan data indtastes.
* Outputenhederne (skærm, printer osv.) bruges til at vise eller udskrive data fra computeren. Typen af outputenhed bestemmer, hvordan dataene vises eller udskrives.
Hardware og software skal arbejde sammen, for at en computer kan fungere korrekt. Hardwaren giver de fysiske ressourcer, som softwaren skal bruge for at køre, mens softwaren giver instruktionerne, der fortæller hardwaren, hvad den skal gøre. Uden nogen af dem ville computeren ikke kunne fungere.
Ud over de fysiske komponenter omfatter hardware også firmware og drivere, der styrer driften af hardwareenhederne. Firmware er en type software, der er gemt på selve hardwaren, mens drivere er softwareprogrammer, der tillader operativsystemet at kommunikere med hardwareenhederne.
Forholdet mellem hardware og software udvikler sig konstant. Efterhånden som nye hardwareteknologier udvikles, udvikles ny software for at udnytte dem. Denne cyklus af innovation er med til at sikre, at computere konstant bliver mere kraftfulde og dygtige.