Definition

Sistema operativo

Un sistema operativo (SO) es el programa que, después de ser cargado inicialmente en la computadora por un programa de arranque, administra todos los demás programas de aplicación en una computadora. Los programas de aplicación hacen uso del sistema operativo al realizar solicitudes de servicios a través de una interfaz de programa de aplicación (API) definida. Además, los usuarios pueden interactuar directamente con el sistema operativo a través de una interfaz de usuario, como una interfaz de línea de comandos (CLI) o una interfaz de usuario gráfica (GUI).

¿Por qué utilizar un sistema operativo?

Un sistema operativo aporta poderosos beneficios al software informático y al desarrollo de software. Sin un sistema operativo, cada aplicación debería incluir su propia interfaz de usuario, así como el código completo necesario para manejar todas las funciones de bajo nivel de la computadora subyacente, como almacenamiento en disco, interfaces de red, etc. Teniendo en cuenta la amplia gama de hardware subyacente disponible, esto aumentaría enormemente el tamaño de cada aplicación y haría que el desarrollo de software no fuera práctico.

En cambio, muchas tareas comunes, como enviar un paquete de red o mostrar texto en un dispositivo de salida estándar, como una pantalla, se pueden descargar al software del sistema que sirve como intermediario entre las aplicaciones y el hardware. El software del sistema proporciona una forma coherente y repetible para que las aplicaciones interactúen con el hardware sin que las aplicaciones necesiten conocer ningún detalle sobre el hardware.

Siempre que cada aplicación acceda a los mismos recursos y servicios de la misma manera, ese software de sistema —el sistema operativo— puede dar servicio a casi cualquier número de aplicaciones. Esto reduce enormemente la cantidad de tiempo y codificación necesarios para desarrollar y depurar una aplicación, al tiempo que garantiza que los usuarios puedan controlar, configurar y administrar el hardware del sistema a través de una interfaz común y bien entendida.

Una vez instalado, el sistema operativo se basa en una amplia biblioteca de controladores de dispositivos para adaptar los servicios del sistema operativo al entorno de hardware específico. Por lo tanto, cada aplicación puede realizar una llamada común a un dispositivo de almacenamiento, pero el sistema operativo recibe esa llamada y usa el controlador correspondiente para traducir la llamada en acciones (comandos) necesarios para el hardware subyacente en esa computadora específica. Hoy en día, el sistema operativo proporciona una plataforma integral que identifica, configura y administra una variedad de hardware, incluidos los procesadores; dispositivos de memoria y gestión de memoria; conjuntos de chips; almacenamiento; redes; comunicación de puertos, como Video Graphics Array (VGA), High-Definition Multimedia Interface (HDMI) y Universal Serial Bus (USB); e interfaces de subsistema, como Peripheral Component Interconnect Express (PCIe).

Funciones de un sistema operativo

Un sistema operativo proporciona tres capacidades esenciales: ofrece una interfaz de usuario a través de una CLI o una interfaz gráfica de usuario; lanza y gestiona la ejecución de la aplicación; e identifica y expone los recursos de hardware del sistema a esas aplicaciones — por lo general, a través de una API estandarizada.

  1. Cada sistema operativo requiere una interfaz de usuario, lo que permite a los usuarios y administradores interactuar con el sistema operativo para instalar, configurar e incluso solucionar problemas del sistema operativo y su hardware subyacente. Hay dos tipos principales de UI disponibles: CLI y GUI.

La CLI, o ventana de modo terminal, proporciona una interfaz basada en texto donde los usuarios confían en el teclado tradicional para ingresar comandos, parámetros y argumentos específicos relacionados con tareas específicas. La GUI, o escritorio, proporciona una interfaz visual basada en iconos y símbolos en la que los usuarios confían en los gestos entregados por dispositivos de interfaz humana, como paneles táctiles, pantallas táctiles y dispositivos de mouse.

La GUI es utilizada con mayor frecuencia por usuarios ocasionales o finales que están interesados ​​principalmente en manipular archivos y aplicaciones, como hacer doble clic en el icono de un archivo para abrir el archivo en su aplicación predeterminada. La CLI sigue siendo popular entre los usuarios avanzados y los administradores de sistemas que deben manejar una serie de comandos repetitivos y altamente granulares de manera regular, como crear y ejecutar scripts para configurar nuevas computadoras personales (PC) para los empleados.

Gestión de aplicaciones. Un sistema operativo maneja el lanzamiento y la administración de cada aplicación. Por lo general, esto admite una variedad de comportamientos, incluido el tiempo compartido de múltiples procesos o subprocesos, de modo que varias tareas puedan compartir el tiempo de los procesadores disponibles; manejar las interrupciones que producen las aplicaciones para obtener la atención inmediata de un procesador, asegurando que haya suficiente memoria para ejecutar la aplicación y sus datos correspondientes sin interferir con otros procesos; llevar a cabo un manejo de errores que pueda eliminar fácilmente los procesos de una aplicación; y realizar la gestión de la memoria sin interrumpir otras aplicaciones o el sistema operativo.

Un sistema operativo también puede admitir API que permiten que las aplicaciones utilicen funciones de hardware y SO sin la necesidad de saber nada sobre el estado del hardware o del SO de bajo nivel. Por ejemplo, una API de Windows puede permitir que un programa obtenga información de un teclado o mouse; crear elementos GUI, como botones y ventanas de diálogo; leer y escribir archivos en un dispositivo de almacenamiento; y más. Las aplicaciones casi siempre están diseñadas para usar el sistema operativo en el que la aplicación pretende ejecutarse.

Además, un sistema operativo puede realizar los siguientes servicios para aplicaciones:

  • En un sistema operativo multitarea, donde se pueden ejecutar varios programas al mismo tiempo, el sistema operativo determina qué aplicaciones deben ejecutarse en qué orden y cuánto tiempo se debe permitir para cada aplicación antes de darle un turno a otra aplicación.
  • Maneja entrada/salida (E/S) hacia y desde dispositivos de hardware conectados, como discos duros, impresoras y puertos de acceso telefónico.
  • Envía mensajes a cada aplicación o usuario interactivo —o al operador del sistema— sobre el estado de funcionamiento y cualquier error que pueda haber ocurrido.
  • Puede descargar la gestión de trabajos por lotes —por ejemplo, la impresión— de modo que la aplicación de inicio se libere de este trabajo.
  • En las computadoras que pueden proporcionar procesamiento paralelo, un sistema operativo puede administrar cómo dividir el programa para que se ejecute en más de un procesador a la vez.

Todas las principales plataformas informáticas (hardware y software) requieren, y en ocasiones incluyen, un sistema operativo, y los sistemas operativos deben desarrollarse con diferentes características para satisfacer las necesidades específicas de varios factores de forma.

Gestión de dispositivos. Un sistema operativo es responsable de identificar, configurar y proporcionar aplicaciones con acceso común a los dispositivos de hardware informáticos subyacentes. A medida que el sistema operativo reconoce e identifica el hardware, el sistema operativo instalará los controladores de dispositivo correspondientes que permiten que el sistema operativo y las aplicaciones que se ejecutan en el sistema operativo utilicen los dispositivos sin ningún conocimiento específico del hardware o los dispositivos.

Un sistema operativo es responsable de identificar la impresora correcta e instalar los controladores de impresora adecuados para que una aplicación solo necesite hacer llamadas a la impresora sin tener que usar códigos o comandos que son específicos de esa impresora; ese es el trabajo del sistema operativo. La situación es similar para otros dispositivos, como los puertos USB; puertos de red; dispositivos gráficos, como unidades de procesamiento de gráficos (GPU); conjuntos de chips de placa base; y dispositivos de almacenamiento, como adaptadores de disco SCSI conectados en serie (SAS) y discos formateados con un sistema de archivos adecuado.

El sistema operativo identifica y configura dispositivos físicos y lógicos para el servicio y, por lo general, los registra en una estructura estandarizada, como el Registro de Windows. Los fabricantes de dispositivos parchean y actualizan los controladores periódicamente, y el sistema operativo debe actualizarlos para garantizar el mejor rendimiento y seguridad del dispositivo. Cuando se reemplazan los dispositivos, el sistema operativo también instala y configura nuevos controladores.

Tipos y ejemplos de sistemas operativos

Aunque las funciones fundamentales de un sistema operativo son omnipresentes, existen innumerables sistemas operativos que satisfacen una amplia gama de necesidades de hardware y usuarios.

Sistema operativo de propósito general. Un SO de propósito general representa una serie de sistemas operativos destinados a ejecutar una multitud de aplicaciones en una amplia selección de hardware, lo que permite al usuario ejecutar una o más aplicaciones o tareas simultáneamente. Se puede instalar un sistema operativo de uso general en muchos modelos diferentes de computadoras de escritorio y portátiles y ejecutar aplicaciones, desde sistemas de contabilidad hasta bases de datos, navegadores web y juegos. Los sistemas operativos de propósito general generalmente se enfocan en la administración de procesos (subprocesos) y hardware para garantizar que las aplicaciones puedan compartir de manera confiable la amplia gama de hardware informático presente.

Los sistemas operativos de escritorio comunes incluyen los siguientes:

  • Windows es el sistema operativo insignia de Microsoft, el estándar de facto para computadoras domésticas y comerciales. Introducido en 1985, el sistema operativo basado en GUI se ha lanzado en muchas versiones desde entonces. Windows 95, de fácil uso, fue en gran parte responsable del rápido desarrollo de la informática personal.
  • Mac OS es el sistema operativo de la línea de PC y estaciones de trabajo Macintosh de Apple.
  • Unix es un sistema operativo multiusuario diseñado para ofrecer flexibilidad y adaptabilidad. Desarrollado originalmente en la década de 1970, Unix fue uno de los primeros sistemas operativos escritos en lenguaje C.
  • Linux es un sistema operativo similar a Unix que fue diseñado para brindar a los usuarios de PC una alternativa gratuita o de bajo costo. Linux tiene la reputación de ser un sistema eficiente y de rendimiento rápido.

Sistema operativo móvil. Los sistemas operativos móviles están diseñados para adaptarse a las necesidades únicas de la informática móvil y los dispositivos centrados en la comunicación, como teléfonos inteligentes y tabletas. Los dispositivos móviles suelen ofrecer recursos informáticos limitados en comparación con las PC tradicionales, y el sistema operativo debe reducirse en tamaño y complejidad para minimizar su propio uso de recursos, al tiempo que se garantizan los recursos adecuados para una o más aplicaciones que se ejecutan en el dispositivo. Los sistemas operativos móviles tienden a enfatizar el rendimiento eficiente, la capacidad de respuesta del usuario y una gran atención a las tareas de manejo de datos, como el soporte de transmisión de medios. Apple iOS y Google Android son ejemplos de sistemas operativos móviles.

Sistema operativo integrado. No todos los dispositivos informáticos son de uso general. Una gran variedad de dispositivos dedicados —incluidos asistentes digitales domésticos, cajeros automáticos (ATM), sistemas de aviones, terminales de punto de venta minorista (POS) y dispositivos de internet de las cosas (IoT)— incluye computadoras que requieren un sistema operativo. La principal diferencia es que el dispositivo informático asociado solo hace una cosa importante, por lo que el sistema operativo está muy reducido y dedicado tanto al rendimiento como a la resistencia. El sistema operativo debe ejecutarse rápidamente, no fallar, y manejar todos los errores con elegancia para continuar funcionando en todas las circunstancias. En la mayoría de los casos, el sistema operativo se proporciona en un chip que se incorpora al dispositivo real. Un dispositivo médico utilizado en el equipo de soporte vital de un paciente, por ejemplo, empleará un sistema operativo integrado que debe funcionar de manera confiable para mantener vivo al paciente. Linux embebido es un ejemplo de sistema operativo embebido.

Sistema operativo de red. Un sistema operativo de red (NOS) es otro sistema operativo especializado destinado a facilitar la comunicación entre dispositivos que operan en una red de área local (LAN). Un NOS proporciona la pila de comunicación necesaria para comprender los protocolos de red con el fin de crear, intercambiar y descomponer paquetes de red. Hoy en día, el concepto de un NOS especializado es en gran parte obsoleto porque otros tipos de sistemas operativos manejan en gran medida la comunicación de red. Windows 10 y Windows Server 2019, por ejemplo, incluyen capacidades de red integrales. El concepto de NOS todavía se usa para algunos dispositivos de red, como enrutadores, conmutadores y firewalls, y los fabricantes pueden emplear NOS patentados, incluidos Cisco Internetwork Operating System (IOS), RouterOS y ZyNOS.

Sistema operativo en tiempo real. Cuando un dispositivo informático debe interactuar con el mundo real dentro de limitaciones de tiempo constantes y repetibles, el fabricante del dispositivo puede optar por utilizar un sistema operativo en tiempo real (RTOS). Por ejemplo, un sistema de control industrial puede dirigir las operaciones de una fábrica o planta de energía en expansión. Tal instalación producirá señales de innumerables sensores y también enviará señales para operar válvulas, actuadores, motores e innumerables otros dispositivos. En estas situaciones, el sistema de control industrial debe responder de manera rápida y predecible a las condiciones cambiantes del mundo real — de lo contrario, podría producirse un desastre. Un RTOS debe funcionar sin búfer, latencias de procesamiento y otros retrasos, que son perfectamente aceptables en otros tipos de sistemas operativos. Dos ejemplos de RTOS incluyen FreeRTOS y VxWorks.

Las diferencias entre los tipos de sistemas operativos no son absolutas y algunos sistemas operativos pueden compartir características de otros. Por ejemplo, los sistemas operativos de propósito general incluyen de forma rutinaria las capacidades de red que se encuentran en un NOS tradicional. De manera similar, un sistema operativo integrado comúnmente incluye atributos de un RTOS, mientras que un sistema operativo móvil aún puede ejecutar numerosas aplicaciones simultáneamente como otros sistemas operativos de propósito general.

Este contenido se actualizó por última vez en septiembre 2021

Investigue más sobre Linux y código abierto