Explorador
Concepto

Cómo funciona un sistema operativo

Qué hace el kernel, qué papel tiene la shell y cómo ver cada responsabilidad del sistema con un comando.

Actualizado el

En esta guía

La idea central

Un sistema operativo es el intermediario entre los programas y el hardware. Sin él, cada programa tendría que saber cómo hablar con el disco, la memoria o la pantalla directamente.

┌─────────────────────────────────────┐
│  Usuario                            │
├─────────────────────────────────────┤
│  Shell / Terminal (bash)            │  ← interpreta los comandos
├─────────────────────────────────────┤
│  Programas (git, python, nano...)   │
├─────────────────────────────────────┤
│  KERNEL (núcleo del SO)             │  ← el que manda
├─────────────────────────────────────┤
│  Hardware (CPU, RAM, disco, red)    │
└─────────────────────────────────────┘

Una analogía útil: el SO es el administrador de un edificio. Los inquilinos (programas) no tocan la electricidad ni el agua directamente. Se lo piden al administrador, que decide quién recibe qué y cuándo, y evita que uno moleste a otro.

Las 5 responsabilidades del SO

Responsabilidad Qué hace Comando para verlo
Procesos Ejecuta programas y reparte el tiempo de CPU entre ellos ps aux, top, pstree
Memoria Asigna y protege la RAM de cada programa free -h
Archivos Organiza el disco en carpetas y archivos ls /, df -h, tree -L 1 /
Usuarios y permisos Decide quién puede leer, escribir o ejecutar qué whoami, id, ls -l
Dispositivos Habla con el hardware mediante drivers lsblk, ls /dev

Recorrido rápido por el sistema

uname -a                   # el kernel: nombre, versión, arquitectura
ps aux | head              # procesos corriendo ahora mismo
echo $$                    # el PID de la terminal actual (también es un proceso)
free -h                    # memoria total y usada
ls /                       # estructura del sistema de archivos
cat /proc/cpuinfo | head   # "archivos" que en realidad son información del kernel

Conceptos clave

  • Proceso: un programa en ejecución. Cada uno tiene un número, el PID.
  • Todo es un archivo: hasta los dispositivos (/dev) y la información del sistema (/proc) se ven como archivos.
  • Árbol de directorios: todo parte de / (raíz). No hay C: ni D:.
  • Shell y kernel: la shell solo traduce lo que se escribe en peticiones al kernel, las system calls.
  • Root y usuario normal: root puede todo, y por eso sudo se usa solo cuando hace falta.

Y en WSL

Windows sigue siendo el sistema anfitrión. WSL 2 corre un kernel de Linux real dentro de una máquina virtual ligera, y por eso uname -a muestra Linux aunque el equipo sea una laptop con Windows.