Cuando alguien me pregunta “¿qué hace realmente un sistema operativo?”, respondo sin rodeos: organiza y reparte recursos para que las aplicaciones funcionen sin estrellarse entre sí. El SO decide qué proceso usa la CPU, qué datos viven en RAM, cómo hablamos con el disco y la red, y dónde se guardan los archivos. Esa es la esencia; el resto son detalles y garantías para que todo vaya fluido.
Qué es un sistema informático: hardware y software
Un sistema informático es la suma de hardware (CPU, RAM, discos, periféricos) y software (SO + aplicaciones). La CPU ejecuta instrucciones, la RAM guarda lo “vivo” del momento, el almacenamiento persiste datos, y los periféricos hacen de puerta de entrada/salida. El SO es el “director de orquesta” que gestiona el hardware y provee servicios (archivos, procesos, seguridad) a las apps.
Ejemplo rápido: si abro un editor de texto, el SO carga el programa desde disco a RAM y lo pone en cola para la CPU. Si imprimo, envía los datos al driver de la impresora y gestiona la E/S hasta terminar.
Representación y codificación de la información
Por debajo, todo es binario (0 y 1). Usamos también decimal, octal y hexadecimal para representar datos con más comodidad; por ejemplo, cada dígito hexadecimal equivale a 4 bits. Caracteres como “A” se codifican siguiendo tablas tipo ASCII o Unicode (A = 65 en decimal = 01000001 en binario). Las cantidades se miden en bits/bytes y múltiplos (KB/MB/GB; también KiB/MiB con base 2).
Ejemplo rápido: en Linux puedo curiosear la tabla ASCII con man ascii o imprimir el código de “A” con printf "%d" \'A\'. En Windows, chcp me dice la página de códigos activa.
Elementos y funciones del sistema operativo
Kernel y controladores (drivers)
El kernel es el núcleo que corre con privilegios máximos y expone servicios de sistema (procesos, memoria, archivos, controladores). Un fallo serio aquí puede tumbar el equipo, por eso su diseño es meticuloso.
Gestión de memoria, CPU y E/S
- Memoria: asigna y libera RAM; usa memoria virtual y paginación para aislar procesos.
- CPU: planifica qué proceso/hilo corre en cada instante; algoritmos como round-robin o prioridades equilibran respuesta y rendimiento.
- E/S: coordina dispositivos (teclado, disco, red) a través de drivers, interrupciones y buffers.
- Sistema de archivos: mantiene tablas de abiertos, inodos, espacios libres, etc.
Interfaz de usuario: CLI vs entorno gráfico
Puedes interactuar con línea de comandos (bash, zsh) o entorno gráfico (Explorador, GNOME, KDE). Ambos traducen tus acciones (clics o comandos) a operaciones del sistema.
Ejemplo rápido: para copiar un archivo, en GUI arrastras; en CLI usas cp origen destino. Mismo resultado, dos interfaces.
Procesos del sistema operativo
Estados del proceso y el planificador
Un proceso es un programa en ejecución que necesita CPU, memoria, archivos y E/S. Suele moverse entre Listo (Ready), Ejecución (Running) y Bloqueado (Waiting/Sleeping); en Linux existen estados más finos (Sleeping, Zombie, etc.). El planificador lo empuja de Listo→Ejecución cuando hay CPU, y lo manda a Bloqueado si espera disco o usuario.
Herramientas: Task Manager, ps, top, señales/kill
En Windows lo visualizo con Administrador de tareas; en Linux, con ps, top o monitores gráficos. Para terminar un proceso: “Finalizar tarea” en Windows o kill en Linux.
Ejemplo rápido: si top muestra un proceso al 100% de CPU, puedo bajar su prioridad o matarlo (kill -9 PID) si está colgado. En Windows, clic derecho → Finalizar tarea hace lo mismo.
Arquitectura del sistema operativo
Kernel monolítico, por capas, cliente-servidor y microkernel
- Monolítico: todo el núcleo corre junto en modo privilegiado; eficiente pero menos modular (Linux clásico).
- Por capas: funciones ordenadas jerárquicamente; cada capa sirve a la superior.
- Cliente-servidor: servicios del SO separados como servidores que se comunican por mensajes.
- Microkernel: el núcleo minimiza funciones (planificación, IPC, interrupciones) y expulsa servicios al espacio de usuario, ganando modularidad.
Ejemplo rápido: Linux (monolítico con módulos), Windows NT (híbrido) y macOS/Darwin (Mach + capas UNIX) ilustran ventajas y trade-offs: rendimiento vs modularidad.
Sistema de archivos: organización y permisos
Estructura jerárquica en Linux (/) y unidades en Windows (C:\)
El sistema de archivos es árbol jerárquico. En Linux todo cuelga de / (p. ej., /home, /etc); en Windows, cada unidad es un árbol separado (C:\, D:\).
Inodos, metadatos y ACL
Los archivos tienen nombre y metadatos (tamaño, fechas, propietario). Linux guarda atributos en el i-nodo; Windows/NTFS añade atributos (solo lectura, oculto, sistema) y ACL detalladas.
Archivos vs directorios y permisos rwx
En Unix/Linux, permisos rwx para propietario/grupo/otros controlan lectura, escritura y ejecución. En Windows, la ejecución depende de la extensión y las ACL, no de un bit x.
Ejemplo rápido (CLI Linux):
ls -l
drwxr-xr-x 5 usuario grupo 4096 jun 1 10:00 Documentos
-rw-r--r-- 1 usuario grupo 1024 jun 1 09:00 nota.txt
La d inicial indica directorio; - indica archivo. Para entrar en un directorio necesitas permiso x; para listar, r + x.
Ejemplos prácticos rápidos
Ver permisos con ls -l y diferencias en Windows
- Linux:
chmod u+x script.shañade ejecución al propietario. - Windows: la ejecución depende de extensión (p. ej.,
.exe,.bat) y permisos en ACL; puedes ajustar permisos desde Propiedades → Seguridad.
Crear, listar y navegar: mkdir, ls, cd
- Crear carpeta:
mkdir proyectos - Entrar:
cd proyectos - Listar:
ls -l
Estos comandos te obligan a entender permisos y jerarquía, justo lo que el SO protege y organiza.
Conclusiones y recursos para practicar
Si tuviera que condensarlo: el sistema operativo es el árbitro que asigna memoria, planifica CPU, atiende E/S y estructura archivos para que cada app viva en paz con las demás. Dominar sus piezas —kernel, procesos, memoria, arquitectura y archivos— te permite diagnosticar cuellos de botella y trabajar con soltura en cualquier entorno.
Ideas de práctica (5–10 min):
- Abre el Administrador de tareas o
topy observa qué proceso consume CPU. - En Linux, usa
ls -ly traduce permisos; intenta cambiarlos conchmod. - Escribe un número en hex y pásalo a binario (cada dígito hex → 4 bits).
FAQs
¿Qué hace el kernel exactamente?
Administra hardware en modo privilegiado y ofrece servicios: procesos, memoria, archivos y drivers.
¿Por qué el SO usa planificación?
Para repartir CPU entre procesos y mantener respuesta (p. ej., round-robin y prioridades).
¿Linux y Windows organizan igual el disco?
No. Linux cuelga todo de /; Windows separa por unidades (C:\, D:\).
¿Qué diferencia hay entre archivo y directorio?
El archivo guarda datos; el directorio guarda entradas que apuntan a archivos/subdirectorios (i-nodos).
