Tema 4: Arquitecturas de Windows y Linux
1. Resumen Ejecutivo
Esta sesión cubre la arquitectura interna y estructural de los dos sistemas operativos más comerciales: Windows y Linux. Se analiza el funcionamiento del núcleo (Kernel), la división entre Modo Usuario y Modo Kernel en Windows, y la jerarquía de directorios en Linux. Finalmente, se presentan las herramientas esenciales para la administración de ambos sistemas (monitoreo, redes, seguridad y automatización).
2. Conceptos Clave
- ntoskrnl.exe: El binario que constituye el núcleo del sistema operativo Windows.
- Modo Usuario (User Mode): Capa donde se ejecutan las aplicaciones y subsistemas, sin acceso directo al hardware.
- Modo Kernel (Kernel Mode): Capa privilegiada donde reside el núcleo, los drivers y el HAL, con acceso total a los recursos.
- HAL (Hardware Abstraction Layer): Capa que aísla al núcleo de las diferencias específicas del hardware.
- API (Application Programming Interface): Interfaz que permite a las aplicaciones solicitar servicios al sistema operativo.
- Kernel Monolítico: Estructura típica de Linux donde el SO completo trabaja en el espacio del kernel (aunque Windows tiene una arquitectura híbrida con un microkernel en su base).
3. Desarrollo del Temario
3.1. Estructura de Windows
La arquitectura de Windows se divide fundamentalmente en dos grandes modos de operación para proteger la estabilidad del sistema: Modo Usuario y Modo Kernel.
A. El Corazón del Sistema: ntoskrnl.exe
Es el componente fundamental del sistema operativo Windows NT (Kernel).
* Ubicación: Generalmente en C:\Windows\System32.
* Funciones: Se encarga de la virtualización de hardware, gestión de memoria, control de procesos y el monitor de referencia de seguridad .
* ¡OJO AL DATO!: Es un proceso vital. Si se detiene o elimina durante la ejecución, el sistema colapsará (pantalla azul) y requerirá un reinicio forzoso.
Nota Práctica: Aunque en el Administrador de Tareas (Task Manager) no suele aparecer directamente como un proceso simple, se puede encontrar asociado a "System" o buscando en detalles. Su manipulación es una vía típica de ataques por virus para tomar control del sistema .
B. Arquitectura por Capas (Las "Cajitas")
1. Modo Usuario (User Mode)
Es la capa más cercana a las aplicaciones. Las aplicaciones no acceden al hardware directamente; usan APIs para interactuar con los recursos. Se divide en dos subsistemas:
- Subsistemas de Entorno (Environment Subsystems): Permiten ejecutar aplicaciones escritas para diferentes estándares.
- Win32: Para aplicaciones nativas de Windows.
- POSIX: Estándar IEEE para compatibilidad con sistemas tipo UNIX.
- \(OS/2\): Para compatibilidad con aplicaciones antiguas de IBM/Microsoft.
- Subsistema Integral: Maneja funciones específicas de seguridad y red.
- Subsistema de Seguridad: Gestiona la autenticación y el acceso (logon).
- Servicio de Estación de Trabajo (Workstation) y Servidor: APIs para acceso y provisión de servicios de red .
2. Modo Kernel (Kernel Mode)
Aquí reside el código que puede ejecutar cualquier instrucción del procesador y acceder a cualquier memoria. Se divide en tres capas principales, de arriba a abajo:
a) Servicios Ejecutivos (Executive Services) Es la interfaz entre el modo usuario y el núcleo. Contiene los gestores principales : * Gestor de E/S (I/O Manager): Traduce comandos de lectura/escritura de usuario a señales para dispositivos. * Monitor de Referencias de Seguridad: Verifica permisos (ACLs) para acceder a objetos. * Gestor de Memoria (VMM): Controla la memoria física, virtual y paginación. * Gestor de Procesos: Maneja la creación y eliminación de procesos e hilos. * Gestor Plug and Play (PnP): Detecta y configura hardware automáticamente. * Gestor de Energía: Administra el apagado, suspensión e hibernación. * LPC (Local Procedure Call): Comunicación entre procesos usando puertos. * Gestor de Objetos (Object Manager): Infraestructura crítica por la que pasan las llamadas al sistema para acceder a recursos.
b) El Núcleo (Microkernel) Se encarga de las tareas más básicas y críticas, como la planificación de hilos (scheduling) y el manejo de interrupciones. Sincroniza la actividad entre los procesadores.
c) Capa de Abstracción de Hardware (HAL) Es la capa inferior que "habla" directamente con el hardware físico. Permite que el SO funcione en diferentes plataformas de hardware sin reescribir el núcleo. Aísla a los controladores del núcleo de las especificidades del chipset.
3.2. Estructura de Linux
A diferencia de Windows, Linux se define como un sistema monolítico de código abierto. Su estructura es más "simple" en concepto pero muy estricta en su organización de archivos.
Jerarquía del Sistema de Archivos (FHS)
Es vital conocer dónde reside cada tipo de información :
| Directorio | Descripción |
|---|---|
/bin |
Comandos binarios esenciales para todos los usuarios (ej. ls, cp). |
/boot |
Archivos estáticos y del gestor de arranque (bootloader). |
/dev |
Archivos que representan dispositivos de hardware (unidades, terminales). |
/etc |
Importante: Archivos de configuración del sistema. |
/home |
Directorios personales de los usuarios (donde guardas tus archivos). |
/lib |
Librerías compartidas esenciales para los binarios en /bin y /sbin. |
/media |
Punto de montaje automático para medios extraíbles (USB, CD). |
/mnt |
Punto de montaje temporal para administradores. |
/opt |
Paquetes de software adicionales ("Optional"). |
/sbin |
Binarios de sistema (System Binaries) esenciales para el administrador (root). |
/tmp |
Archivos temporales (se suelen borrar al reiniciar). |
/usr |
Utilidades y aplicaciones de usuario (segunda jerarquía mayor). |
/var |
Archivos variables (Logs, colas de impresión, bases de datos). |
/root |
Directorio home específico del superusuario (root). |
/proc |
Sistema de archivos virtual que documenta el estado del kernel y procesos en tiempo real. |
3.3. Herramientas de Administración (Windows vs. Linux)
Para resolver el problema planteado en clase sobre "Qué herramientas ayudan en la administración", se categorizan las siguientes :
1. Administración General
- Windows: Panel de Control, PowerShell (scripting avanzado), Task Scheduler, MMC (Microsoft Management Console).
- Linux: Shell (Bash), systemctl/systemd (gestión de servicios), cron (tareas programadas),
sudo(privilegios).
2. Monitoreo y Rendimiento
- Windows: Task Manager (Administrador de tareas), Performance Monitor (
perfmon), Event Viewer (Visor de eventos). - Linux:
top/htop(procesos en tiempo real),dmesg(mensajes del kernel),free(memoria).
3. Redes
- Windows:
ipconfig,ping,tracert. - Linux:
ip(oifconfig),ping,traceroute,netstat/ss.
4. Seguridad y Usuarios
- Windows: Usuarios y grupos locales (
lusrmgr.msc), Directorio Activo, BitLocker. - Linux:
useradd,chmod/chown(permisos),iptables(firewall),fail2ban.
Consejo de Examen: Es fundamental familiarizarse con los comandos básicos de la terminal Linux. Recuerda usar
man [comando]para ver el manual de ayuda de cualquier herramienta .
4. Preguntas de Autoevaluación
- ¿Qué sucedería si lograras finalizar el proceso
ntoskrnl.exeen Windows y por qué?- Respuesta: El sistema se bloquearía inmediatamente (pantalla azul) y necesitaría reiniciarse, ya que este archivo contiene el núcleo del sistema operativo y gestiona funciones críticas como la memoria y los procesos.
- Diferencia principal entre el Subsistema de Entorno y el Subsistema Integral en Windows.
- Respuesta: El subsistema de entorno da soporte a diferentes tipos de aplicaciones (Win32, POSIX), mientras que el integral gestiona funciones de seguridad y red esenciales.
- ¿En qué directorio de Linux buscarías los archivos de configuración de un servidor web?
- Respuesta: En el directorio
/etc.
- Respuesta: En el directorio
- Si necesitas programar una tarea para que se ejecute todos los días a las 3:00 AM, ¿qué herramienta usarías en Windows y cuál en Linux?
- Respuesta: En Windows usarías el "Programador de Tareas" (Task Scheduler) y en Linux usarías
cron.
- Respuesta: En Windows usarías el "Programador de Tareas" (Task Scheduler) y en Linux usarías
- ¿Cuál es la función de la capa HAL (Hardware Abstraction Layer)?
- Respuesta: Aislar al núcleo del sistema operativo de las diferencias específicas del hardware, permitiendo portabilidad y estabilidad.
💡 Próximo paso para ti:
¿Te gustaría que diseñe un quiz de práctica de 10 preguntas tipo test basado específicamente en la diferencia entre los "Executive Services" de Windows para poner a prueba tu conocimiento antes del examen?