O hardware do computador é uma parte física de um sistema de computador e geralmente é encarregado de funções específicas para esse tipo de equipamento, enquanto o software é um conjunto de instruções para o hardware seguir na execução de uma tarefa específica. No entanto, a linha entre software e hardware nem sempre é distinta.
Quase todos os componentes físicos de um sistema de computador são classificados como hardware, incluindo sua unidade de processamento central, monitores, teclados e unidades de disco rígido. Em contraste, o software é uma série de instruções armazenadas na memória de um computador que fazem com que uma determinada peça de hardware execute uma tarefa quando as instruções são executadas. Por exemplo, um programa simples projetado para somar dois números instrui a unidade de processamento central de um computador a ler a entrada de um teclado, colocar os números em sua memória, somar os números e, finalmente, enviar os resultados para o monitor do computador.
Na maioria dos casos, o software é carregado na memória do computador enquanto é usado e armazenado em uma unidade de disco rígido, CD-ROM ou outro dispositivo de mídia. No entanto, alguns tipos de software são armazenados na memória integrada com uma peça de hardware. Esse software é comumente conhecido como firmware e contém as instruções necessárias para que um componente de hardware execute as tarefas básicas. Por exemplo, o firmware de uma unidade de disco rígido contém as instruções para girar os discos da unidade e ler e gravar informações.