Qué hace un sistema operativo por dentro

Resumen

Un sistema operativo es el traductor invisible que conecta tu software con el hardware de cualquier dispositivo, gestionando recursos, seguridad y comunicación entre aplicaciones. Entender cómo funciona te da la base para escribir código que aproveche cada capa del computador, desde la CPU hasta la interfaz gráfica.

¿Qué hace un sistema operativo y por qué existe?

No todos los aparatos electrónicos necesitan uno. Unos audífonos Bluetooth, por ejemplo, tienen sus funciones quemadas directamente en el chip y no requieren software adicional. Pero un televisor, un teléfono o un reloj inteligente corren múltiples aplicaciones, y ahí aparece el problema: hay miles de modelos de teclados, mouses, pantallas y sensores. Un programador no puede escribir código distinto para cada variedad de hardware.

Ahí entra el sistema operativo: un intermediario que estandariza la comunicación entre el software y el hardware [01:30]. Lo hace con dos piezas clave. Los drivers son aplicaciones que traen las reglas para hablarle a un hardware específico, y las APIs (Application Program Interface) son colecciones estándar de mecanismos que el sistema operativo expone para que tu código pueda decir cosas como "prende la cámara" sin saber qué cámara es.

¿Qué es un driver? Es un software que contiene las reglas para comunicarse con un tipo específico de hardware, como un parlante, una cámara o un teclado. Los sistemas operativos los traen por defecto.

¿Cómo gestiona el sistema operativo los recursos de tu computadora?

La CPU solo puede ejecutar una cosa a la vez. Si tienes un navegador, Excel y Word abiertos al tiempo, el sistema operativo orquesta los recursos a velocidades altísimas para que sientas que todo corre paralelo. Cuando codificas un video, en cambio, le da casi toda la CPU a ese proceso porque lo necesita completo.

La memoria RAM también se gestiona desde aquí. Cuando se llena, el sistema operativo no se rinde: usa un pedazo del disco duro como si fuera RAM. Esto se llama swap [04:25]. Es más lento, pero permite que sigas trabajando con muchas pestañas abiertas.

¿Qué pasa cuando una aplicación se cuelga?

El sistema operativo puede enviar una señal para matar el proceso. Estos mecanismos se llaman interrupciones. Por eso, aunque una app se rompa, el mouse y el teclado siguen respondiendo: tienen máxima prioridad en la jerarquía de procesos para que sientas que el computador siempre va rápido.

También existe la recolección de basura: el sistema evalúa qué memoria lleva tiempo sin usarse y la libera o la mueve al disco. Por eso una app que dejaste abierta hace rato tarda un momento en volver a responder cuando la retomas.

¿Cómo protege el sistema operativo tus archivos y aplicaciones?

Cada sistema operativo usa su propio formato de almacenamiento [07:30]:

  • Apple usa APFS.
  • Windows usa NTFS.
  • Linux usa EXT3 y EXT4.

Sobre esa estructura se monta una capa de permisos atada a tu usuario y contraseña. Si alguien saca tu disco duro y lo conecta en otra máquina, no puede leerlo porque está cifrado con tu llave. El sistema operativo gestiona ese cifrado y también guarda las llaves públicas y privadas que usas, por ejemplo, cuando entras al sitio web de tu banco.

¿Qué son los anillos de seguridad?

El método de los anillos restringe qué partes del software pueden tocar el hardware. La arquitectura moderna usa cuatro niveles [09:40]:

  • Anillo 0 (kernel): el núcleo del sistema operativo, único que habla directo con el hardware.
  • Anillos 1 y 2: cargan los drivers y las APIs que traducen entre hardware y aplicaciones.
  • Anillo 3: aquí corren tu navegador, Word, Excel, los videojuegos y demás software de usuario.

Cuando Spotify quiere reproducir música, el flujo es así: la app en el anillo 3 llama al API del sistema operativo, que pasa la instrucción al kernel en el anillo 0, que ejecuta el driver del parlante y convierte la señal digital en vibración de la membrana.

¿Qué es el kernel? Es el núcleo del sistema operativo que corre en el anillo 0 y es la única capa autorizada a comunicarse directamente con el hardware del computador.

¿Cómo funcionan las máquinas virtuales y por qué importan?

Una máquina virtual permite correr varios sistemas operativos independientes dentro de una sola computadora. En el anillo 0 corre el kernel real, y en el anillo 1 se crea una memoria virtual reservada que le hace creer a otro sistema operativo que ese es su anillo 0. Cada máquina virtual está aislada de las demás.

Esto es la base del negocio de la nube. Cuando rentas un servidor, en realidad estás usando una porción virtual de un computador físico gigantesco metido en un data center. Si necesitas más recursos, el proveedor escala; si necesitas menos, te da una quinta parte de la máquina.

¿Qué tipos de sistemas operativos existen hoy?

Hay uno para casi cada categoría de dispositivo [13:50]:

  • Escritorio y servidores: macOS, Windows, Linux.
  • Móviles: iOS, Android (que en realidad es un tipo de Linux).
  • Wearables: watchOS de Apple, GarminOS en relojes Garmin.
  • Realidad virtual: Horizon OS de Meta, visionOS de Apple, Android XR.
  • Especializados: QNX en pantallas de automóviles y sistemas médicos, e incluso sistemas operativos en cohetes espaciales.

Detrás de las interfaces gráficas (GUI) que ves en Mac, Windows o iPhone, existen las CLI (Command Line Interface), interfaces de solo texto. Así empezaron Unix, DOS y Linux, y manejar la terminal sigue siendo un conocimiento fundamental para cualquier ingeniero de software.

¿Por qué los sistemas operativos modernos piden firmas para correr una app?

Apple y Microsoft ahora exigen a los desarrolladores pasar un proceso de verificación para obtener una llave de cifrado que firma sus aplicaciones. Si una app no tiene esa firma, el sistema lanza una alerta antes de ejecutarla. Es más cansón para el desarrollador, pero hace mucho más difícil que un virus se ejecute sin permiso. En iOS y Android, este control se ejerce desde la App Store y la Play Store; en China, un teléfono Android puede tener hasta 15 tiendas distintas conviviendo.

¿Qué parte del sistema operativo te sorprendió más al entender cómo funciona por dentro?