Existen y han existido una gran variedad de sistemas operativos, cuyos objetivos son y fueron distintos por la epoca en la que fueron diseñados y la evolución de la tecnología en dicho momento.
La evolución de los sistemas operativos refleja cómo han cambiado las necesidades de los usuarios y de la tecnología a lo largo del tiempo. Desde los primeros sistemas monotarea hasta los modernos sistemas en la nube, cada tipo de sistema operativo se ha diseñado con unos objetivos concretos y ha dado respuesta a diferentes contextos: científicos, industriales, empresariales o de uso personal.
En la siguiente tabla se resumen los principales tipos de sistemas operativos, sus características clave, sus objetivos y sus ámbitos de uso más habituales.
Tipo de SO | Ejemplos históricos / actuales | Características principales | Objetivos / Ventajas | Usos principales |
---|---|---|---|---|
Monotarea, Monousuario | MS-DOS, CP/M | Solo un usuario, un programa en ejecución a la vez | Simplicidad, poco consumo de recursos | PCs de los 80, sistemas embebidos simples |
Monotarea, Multiusuario | Algunos sistemas de control industrial | Varios usuarios, pero solo un programa a la vez | Compartir recursos entre usuarios aunque con ejecución limitada | Sistemas antiguos de terminales |
Multitarea, Monousuario | Windows 3.x, MacOS clásico | Un solo usuario, varios programas concurrentes | Mejor experiencia de usuario, ejecución simultánea de aplicaciones | PCs personales |
Multitarea, Multiusuario | UNIX, Linux, Windows NT/2000+, macOS X | Varios usuarios, múltiples procesos simultáneos | Aprovechar hardware, seguridad entre usuarios, escalabilidad | Servidores, estaciones de trabajo, PCs actuales |
Batch (procesamiento por lotes) | IBM OS/360, sistemas mainframe antiguos | Procesa trabajos en cola sin interacción directa | Maximizar rendimiento del hardware, optimizar tiempo de CPU | Mainframes, cálculos científicos antiguos |
Interactivos (tiempo compartido) | UNIX (años 70), Multics | Varios usuarios interactúan en sesiones concurrentes | Compartir CPU entre usuarios en tiempo real | Universidades, laboratorios, minicomputadoras |
Tiempo Real (RTOS) | VxWorks, QNX, FreeRTOS, RT-Linux | Respuestas deterministas y rápidas, prioridad en tareas críticas | Garantizar tiempos de respuesta predecibles | Industria, automoción, aeronáutica, telecomunicaciones |
Distribuidos | Amoeba, Plan 9, sistemas basados en clúster | Conjunto de máquinas visto como un solo sistema | Transparencia de localización, escalabilidad, tolerancia a fallos | Clústeres de investigación, servidores en red |
Embebidos | Android Things, sistemas en routers, IoT | SO reducido, adaptado a dispositivos con pocos recursos | Optimizar consumo y tamaño, integrarse con hardware específico | IoT, electrodomésticos, coches, móviles |
De red | Novell NetWare, Windows Server, Linux Server | Centrados en servicios de red, gestión de usuarios y recursos compartidos | Compartir archivos, impresoras, servicios de autenticación | Empresas, servidores de red local |
Móviles | Android, iOS, KaiOS | Diseñados para dispositivos móviles, optimizados para batería y sensores | Interfaz táctil, seguridad, bajo consumo | Smartphones, tablets |
Mainframe | IBM z/OS, OS/390 | Enormes capacidades de procesamiento, gran fiabilidad | Procesar millones de transacciones, alta disponibilidad | Banca, aerolíneas, grandes empresas |
De propósito general | Windows, Linux, macOS | Versátiles, multitarea, soportan gran variedad de hardware y aplicaciones | Equilibrio entre usabilidad y potencia | PCs, portátiles, servidores |
De propósito específico | Sistemas embebidos industriales, RTOS | Ajustados a una tarea o dispositivo concreto | Máxima eficiencia en la tarea definida | Controladores de robots, PLCs, dispositivos médicos |
Virtualizados / Hipervisores | VMware ESXi, Xen, KVM, Hyper-V | Gestionan máquinas virtuales, actúan como SO base o hipervisor | Consolidar servidores, aislamiento de entornos, flexibilidad | Centros de datos, nubes, entornos de prueba |
En la nube (Cloud OS) | Google Fuchsia, sistemas de contenedores | Basados en virtualización ligera y servicios distribuidos | Elasticidad, escalado bajo demanda, integración con infraestructuras distribuidas | Cloud computing, SaaS, PaaS, IaaS |
Monotarea, Monousuario
Estos sistemas fueron los primeros en popularizarse en ordenadores personales durante los años 80. Solo permiten ejecutar un programa a la vez, y únicamente un usuario puede usar la máquina. Esto significa que si, por ejemplo, el sistema está editando un texto, no puede a la vez imprimirlo o realizar cálculos en paralelo. Eran sencillos, rápidos de comprender y poco exigentes en cuanto a recursos de hardware, lo que los hacía ideales para computadoras con memoria y procesadores muy limitados. Ejemplos clásicos son MS-DOS y CP/M.
Monotarea, Multiusuario
Se trata de sistemas menos habituales, diseñados para que varios usuarios puedan conectarse (por ejemplo, a través de terminales), aunque solo se ejecute un programa en cada momento. Esto permitía que diferentes personas compartieran un mismo ordenador central, aunque el rendimiento estaba limitado porque no había multitarea real. Eran usados en entornos académicos o industriales tempranos, donde la prioridad era aprovechar un sistema costoso entre varios usuarios.
Multitarea, Monousuario
Este tipo de sistemas surgió con la llegada de los ordenadores personales más potentes. Permitían que un único usuario ejecutara varias aplicaciones a la vez, como escribir un documento mientras escuchaba música y descargaba un archivo. Aunque la multitarea no siempre era real (a veces era cooperativa y dependía de que las aplicaciones cedieran el control), supuso un gran avance en productividad. Ejemplos históricos fueron Windows 3.x o el MacOS clásico.
Multitarea, Multiusuario
Estos sistemas son los que hoy consideramos “estándar” en entornos profesionales y domésticos. Varios usuarios pueden trabajar en el mismo sistema de manera simultánea, cada uno con sus permisos, recursos aislados y procesos en ejecución. Aportan seguridad, estabilidad y escalabilidad, lo que los hace ideales tanto para servidores como para ordenadores personales. Ejemplos son UNIX, Linux, Windows NT y posteriores o macOS moderno.
Procesamiento por lotes (Batch)
Los sistemas por lotes fueron de los primeros en usarse en los mainframes de mediados del siglo XX. No existía interacción directa con el ordenador: el usuario preparaba un “lote” de trabajos (por ejemplo, un conjunto de tarjetas perforadas) y el sistema los ejecutaba en cola, uno tras otro, sin interrupciones. Esto permitía aprovechar al máximo la CPU y reducir tiempos muertos, aunque la experiencia del usuario era poco flexible. Hoy en día, la filosofía “batch” sigue presente en procesos automatizados como tareas programadas o scripts de servidores.
Interactivos (Tiempo compartido)
Aparecieron como evolución de los sistemas batch, permitiendo que varios usuarios trabajasen con el ordenador al mismo tiempo a través de terminales. La CPU se compartía en intervalos cortos, dando la impresión de que cada usuario tenía su propio sistema. Esta modalidad hizo posible el trabajo colaborativo y sentó las bases de sistemas multiusuario modernos. Un ejemplo pionero fue Multics, seguido por las primeras versiones de UNIX.
Sistemas de Tiempo Real (RTOS)
Un sistema operativo de tiempo real está diseñado para dar respuestas en tiempos estrictos y garantizados, incluso en condiciones de alta carga. Esto es vital en sistemas críticos: por ejemplo, un controlador aéreo no puede retrasarse en dar órdenes, o un airbag debe desplegarse en milisegundos. Se diferencian entre tiempo real estricto (la respuesta debe ser siempre dentro del plazo) y tiempo real flexible (puede haber pequeños retrasos tolerables). Ejemplos son VxWorks, QNX o FreeRTOS.
Sistemas Distribuidos
Un sistema distribuido hace que un conjunto de ordenadores se comporte como si fuera un único sistema. La idea es ocultar al usuario que existen múltiples máquinas: el acceso a recursos, ficheros y procesos es transparente. Esto permite escalabilidad (añadir más nodos fácilmente) y tolerancia a fallos (si un nodo cae, otros siguen trabajando). Ejemplos académicos e históricos son Amoeba y Plan 9, y hoy el concepto está en la base de tecnologías de clústeres y nubes modernas.
Sistemas Embebidos
Son sistemas operativos reducidos y especializados, diseñados para funcionar en dispositivos con recursos muy limitados y para cumplir una función concreta. A diferencia de un sistema de propósito general, un embebido suele estar integrado en el propio hardware (como un router, un microcontrolador en un coche o un electrodoméstico). Son altamente eficientes y estables, y su diseño suele priorizar bajo consumo de energía y respuesta rápida. Ejemplos modernos son FreeRTOS, Zephyr o versiones simplificadas de Linux embebido.
Sistemas de Red
Nacieron para gestionar de forma eficiente recursos compartidos en una red local: impresoras, discos, usuarios. El sistema operativo se encarga de la seguridad en el acceso, la autenticación y la gestión de protocolos de comunicación. Un ejemplo clásico es Novell NetWare, y hoy en día muchos servidores con Linux o Windows Server funcionan principalmente como sistemas de red, proporcionando servicios de autenticación (LDAP, Active Directory), compartición de archivos (Samba, NFS) y correo electrónico.
Sistemas Móviles
Estos sistemas están diseñados específicamente para smartphones y tablets. Se centran en tres pilares: interfaz táctil intuitiva, eficiencia energética y seguridad. Además, gestionan sensores (GPS, cámara, acelerómetro) y redes móviles. Ejemplos son Android e iOS, que han redefinido la computación personal llevándola al bolsillo del usuario.
Sistemas Mainframe
Los mainframes son grandes ordenadores diseñados para procesar volúmenes masivos de datos de forma fiable. Sus sistemas operativos, como IBM z/OS, están pensados para ejecutar millones de transacciones por segundo con altísima disponibilidad (casi sin tiempos de caída). Son esenciales en banca, seguros, aerolíneas y grandes corporaciones, donde la fiabilidad y la escalabilidad son más importantes que la flexibilidad.
Sistemas de Propósito General
Son los sistemas operativos más comunes en PCs y portátiles: equilibran facilidad de uso, compatibilidad con hardware variado y capacidad multitarea. Permiten ejecutar desde aplicaciones de oficina hasta programas científicos o servidores de red. Ejemplos son Windows, Linux y macOS, que pueden adaptarse tanto al uso doméstico como al profesional.
Sistemas de Propósito Específico
A diferencia de los de propósito general, estos sistemas están diseñados para una tarea muy concreta, como controlar un robot, gestionar un PLC (controlador lógico programable) o un equipo médico. No necesitan versatilidad, sino máxima optimización y fiabilidad en su ámbito. Muchas veces están basados en sistemas de tiempo real o versiones reducidas de Linux.
Sistemas Virtualizados / Hipervisores
Un hipervisor es un tipo especial de sistema operativo (o parte de él) que permite ejecutar múltiples máquinas virtuales sobre un único hardware físico. Cada máquina virtual actúa como si fuera independiente, con su propio sistema operativo. Esto da flexibilidad, seguridad y aprovechamiento del hardware. Existen hipervisores tipo 1 (se ejecutan directamente sobre el hardware, como VMware ESXi, Hyper-V) y tipo 2 (se ejecutan sobre un SO anfitrión, como VirtualBox, VMware Workstation).
Sistemas en la Nube (Cloud OS)
Son sistemas diseñados para funcionar en infraestructuras distribuidas y escalables en centros de datos. En lugar de enfocarse en un ordenador físico, gestionan recursos de muchos servidores a la vez y permiten escalar aplicaciones dinámicamente. Se apoyan en la virtualización y los contenedores. Ejemplos son los sistemas basados en Kubernetes, OpenStack o propuestas como Google Fuchsia. Su objetivo es ofrecer servicios bajo demanda (SaaS, PaaS, IaaS).