Software del sistema : programas que resuelven problemas de naturaleza informática general: asignación y uso compartido de recursos, acceso a dispositivos, provisión de entornos para desarrollar, iniciar y ejecutar otros programas.
Programación de sistemas : creación de software de sistemas; programador de sistemas - un desarrollador de software de sistema.
A diferencia del software de aplicación , el software del sistema no resuelve problemas prácticos específicos, sino que solo garantiza el funcionamiento de otros programas, brindándoles funciones de servicio que abstraen los detalles de la implementación de hardware y firmware del sistema informático, administra los recursos de hardware del sistema informático. .
La asignación de este o aquel software al sistema es condicional y depende de las convenciones utilizadas en un contexto particular. Por regla general, el software del sistema incluye sistemas operativos , utilidades , sistemas de programación , sistemas de gestión de bases de datos , una amplia clase de middleware .
Un sistema operativo es un conjunto de programas del sistema que amplía las capacidades de un sistema informático, además de proporcionar la gestión de sus recursos, cargar y ejecutar programas de aplicación e interactuar con los usuarios. En la mayoría de los sistemas informáticos, los sistemas operativos son la pieza principal, más importante (ya veces la única) del software del sistema.
Funciones principales (los sistemas operativos más simples):
Hay dos grupos de definiciones de sistemas operativos: "un conjunto de programas que controlan el hardware" y "un conjunto de programas que controlan otros programas". Ambos tienen su significado técnico exacto, que, sin embargo, se vuelve claro solo al examinar más de cerca la cuestión de por qué se necesitan los sistemas operativos.
Existen aplicaciones informáticas para las que los sistemas operativos son redundantes. Por ejemplo, las microcomputadoras integradas se encuentran hoy en muchos electrodomésticos, automóviles (a veces una docena cada uno), teléfonos celulares, etc. A menudo, una computadora de este tipo ejecuta constantemente solo un programa que se inicia cuando se enciende. Y las consolas de juegos simples, también las microcomputadoras especializadas, pueden prescindir de un sistema operativo, iniciando un programa grabado en un "cartucho" o CD insertado cuando se enciende . Sin embargo, algunas microcomputadoras y consolas de juegos aún ejecutan sistemas operativos patentados especiales. En la mayoría de los casos, estos son sistemas similares a UNIX (este último es especialmente cierto para equipos de conmutación programables: firewalls , enrutadores ).
Los precursores de los sistemas operativos deben considerarse programas de utilidad ( cargadores y monitores), así como bibliotecas de subrutinas de uso frecuente que comenzaron a desarrollarse con la llegada de las computadoras centrales de primera generación (finales de la década de 1940 ). Los programas de utilidad minimizaban las manipulaciones físicas del operador con el equipo, y las bibliotecas permitían evitar la programación repetida de las mismas acciones (realizar operaciones de E/S , calcular funciones matemáticas, etc.).
En las décadas de 1950 y 1960 se formaron e implementaron las ideas principales que determinaron la funcionalidad de los sistemas operativos: modo por lotes, tiempo compartido y multitarea, separación de poderes, tiempo real, estructuras de archivos, sistemas de archivos .
Los programas integrados o firmware son programas que están "cableados" en dispositivos electrónicos digitales. En algunos casos (por ejemplo, el BIOS de las computadoras compatibles con IBM-PC ) son esencialmente parte del sistema operativo almacenado en la memoria permanente. En dispositivos bastante simples, se puede integrar todo el sistema operativo. Muchos dispositivos de las computadoras modernas tienen su propio "firmware" que controla estos dispositivos y simplifica la interacción con ellos.
Utilidades ( utilidad o herramienta en inglés ): programas diseñados para resolver una gama limitada de tareas auxiliares. Las utilidades a veces se clasifican en la clase de software de utilidad .
Las utilidades se utilizan para monitorear el rendimiento del sensor y del hardware (por ejemplo, monitorear las temperaturas del procesador o del adaptador de video), administrar los parámetros del hardware (limitar la velocidad de rotación máxima de una unidad de CD; cambiar la velocidad del ventilador), monitorear los indicadores (verificar la integridad referencial; corregir los datos). grabación), ampliar funciones (formatear o volver a particionar el disco con conservación de datos, eliminación sin posibilidad de recuperación).
Esta categoría incluye programas de sistema diseñados para el desarrollo de software:
Un sistema de administración de bases de datos (DBMS) es un programa especializado (generalmente un conjunto de programas) diseñado para organizar y mantener una base de datos.
Dado que los sistemas de gestión de bases de datos no son un componente obligatorio de un sistema informático, a menudo no se clasifican como software de sistema. A menudo, DBMS solo realiza una función de servicio cuando se ejecutan otros tipos de programas (servidores web, servidores de aplicaciones), por lo que no siempre se pueden atribuir al software de aplicación. Por lo tanto, el DBMS a veces se denomina middleware .