Definition

¿Qué es un 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 utilizan el SO solicitando 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 (UI), como una interfaz de línea de comandos (CLI) o una interfaz gráfica de usuario (GUI).

¿Qué hace un sistema operativo?

Un sistema operativo aporta importantes ventajas al software informático y al desarrollo de software. Sin un sistema operativo, que es un software de sistema diseñado específicamente para ejecutar la computadora, cada aplicación tendría que incluir su propia interfaz de usuario, así como el código completo necesario para gestionar todas las funciones de bajo nivel del software de sistema de la computadora subyacente, como el almacenamiento en disco y las interfaces de red. Teniendo en cuenta la amplia gama de hardware subyacente disponible y la cantidad de rutinas de software que deben ejecutarse en el nivel de software del sistema para soportar las funciones de la computadora, esto aumentaría el tamaño de cada aplicación y haría que el desarrollo de software fuera poco práctico.

En cambio, el sistema operativo se encarga de muchas tareas de software a nivel de sistema, incluido el envío de un paquete de red o la visualización de texto en un dispositivo de salida estándar, como una pantalla. El software del sistema funciona como intermediario entre las aplicaciones y las funciones subyacentes del equipo y el hardware. El sistema operativo proporciona una forma consistente y repetible para que las aplicaciones interactúen con el hardware y otras funciones a nivel de sistema sin que las aplicaciones necesiten conocer ningún detalle sobre ellas.

Si cada aplicación accede a los mismos recursos y servicios de la misma manera, el sistema operativo –y el software de sistemas subyacentes con el que interactúa– puede dar servicio a casi cualquier cantidad 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 software y el hardware del sistema a través de una interfaz de sistema operativo común y bien entendida.

¿Cómo funciona un sistema operativo?

Una vez instalado, un sistema operativo se apoya en una gran biblioteca de controladores de dispositivos para adaptar sus servicios al entorno de hardware específico. Por ejemplo, cada aplicación podría realizar una llamada común a un dispositivo de almacenamiento. El sistema operativo recibe esa llamada y utiliza el controlador correspondiente para traducir la llamada en acciones o comandos necesarios para el hardware subyacente en esa computadora específica. El sistema operativo proporciona una plataforma integral que identifica, configura y administra lo siguiente:

  • Una gama de hardware, incluidos los procesadores.
  • Dispositivos de memoria y gestión de memoria de computadora.
  • Conjuntos de chips.
  • Almacenamiento.
  • Establecimiento de redes.
  • Interfaces de comunicación de puerto, como Video Graphics Array, High-Definition Multimedia Interface (HDMI) y Universal Serial Bus (USB).
  • Interfaces de subsistema, como Peripheral Component Interconnect Express.

¿Cuáles son las funciones de un sistema operativo?

Todas las principales plataformas informáticas –tanto de hardware como de software– generalmente requieren e incluyen un sistema operativo que debe desarrollarse con diferentes características para satisfacer las necesidades específicas de los distintos formatos de los dispositivos.

Desde la perspectiva del usuario final, un sistema operativo proporciona las siguientes tres capacidades esenciales:

  1. Ofrece una interfaz de usuario a través de una CLI o GUI.
  2. Lanza aplicaciones y administra su ejecución.
  3. Identifica y determina la asignación de recursos de hardware del sistema, como impresoras y unidades de disco de respaldo, a esas aplicaciones, generalmente a través de una API estandarizada.

Interfaz de usuario

El usuario puede interactuar con la computadora para realizar su trabajo a través de una GUI, que es una pantalla visual de apuntar y hacer clic que contiene íconos que activan funciones del sistema y lanzan aplicaciones, una CLI, que consiste en una única línea de comando para el ingreso de datos, o ambas.

Gestión de aplicaciones

La arquitectura de un sistema operativo.

Un sistema operativo se encarga del lanzamiento y la gestión de cada aplicación, que admite las siguientes funciones:

  • Compartir el tiempo de varios procesos o subprocesos para que varias tareas puedan compartir los recursos disponibles de los procesadores.
  • Gestiona las interrupciones que producen las aplicaciones para obtener la atención inmediata de un procesador, garantizando que haya suficiente memoria para ejecutar la aplicación y sus datos correspondientes sin interferir con otros procesos.
  • Realiza el manejo de errores que puede eliminar los procesos de una aplicación.
  • Realice la gestión de memoria sin interrumpir otras aplicaciones ni el sistema operativo.

Aprovisionamiento y ejecución de hardware

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

Programación y priorización de procesos

En un sistema operativo multitarea, en el que se pueden ejecutar varios programas al mismo tiempo, el SO determina en qué orden deben ejecutarse las aplicaciones y cuánto tiempo debe concederse a cada aplicación antes de darle turno a otra aplicación. Por ejemplo, el SO puede determinar si un trabajo por lotes, como una tarea de impresión grande, se puede programar para que se ejecute más tarde, cuando los recursos estén libres.

Procesamiento paralelo

En las computadoras que pueden proporcionar procesamiento paralelo, un sistema operativo administra cómo dividir un programa para que se ejecute en más de un procesador a la vez.

Gestión de archivos

A petición del usuario, por conjunto de reglas de TI o por configuración predeterminada, un sistema operativo gestiona la creación, el acceso, la modificación y la eliminación de archivos y directorios.

Redes

De manera transparente para el usuario, el sistema operativo conecta automáticamente una estación de trabajo a los recursos de toda la red descifrando los protocolos de red y conectándose a las redes. Esto permite que un solo usuario acceda a las impresoras y servidores de red alojados en la red.

Seguridad

Utilizando políticas definidas y autorizadas por TI, el sistema operativo aplica controles de acceso de seguridad y cifrado para usuarios, aplicaciones y datos.

Monitoreo del rendimiento y detección de errores

El sistema operativo monitorea continuamente el rendimiento de la computadora y produce registros del sistema que ayudan a realizar ajustes para lograr un rendimiento óptimo y resolver problemas relacionados con la utilización de recursos, desaceleraciones y cuellos de botella en el rendimiento y resolución de errores.

Copia de seguridad y recuperación

Se pueden realizar copias de seguridad de los datos periódicamente durante el día, la noche, la semana o con la frecuencia que se defina. El sistema operativo puede realizar estas copias de seguridad de forma automática, sin necesidad de asistencia del usuario o del departamento de TI. Si se produce una interrupción del suministro de datos o una falla del sistema, los datos se pueden recuperar fácilmente a partir de la última copia de seguridad.

Virtualización

La mayoría de los sistemas operativos permiten a los usuarios definir varios sistemas operativos que se ejecutan de forma independiente mediante particiones creadas por software que separan cada sistema operativo de los demás en una única estación de trabajo física. Esto permite al usuario ejecutar varias aplicaciones, cada una con su propio sistema operativo dedicado, simultáneamente en una única estación de trabajo para optimizar el rendimiento.

Gestión de dispositivos

Un sistema operativo identifica, configura y proporciona a las aplicaciones acceso común a los dispositivos de entrada y salida subyacentes, como impresoras, teclados y otros dispositivos de hardware informático. A medida que el sistema operativo reconoce e identifica el hardware, instala los controladores y las interfaces de dispositivo correspondientes que permiten que el sistema operativo y las aplicaciones que se ejecutan en el sistema operativo utilicen los dispositivos.

Un sistema operativo identifica la impresora correcta e instala los controladores de impresora adecuados para que una aplicación solo tenga que realizar llamadas a la impresora sin tener que usar códigos o comandos específicos de esa impresora. El proceso es similar para otros dispositivos, incluidos los siguientes:

  • Puertos USB.
  • Puertos de red.
  • Dispositivos gráficos, como unidades de procesamiento gráfico.
  • Chipsets de placa base.
  • Dispositivos de almacenamiento, como adaptadores de disco SCSI conectados en serie y discos formateados con un sistema de archivos adecuado.

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

Tipos de sistemas operativos y ejemplos

Si bien las funciones fundamentales de un sistema operativo son omnipresentes, existen innumerables sistemas operativos que atienden una amplia gama de necesidades de hardware y de usuarios, incluidos los siguientes:

Sistemas operativos de propósito general

Un sistema operativo de uso general puede ejecutar una multitud de aplicaciones en una amplia selección de hardware, lo que permite a un usuario ejecutar una o más aplicaciones o tareas simultáneamente. Un sistema operativo de uso general se puede instalar 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 uso general suelen centrarse en la gestión de procesos o subprocesos y hardware para garantizar que las aplicaciones puedan compartir de forma fiable la amplia gama de hardware informático presente.

Los sistemas operativos de escritorio más comunes incluyen los siguientes:

  • Windows, el sistema operativo estrella de Microsoft, es el estándar de facto para computadoras domésticas y de empresa. Presentado en 1985, el sistema operativo Microsoft Windows basado en interfaz gráfica de usuario ha sido lanzado en muchas versiones desde entonces. El sistema operativo Windows 95, de fácil manejo, fue en gran medida responsable del rápido desarrollo de la informática personal.
  • Mac OS es el sistema operativo para la línea de PC y estaciones de trabajo 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 tipo Unix de la comunidad de código abierto que fue diseñado para brindarles a los usuarios de PC una alternativa de sistema operativo gratuita o de bajo costo. Linux tiene reputación de ser un sistema operativo eficiente y de rápido rendimiento.

Sistemas operativos móviles

Los sistemas operativos móviles están diseñados para dispositivos móviles centrados en la comunicación y la computació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 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 la atención minuciosa a las tareas de manejo de datos, como la compatibilidad con la transmisión de medios. Apple iOS y Android son ejemplos de sistemas operativos móviles.

Sistemas operativos integrados

No todos los dispositivos informáticos son de uso general. Una gran variedad de dispositivos dedicados –entre ellos, asistentes digitales domésticos, cajeros automáticos, sistemas de aviones, terminales de puntos de venta minoristas y dispositivos de internet de las cosas– utilizan sistemas operativos más personalizados y "reducidos". La principal diferencia entre los sistemas operativos integrados y los de uso general es que los dispositivos en los que se integran los sistemas operativos integrados hacen una sola cosa importante, por lo que el sistema operativo está muy simplificado y dedicado tanto al rendimiento como a la resistencia.

El sistema operativo integrado debe ejecutarse rápidamente, no bloquearse y manejar todos los errores con elegancia para seguir funcionando en todas las circunstancias. En la mayoría de los casos, el sistema operativo se proporciona en un chip que está incorporado al dispositivo real. Un dispositivo médico utilizado en el equipo de soporte vital de un paciente, por ejemplo, emplea un sistema operativo integrado que debe ejecutarse de manera confiable para mantener vivo al paciente. Linux integrado es un ejemplo de un sistema operativo integrado.

Sistemas operativos 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. Un NOS proporciona la pila de comunicación necesaria para comprender los protocolos de red para crear, intercambiar y descomponer paquetes de red. Hoy en día, el concepto de un NOS especializado está en gran medida obsoleto porque otros sistemas operativos manejan la comunicación de red. Windows 10 y Windows Server 2019, por ejemplo, incluyen capacidades de red integrales. El concepto de un NOS todavía se usa para algunos dispositivos de red, como enrutadores, conmutadores y firewalls, y los fabricantes emplean NOS propietarios, incluido Cisco Internetwork Operating System y el NOS RouterOS de código abierto de MikroTik.

Sistemas operativos en tiempo real

Cuando un dispositivo informático debe interactuar con el mundo real dentro de restricciones 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 una planta de energía en expansión. Una instalación de este tipo produce señales de una gran cantidad de sensores y envía 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 almacenamiento en búfer, latencias de procesamiento y otros retrasos, que son perfectamente aceptables en otros tipos de sistemas operativos. Algunos ejemplos de RTOS son FreeRTOS y Wind River VxWorks.

Las diferencias entre los tipos de sistemas operativos no son absolutas, y algunos sistemas operativos pueden compartir características con otros. Por ejemplo, los sistemas operativos de uso general suelen incluir las capacidades de red que se encuentran en un sistema operativo de red tradicional. De manera similar, un sistema operativo integrado suele incluir atributos de un sistema operativo de red (RTOS), mientras que un sistema operativo móvil normalmente puede ejecutar numerosas aplicaciones simultáneamente como otros sistemas operativos de uso general.

Sistemas operativos distribuidos

Un sistema operativo distribuido instalado en una red puede proporcionar servicio a una multitud de estaciones de trabajo, especialmente a computadoras de cliente ligero que tienen pocas o ninguna aplicación residente o datos en ellas. Múltiples usuarios acceden y comparten aplicaciones y recursos que están alojados en estos servidores de red distribuidos más grandes, y los sistemas operativos en estos servidores administran las solicitudes de acceso y el consumo de recursos de múltiples estaciones de trabajo de usuarios. Algunos ejemplos de sistemas operativos distribuidos son Microsoft Windows Server y varias distribuciones de Linux de código abierto para servidores.

Sistemas operativos en clúster

Los sistemas operativos en clúster son sistemas operativos diseñados para ejecutar un grupo de computadoras que trabajan juntas en un solo sistema. El procesamiento de inteligencia artificial es un excelente ejemplo de computación en clúster, ya que requiere el procesamiento rápido, simultáneo y paralelo de datos. Los sistemas informáticos de alto rendimiento en los que se deben procesar miles de transacciones simultáneamente y en tiempo real –como los sistemas de corretaje– son otro caso de uso de la computación en clúster. Rocks Cluster Distribution y Open MPI de código abierto son dos ejemplos de sistemas operativos de computación en clúster.

Investigue más sobre Windows