Computerhardware ist ein physischer Teil eines Computersystems und wird im Allgemeinen mit spezifischen Funktionen für diesen Gerätetyp beauftragt, während Software eine Reihe von Anweisungen für die Hardware ist, die bei der Ausführung einer bestimmten Aufgabe zu befolgen sind. Die Grenze zwischen Software und Hardware ist jedoch nicht immer klar.
Fast alle physischen Komponenten eines Computersystems werden als Hardware klassifiziert, einschließlich seiner Zentraleinheit, Monitore, Tastaturen und Festplatten. Im Gegensatz dazu ist Software eine Reihe von Anweisungen, die im Speicher eines Computers gespeichert sind und eine bestimmte Hardware veranlassen, eine Aufgabe auszuführen, wenn die Anweisungen ausgeführt werden. Beispielsweise weist ein einfaches Programm zum Addieren zweier Zahlen die Zentraleinheit eines Computers an, Eingaben von einer Tastatur zu lesen, die Zahlen in den Speicher zu legen, die Zahlen zu addieren und schließlich die Ergebnisse auf dem Monitor des Computers auszugeben.
In den meisten Fällen wird Software während der Verwendung in den Speicher eines Computers geladen und anderweitig auf einem Festplattenlaufwerk, einer CD-ROM oder einem anderen Mediengerät gespeichert. Einige Arten von Software werden jedoch in einem Speicher gespeichert, der in eine Hardware integriert ist. Diese Software wird allgemein als Firmware bezeichnet und enthält die Anweisungen, die eine Hardware benötigt, um grundlegende Aufgaben auszuführen. Die Firmware eines Festplattenlaufwerks enthält beispielsweise Anweisungen zum Drehen der Laufwerke und zum Lesen und Schreiben von Informationen.