El software de una computadora es un conjunto de instrucciones de programa detalladas que controlan y coordinan los componentes hardware de una computadora y controlan las operaciones de un sistema informático.
El auge de las computadoras en el siglo pasado y en el actual siglo XXI, se debe esencialmente, al desarrollo de sucesivas generaciones de software potentes y cada vez más amistosas (“fáciles de utilizar”).
Las operaciones que debe realizar el hardware son especificadas por una lista de instrucciones, llamadas programas, o software. Un programa de software es un conjunto de sentencias o instrucciones al computador.
El proceso de escritura o codificación de un programa se denomina programación y las personas que se especializan en esta actividad se denominan programadores.
Existen dos tipos importantes de software: software del sistema y software de aplicaciones. Cada tipo realiza una función diferente.
Software del sistema es un conjunto generalizado de programas que gestiona los recursos del computador, tal como el procesador central, enlaces de comunicaciones y dispositivos periféricos.
Los programadores que escriben software del sistema se llaman programadores de sistemas.
Software de aplicaciones son el conjunto de programas escritos por empresas o usuarios individuales o en equipo y que instruyen a la computadora para que ejecute una tarea específica.
Los programadores que escriben software de aplicaciones se llaman programadores de aplicaciones.
Los dos tipos de software están relacionados entre sí, de modo que los usuarios y los programadores pueden hacer así un uso eficiente del computador.
En la figurase muestra una vista organizacional de un computador donde muestran los diferentes tipos de software a modo de capas de la computadora desde su interior (el hardware) hasta su exterior (usuario):
Las diferentes capas funcionan gracias a las instrucciones específicas (instrucciones máquina) que forman parte del software del sistema y llegan al software de aplicación, programado por los programadores de aplicaciones, que es utilizado por el usuario que no requiere ser un especialista.