El principal tipo de software del sistema es el Sistema Operativo. Generalmente se compone de muchos programas separados; hay controladores para cada uno de los dispositivos conectados al ordenador, como monitores, teclados, HDD, SSD, ratón, etc. La característica distintiva de todos estos programas es que proporcionan la programación de bajo nivel para interactuar directamente con los diversos componentes de hardware. También proporcionan una interfaz a la que el software de aplicación puede conectarse. Su principal objetivo es evitar que el programador de la aplicación tenga que programar cada pieza de hardware por separado. El código de la aplicación se limita a enviar una orden al software del sistema para que haga algo, como «leer la siguiente línea de texto del disco duro». El software del sistema hace un seguimiento de dónde se encuentra la siguiente línea de texto y realiza los pasos necesarios para leer bytes de datos desde ese punto del disco duro hasta que detecta el final de esa línea de texto. En el proceso, si encuentra un error puede tomar alguna acción correctiva para intentar resolver el error, o puede simplemente devolver un código de error a la aplicación. Asumiendo que la operación de lectura fue exitosa, el software del sistema almacena internamente el lugar donde dejó de leer en caso de que se solicite la siguiente línea de texto y termina el proceso. Haciendo las cosas de esta manera, si el disco duro se cambia por uno de mayor o menor capacidad, o uno que tenga características internas diferentes. el programa de aplicación seguirá funcionando correctamente ya que el software del sistema podrá ajustarse a las diferencias de hardware internamente.