Un sistema operativo (o SO) es un conjunto de programas informáticos, incluidos los controladores de dispositivos, los kernels y otros programas que permiten interactuar con un ordenador. Gestiona los recursos de hardware y software del ordenador. Proporciona servicios comunes a los programas informáticos. Un sistema operativo puede ser pequeño (como MenuetOS) o grande (como Microsoft Windows). Los distintos sistemas operativos pueden utilizarse para diferentes propósitos. Algunos se utilizan para cosas cotidianas, como en un ordenador personal. Otros son sistemas operativos móviles o se utilizan para trabajos especializados.
Un sistema operativo tiene muchas funciones. Se asegura de que todos los programas puedan utilizar la CPU, la memoria del sistema, las pantallas, los dispositivos de entrada y otro hardware. Algunos también proporcionan al usuario una interfaz para utilizar un ordenador. Un sistema operativo también es responsable de enviar datos a otros ordenadores o dispositivos en una red.
Algunos ejemplos de sistemas operativos comúnmente utilizados son macOS, Linux y Microsoft Windows.
Funciones principales
- Gestión de procesos: crea, programa y finaliza procesos; realiza el cambio de contexto entre tareas y administra la multitarea.
- Gestión de memoria: asigna y libera memoria para procesos, controla la memoria virtual y evita que procesos interfieran entre sí.
- Gestión de almacenamiento y sistemas de archivos: organiza datos en discos y otros medios, controla permisos y realiza operaciones de lectura/escritura.
- Controladores de dispositivos: gestiona la comunicación con impresoras, tarjetas de red, pantallas, discos y demás hardware.
- Interfaz de usuario: ofrece interfaces gráficas o de línea de comandos para que las personas ejecuten programas y configuren el sistema (interfaz).
- Comunicación en red: envía y recibe datos a través de redes, gestiona protocolos y permite servicios en red (red).
- Seguridad y control de acceso: autentica usuarios, aplica permisos, aísla procesos y proporciona mecanismos para proteger datos y servicios.
- Servicios del sistema y demonios: ejecuta tareas en segundo plano como actualizaciones, copias de seguridad y supervisión de recursos.
- Gestión del arranque: inicializa hardware y carga el kernel al encender la máquina.
Componentes principales
- Kernel: núcleo que controla el acceso al CPU, memoria y dispositivos. Puede ser monolítico (muchas funciones en el kernel) o microkernel (kernel mínimo y servicios en espacio de usuario).
- Sistema de archivos: estructura para almacenar y recuperar archivos en los discos.
- Controladores de dispositivo: software que traduce las órdenes del sistema operativo al lenguaje del hardware.
- Shell o interfaz: intérprete de comandos o entorno gráfico que permite al usuario interactuar con el sistema.
- Bibliotecas y utilidades: herramientas y rutinas que facilitan el desarrollo y la ejecución de aplicaciones.
Tipos de sistemas operativos
- Sistemas para ordenadores personales: orientados a usuarios finales (por ejemplo, Microsoft Windows, macOS, muchas distribuciones de Linux).
- Sistemas móviles: diseñados para teléfonos y tablets (mencionados como sistemas operativos móviles), como Android e iOS.
- Sistemas de servidor: optimizados para ofrecer servicios en red, bases de datos y virtualización (ej.: Windows Server, diversas distribuciones de Linux para servidor).
- Sistemas embebidos: integrados en dispositivos específicos (electrodomésticos, automoción, electrónica de consumo); suelen ser ligeros y muy optimizados (MenuetOS es un ejemplo de SO pequeño: MenuetOS).
- Sistemas en tiempo real (RTOS): garantizan respuestas deterministas en plazos estrictos (ej.: VxWorks, FreeRTOS) para control industrial, automoción y aeroespacial.
- Sistemas distribuidos: coordinan múltiples ordenadores para trabajar como unidad, usados en clústeres, grandes servicios en la nube y computación de alto rendimiento.
- Mainframes y sistemas especializados: sistemas como z/OS para grandes entornos empresariales con alta fiabilidad.
Ejemplos y contextos de uso
- Escritorio y portátil: Microsoft Windows, macOS, distribuciones de Linux (por ejemplo, Ubuntu, Fedora, Debian).
- Móviles y tablets: sistemas basados en Android e iOS (mencionados dentro de los sistemas operativos móviles).
- Servidores: Linux (varias distribuciones de servidor), Windows Server, sistemas BSD para determinadas aplicaciones de red.
- Embebidos y tiempo real: MenuetOS (ejemplo de SO pequeño), RTOS comerciales y de código abierto en automoción y dispositivos IoT.
Cómo interactúan los programas con el sistema operativo
- Los programas solicitan servicios al sistema operativo mediante llamadas al sistema (system calls). Estas solicitudes permiten usar la CPU, memoria y dispositivos.
- El SO responde a interrupciones del hardware (por ejemplo, cuando llega un paquete de red o se pulsa una tecla) y coordina las acciones necesarias.
- La planificación de procesos determina qué programa usa la CPU en cada momento para ofrecer multitarea eficiente.
Consideraciones al elegir un sistema operativo
- Compatibilidad de hardware y software: verifica controladores y aplicaciones disponibles.
- Seguridad y actualizaciones: soporte de parches y gestión de vulnerabilidades.
- Rendimiento y recursos: algunos SO son ligeros y adecuados para hardware limitado; otros requieren más recursos.
- Soporte y comunidad: disponibilidad de documentación, soporte comercial o comunidades activas.
- Coste y licencias: software libre vs. propietario, modelos de suscripción para servidores y móviles.
- Requerimientos especiales: determinismo (para RTOS), alta disponibilidad (para servidores), o seguridad reforzada (para entornos sensibles).
Tendencias actuales
- Virtualización y contenedores: ayudan a aislar y desplegar servicios de forma flexible (máquinas virtuales, Docker, Kubernetes).
- Computación en la nube: SO optimizados para entornos distribuido y escalable.
- Internet de las cosas (IoT): crecimiento de sistemas embebidos y SO muy ligeros.
- Seguridad y hardening: aumento de mecanismos integrados para protección ante amenazas cada vez más sofisticadas.
En resumen, un sistema operativo es la capa esencial que permite que el ordenador y sus programas funcionen de forma coherente y segura. Gestiona recursos como la CPU y la memoria, facilita la comunicación con el hardware y ofrece servicios de red y seguridad. Según el uso —personal, móvil, servidor, embebido o tiempo real— existen distintos tipos de sistemas operativos adaptados a necesidades concretas, desde MenuetOS hasta Microsoft Windows, macOS o Linux.


