## Bloque 4 Tema 1. Administración del sistema operativo y software de base. Actualización, mantenimiento y reparación del sistema operativo.

Este tema estudia cómo se gestiona un sistema operativo en un entorno profesional: desde su arquitectura interna y las diferencias entre Windows y Linux, hasta las estrategias de actualización, mantenimiento, reparación y seguridad que son objeto de examen en las oposiciones TAI.

---

## 1. Sistema operativo y software de base

### 1.1. Definición y funciones del sistema operativo

El sistema operativo es el conjunto de programas que actúa de intermediario entre el usuario y el hardware del equipo, gestionando todos sus recursos. Sin él, las aplicaciones no podrían ejecutarse ni acceder al hardware.

Sus funciones principales son seis. La gestión de procesos consiste en crear, planificar y terminar procesos, asignando tiempo de CPU a cada uno. La gestión de memoria asigna y libera RAM y gestiona la memoria virtual mediante paginación, que permite usar espacio en disco como extensión de la RAM. La gestión de dispositivos de entrada y salida controla los periféricos mediante los controladores o drivers. El sistema de ficheros organiza y almacena los datos en disco; en Windows el sistema de ficheros estándar es NTFS y en Linux es ext4. La seguridad y control de accesos gestiona la autenticación y los permisos de los usuarios. Y finalmente la interfaz con el usuario puede ser gráfica, conocida como GUI, o de línea de comandos, conocida como CLI.

Hay varios conceptos clave para el examen. El kernel es el núcleo del sistema operativo, la parte que interactúa directamente con el hardware. Un proceso es un programa en ejecución con sus recursos asociados. Un hilo o thread es la unidad mínima de ejecución dentro de un proceso; varios hilos comparten la memoria del mismo proceso. La memoria virtual es la extensión de la RAM usando espacio en disco, llamado archivo de paginación en Windows y swap en Linux. Una llamada al sistema es el mecanismo por el que un programa solicita servicios al sistema operativo.

---

### 1.2. Tipos de kernel

Los kernels se clasifican en cuatro tipos. El kernel monolítico ejecuta todo el sistema operativo en un único bloque en espacio privilegiado; es el más rápido y Linux usa este modelo. El microkernel mantiene en el núcleo solo los servicios mínimos y ejecuta el resto en espacio de usuario; es más seguro y estable pero algo más lento; lo usan Minix y QNX. El kernel híbrido es una combinación de ambos modelos: tiene un núcleo compacto pero incluye algunos servicios en espacio kernel; lo usan Windows NT y macOS XNU. El exokernel proporciona la mínima abstracción posible y es principalmente un modelo de investigación.

---

### 1.3. Software de base y proceso de arranque

El software de base es el conjunto de software imprescindible para que el equipo funcione. Incluye cuatro componentes: el sistema operativo propiamente dicho, los controladores o drivers que permiten al sistema comunicarse con cada dispositivo hardware, el firmware como la BIOS o la UEFI que inicializa el hardware al encender el equipo, y las utilidades del sistema como las herramientas de diagnóstico y administración.

El proceso de arranque o boot sigue estos pasos. Al encender el equipo, el firmware BIOS o UEFI realiza el POST, que son las siglas de Power-On Self Test, comprobando que el hardware funciona correctamente. A continuación carga el bootloader: en Linux es GRUB y en Windows es el Boot Configuration Data o BCD gestionado por bootmgr. El bootloader carga el kernel en memoria. El kernel inicia el primer proceso del sistema: en Linux es systemd, y en Windows es smss.exe seguido de winlogon.exe. Finalmente se presenta la pantalla de inicio de sesión al usuario.

La diferencia entre BIOS y UEFI es importante para el examen. La BIOS es el firmware tradicional y usa la tabla de particiones MBR, que limita los discos a dos terabytes y permite solo cuatro particiones primarias. La UEFI es el firmware moderno; usa GPT, que soporta discos de hasta 9,4 zettabytes y 128 particiones, e incluye Secure Boot para verificar la integridad del sistema antes de arrancar.

En resumen: el sistema operativo gestiona procesos, memoria, dispositivos, ficheros y seguridad. Los tipos de kernel son monolítico en Linux, híbrido en Windows NT y microkernel en sistemas embebidos. El arranque pasa por BIOS o UEFI, POST, bootloader, kernel e init. La UEFI con GPT reemplaza a la BIOS con MBR y añade Secure Boot.

---

### 1.4. Sistemas de ficheros

Un sistema de ficheros define cómo se organizan y almacenan los datos en disco. Es fundamental para el examen diferenciar los sistemas usados en Windows y en Linux.

En Windows hay cuatro sistemas relevantes. FAT32 es el más antiguo y compatible; no tiene permisos de acceso ni journaling, su límite de fichero es de cuatro gigabytes y no puede gestionar particiones de más de dos terabytes, por lo que se usa principalmente en pendrives y dispositivos extraíbles. exFAT supera ese límite de tamaño y es el estándar moderno para USB y tarjetas SD, aunque tampoco tiene journaling. NTFS es el sistema de ficheros estándar de Windows; admite ACLs para controlar permisos de forma granular, tiene journaling para recuperarse de fallos, permite cifrar ficheros con EFS, compresión y cuotas de disco. ReFS es el sistema más moderno orientado a alta resiliencia, soporta volúmenes de hasta 35 petabytes, pero no puede usarse como unidad de arranque.

En Linux los sistemas más importantes son cuatro. ext4 es el estándar de la mayoría de distribuciones; tiene journaling, soporta ficheros de hasta 16 terabytes y es retrocompatible con ext3. XFS es el sistema de Red Hat Enterprise Linux; destaca por su alto rendimiento con archivos grandes, aunque tiene una limitación clave: no puede reducirse de tamaño una vez creado. Btrfs usa el modelo copy-on-write, incluye snapshots integrados y checksums de integridad, y es el sistema por defecto en Fedora y openSUSE. ZFS, originario de Solaris y disponible en Linux, ofrece pools de almacenamiento, integridad con checksums y RAID-Z nativo.

El journaling es una característica clave: antes de escribir los datos en disco, el sistema anota la operación pendiente en un log; si hay un corte de luz, puede repasar ese log al arrancar y recuperar la coherencia sin necesidad de analizar todo el disco.

En Linux los sistemas de ficheros se montan en puntos del árbol de directorios con el comando mount. Para que un montaje sea permanente, es decir, que se repita en cada arranque, se añade la entrada correspondiente al fichero etc fstab. La herramienta lsblk permite ver todos los dispositivos y sus sistemas de ficheros.

---

### 1.5. Gestión de procesos y algoritmos de planificación

Un proceso es un programa en ejecución con su propio espacio de memoria, descriptores de fichero y contexto de CPU. No debe confundirse con un hilo o thread, que es la unidad mínima de ejecución dentro de un proceso; varios hilos de un mismo proceso comparten la memoria, lo que los hace más ligeros que crear varios procesos independientes.

Todo proceso pasa por cinco estados. Al crearse está en estado Nuevo. Cuando está preparado para ejecutarse pero esperando turno de CPU pasa al estado Listo. Cuando la CPU se lo asigna pasa al estado En ejecución. Si necesita esperar un evento externo, como una operación de disco, pasa al estado Bloqueado. Cuando termina, pasa al estado Terminado y el sistema operativo libera sus recursos.

El planificador del sistema operativo decide qué proceso ejecutar en cada momento. Los algoritmos de planificación más importantes para el examen son los siguientes. FCFS, siglas de First-Come First-Served, ejecuta los procesos por orden de llegada; es simple pero puede producir el efecto convoy, donde procesos cortos quedan atrapados detrás de uno largo. SJF, Shortest Job First, elige siempre el proceso más corto, minimizando el tiempo de espera medio, pero puede causar starvation de procesos largos. Round Robin asigna a cada proceso un quantum o tiempo máximo de CPU antes de pasar al siguiente; es el más equitativo y es la base de los sistemas interactivos modernos. El algoritmo de prioridad ejecuta siempre el proceso de mayor prioridad, con riesgo también de starvation. El esquema de colas multinivel con realimentación, usado en Linux con el CFS o Completely Fair Scheduler y en Windows, combina múltiples colas de prioridad y permite que los procesos cambien de cola según su comportamiento.

Algunos conceptos adicionales importantes: el deadlock o abrazo mortal ocurre cuando dos o más procesos se bloquean mutuamente esperando recursos que el otro tiene; la starvation o inanición se produce cuando un proceso nunca recibe CPU; la IPC o comunicación entre procesos incluye mecanismos como pipes, sockets, memoria compartida y semáforos.

En Linux la gestión de procesos se realiza con señales. Las más importantes son SIGTERM con número 15, que solicita al proceso que termine ordenadamente y puede ser capturada por la aplicación; SIGKILL con número 9, que fuerza la terminación inmediata y no puede ser capturada; y SIGHUP con número 1, que se usa para recargar la configuración en daemons sin reiniciarlos.

---

### 1.6. Gestión de memoria: paginación y memoria virtual

La gestión de memoria es responsabilidad del sistema operativo, que asigna y libera RAM para los procesos garantizando el aislamiento entre ellos.

La paginación es la técnica más usada: divide la memoria física en marcos de tamaño fijo, habitualmente cuatro kilobytes, y la memoria lógica de cada proceso en páginas del mismo tamaño. El sistema mantiene una tabla de páginas por proceso que traduce las direcciones virtuales del proceso en direcciones físicas reales, permitiendo que la memoria de un proceso no sea contigua en RAM.

La memoria virtual extiende la RAM disponible usando espacio en disco: en Linux se llama swap y puede ser una partición dedicada o un fichero; en Windows es el archivo de paginación ubicado en la raíz del sistema, pagefile punto sys. Cuando el sistema necesita más memoria que la RAM disponible, mueve páginas poco usadas al disco para liberar espacio; cuando vuelven a necesitarse, las carga de nuevo.

El TLB o Translation Lookaside Buffer es una pequeña caché del procesador que almacena las traducciones de dirección virtual a física más recientes, evitando acceder a la tabla de páginas en RAM en cada operación.

Un fallo de página ocurre cuando un proceso accede a una página que no está en RAM sino en el disco de swap; el sistema operativo debe cargarla, lo cual es costoso en tiempo. Si el sistema pasa más tiempo gestionando el paginado que ejecutando procesos útiles, se produce el thrashing, que indica que la RAM es insuficiente para la carga de trabajo actual.

En Linux, el comando free con la opción h muestra el uso de RAM y swap; swapon con la opción s muestra el swap activo. En Windows, el archivo de paginación se configura en las propiedades avanzadas del sistema; el tamaño recomendado es al menos una vez y media la RAM instalada.

---

## 2. Sistemas operativos Windows

### 2.1. Versiones principales

Las versiones de Windows más relevantes para el examen son las siguientes. En escritorio, Windows 10 tendrá soporte hasta octubre de 2025, mientras que Windows 11 es la versión actual y requiere TPM 2.0 y UEFI para instalarse. En servidor, Windows Server 2019 está ampliamente desplegado en la Administración con soporte hasta 2029, y Windows Server 2022 es la versión LTSC más reciente ampliamente disponible. En la Administración General del Estado se usan principalmente las ediciones Pro y Enterprise en escritorio y Standard o Datacenter en servidor.

---

### 2.2. Usuarios, grupos y permisos NTFS

La gestión de usuarios locales en Windows se realiza principalmente con el comando net user desde la línea de comandos. Para listar los usuarios se usa net user sin parámetros. Para crear un usuario se usa net user seguido del nombre, la contraseña y el modificador barra add. Para eliminar un usuario se usa net user con el nombre y barra delete. Para añadir un usuario al grupo de Administradores se usa net localgroup Administradores seguido del nombre y barra add.

NTFS es el sistema de ficheros de Windows y define cinco niveles de permiso. Control total otorga todos los permisos incluyendo cambiar los permisos del propio archivo. Modificar permite leer, escribir y eliminar pero no cambiar permisos. Leer y ejecutar permite ver el contenido y ejecutar programas. Leer permite solo lectura. Escribir permite crear y modificar archivos.

El principio de mínimo privilegio establece que cada usuario o proceso debe tener únicamente los permisos estrictamente necesarios para realizar su tarea, y ninguno más.

Las listas de control de acceso, conocidas como ACL, son el mecanismo que NTFS usa para controlar el acceso a cada objeto. Una ACL contiene entradas ACE que asocian un usuario o grupo con sus permisos sobre ese objeto. Hay dos tipos de ACL: la DACL o lista de acceso discrecional controla quién puede acceder al objeto; la SACL o lista de acceso del sistema controla qué eventos se registran en el log de auditoría. Los permisos NTFS se heredan desde la carpeta padre y pueden bloquearse para asignar permisos propios; los permisos explícitos tienen precedencia sobre los heredados.

Active Directory es el servicio de directorio de Microsoft para gestionar usuarios, equipos y políticas en una red corporativa. Tiene una estructura jerárquica de varios niveles. En el nivel superior está el bosque, que es el conjunto de dominios que comparten el mismo esquema y catálogo global. Dentro del bosque hay uno o más árboles, que son conjuntos de dominios con espacio de nombres contiguo. Dentro de cada árbol hay dominios, que son las unidades administrativas básicas. Dentro de los dominios hay unidades organizativas u OU que sirven para agrupar objetos y aplicarles directivas. El protocolo de consulta al directorio es LDAP, que usa el puerto TCP 389, y la autenticación usa Kerberos en el puerto 88.

Los controladores de dominio o DC son los servidores que tienen instalado Active Directory Domain Services y autentican a los usuarios. Un tipo especial es el controlador de solo lectura o RODC, que se usa en sucursales donde la seguridad física no es óptima. El catálogo global es un DC especial que almacena información de todos los objetos del bosque y es imprescindible para las búsquedas entre dominios.

Los roles FSMO son cinco funciones especiales que solo puede tener un DC a la vez para evitar conflictos. Los dos roles de alcance de bosque son el Maestro de Esquema, que gestiona los cambios al esquema de Active Directory, y el Maestro de nomenclatura de dominio, que controla la adición y eliminación de dominios. Los tres roles de alcance de dominio son el Emulador PDC, que sincroniza la hora y gestiona los bloqueos de cuentas; el Maestro RID, que asigna identificadores únicos para crear objetos; y el Maestro de infraestructura, que actualiza las referencias entre objetos de distintos dominios.

Las directivas de grupo u objetos GPO son colecciones de configuraciones que se aplican automáticamente a usuarios y equipos. El orden de aplicación sigue el acrónimo LSDOU: primero se aplica la directiva local del equipo, luego las del sitio, después las del dominio y finalmente las de la OU; la OU más próxima al objeto tiene la última palabra. Una OU puede bloquear la herencia de las GPO del padre, y una GPO marcada como Forzada no puede ser bloqueada. El comando gpupdate barra force fuerza la actualización inmediata, y gpresult barra r muestra las directivas aplicadas al usuario o equipo actual.

---

### 2.3. Registro y herramientas de administración de Windows

El Registro de Windows es una base de datos jerárquica que almacena toda la configuración del sistema y de las aplicaciones. Se organiza en claves raíz. HKEY_LOCAL_MACHINE o HKLM almacena la configuración del equipo: hardware, sistema operativo y servicios. HKEY_CURRENT_USER o HKCU almacena la configuración del usuario que ha iniciado sesión. HKEY_CLASSES_ROOT o HKCR gestiona las asociaciones de tipos de archivo y los objetos COM.

Las herramientas de administración de Windows más importantes son las siguientes. El Administrador de tareas, que se invoca con taskmgr, muestra procesos, rendimiento, usuarios y servicios. El Visor de eventos, accesible con eventvwr.msc, contiene los logs del sistema, la seguridad y las aplicaciones. El Monitor de recursos, con resmon, muestra el uso de CPU, memoria, disco y red en tiempo real. El Administrador de discos, con diskmgmt.msc, gestiona particiones y volúmenes. Los Servicios, con services.msc, permiten iniciar, detener y configurar los servicios del sistema. El Editor de directivas locales, con gpedit.msc, permite configurar políticas de seguridad.

---

### 2.4. Comandos CMD y PowerShell

Los comandos de la línea de comandos de Windows más importantes para el examen son los siguientes. El comando ipconfig con la opción all muestra la configuración completa de red incluyendo la dirección MAC. Los comandos ping y tracert sirven para diagnosticar conectividad. Los comandos tasklist y taskkill permiten ver y terminar procesos. El comando sfc con la opción scannow repara los archivos protegidos del sistema. El comando chkdsk repara errores en el disco. El comando systeminfo muestra información detallada del sistema. El comando netstat con la opción an muestra conexiones y puertos activos. El comando bcdedit permite ver y editar la configuración de arranque.

PowerShell es el intérprete de comandos moderno de Windows. Los cmdlets más útiles son Get-Process para ver procesos, Stop-Process para terminar un proceso por su PID, Get-Service y Start-Service o Stop-Service para gestionar servicios, Get-EventLog para consultar los registros de eventos, Get-HotFix para ver las actualizaciones instaladas, y Test-Connection como equivalente al ping.

En resumen: Windows se gestiona con la consola de administración y los snap-ins como el administrador de discos, servicios y visor de eventos. La línea de comandos con cmd y PowerShell son fundamentales para el examen. Active Directory gestiona usuarios y políticas en el dominio mediante GPO con el orden LSDOU. Los cinco roles FSMO garantizan la coherencia del directorio.

---

### 2.5. Seguridad en Windows: BitLocker, EFS y Windows Defender

BitLocker es la herramienta de cifrado de disco completo incluida en las ediciones Pro y Enterprise de Windows y en Windows Server. Cifra toda la unidad con el algoritmo AES de 128 o 256 bits, de modo que si el disco es extraído físicamente los datos son ilegibles.

El elemento central de BitLocker es el TPM o Trusted Platform Module, que es un chip integrado en la placa base que almacena las claves de cifrado y verifica que el entorno de arranque no ha sido manipulado. Además del TPM, se puede añadir un PIN de arranque como capa adicional de autenticación. La clave de recuperación es una contraseña de 48 dígitos que permite desbloquear el volumen si falla el TPM o se cambia hardware. BitLocker To Go extiende el cifrado a unidades extraíbles como memorias USB y discos externos.

EFS, que son las siglas de Encrypting File System, es una funcionalidad de NTFS que permite cifrar archivos y carpetas individuales, a diferencia de BitLocker que cifra el disco completo. Cada usuario tiene un certificado digital que protege las claves de cifrado de sus archivos. El cifrado es transparente para el usuario autorizado, que accede con normalidad; para cualquier otro usuario el archivo es ilegible. El administrador puede actuar como agente de recuperación para descifrar archivos si el usuario pierde su certificado.

Windows Defender, ahora llamado Microsoft Defender, es la solución de seguridad integrada en Windows. Tiene varios componentes. El Defender Antivirus protege en tiempo real contra malware. El Defender Firewall filtra el tráfico de red entrante y saliente. Defender SmartScreen bloquea descargas y páginas web maliciosas. Defender for Endpoint es la solución EDR empresarial que detecta amenazas avanzadas y responde a incidentes. Credential Guard aísla las credenciales de dominio en un entorno virtualizado mediante Hyper-V para impedir su robo. WDAC, que son las siglas de Windows Defender Application Control, implementa listas blancas de aplicaciones permitiendo ejecutar únicamente código firmado y de confianza.

El UAC o Control de Cuentas de Usuario es el mecanismo de elevación de privilegios. Cuando una acción requiere permisos de Administrador, el sistema muestra un diálogo de confirmación. Esto limita el impacto del malware que intenta ejecutarse con privilegios elevados en una cuenta estándar.

---

### 2.6. Hyper-V: virtualización en Windows

Hyper-V es el hipervisor de Tipo 1 integrado en Windows Server y en las ediciones Pro y Enterprise de Windows 10 y 11. Al ser de Tipo 1 o bare-metal, se ejecuta directamente sobre el hardware sin necesidad de un sistema operativo anfitrión, lo que lo hace muy eficiente.

Los conceptos básicos de Hyper-V son los siguientes. El equipo físico que tiene Hyper-V instalado se llama host o anfitrión. Cada sistema operativo virtualizado se denomina máquina virtual o VM. Los discos virtuales se almacenan en formato VHD o VHDX; el formato VHDX soporta volúmenes de hasta 64 terabytes. Los checkpoints o instantáneas guardan el estado completo de una VM en un momento determinado y permiten hacer rollback si algo sale mal.

Los switches virtuales en Hyper-V son de tres tipos. El switch externo conecta la VM a la red física del host y tiene acceso a Internet. El switch interno permite la comunicación entre las VMs y el host pero no accede a la red exterior. El switch privado solo permite comunicación entre VMs, sin que el host participe.

La migración en vivo o Live Migration es la capacidad de mover una VM en ejecución de un servidor host a otro sin que haya tiempo de inactividad, lo que es fundamental para el mantenimiento sin interrupción del servicio.

Las Generaciones de las VMs en Hyper-V son dos. La Generación 1 usa BIOS, que es el firmware legacy, y es compatible con la mayoría de sistemas operativos. La Generación 2 usa UEFI y es más moderna; soporta Secure Boot, tiene mejor rendimiento y es compatible con Windows 2012 o superior y con distribuciones Linux modernas.

---

## 3. Sistemas operativos Linux y Unix

### 3.1. Distribuciones y estructura de directorios FHS

Linux no es un único sistema operativo sino una familia de distribuciones basadas en el kernel Linux. Las distribuciones se agrupan en familias según el gestor de paquetes. La familia Debian incluye Ubuntu y Linux Mint y usa el gestor apt con paquetes deb. La familia Red Hat incluye RHEL, CentOS Stream, Fedora y Rocky Linux y usa yum o dnf con paquetes rpm. La familia SUSE incluye openSUSE y SLES y usa zypper.

La estructura de directorios de Linux está estandarizada por el FHS o Filesystem Hierarchy Standard. El directorio raíz, representado por una barra, contiene todos los demás. El directorio etc contiene los archivos de configuración del sistema. El directorio home contiene los directorios personales de los usuarios. El directorio var contiene datos variables como los logs en var log. El directorio tmp contiene archivos temporales que se borran al reiniciar. El directorio dev contiene los dispositivos hardware representados como archivos. El directorio proc es un sistema de ficheros virtual con información de los procesos y del kernel en ejecución. El directorio boot contiene el kernel, la imagen initrd y el bootloader GRUB. El directorio bin y usr bin contienen los ejecutables de usuario, y sbin los ejecutables de administración.

---

### 3.2. Gestión de usuarios y permisos en Linux

Los comandos de gestión de usuarios más importantes son los siguientes. El comando useradd con el modificador m crea un usuario con su directorio home. El comando passwd seguido del nombre asigna o cambia la contraseña. El comando userdel con el modificador r elimina el usuario y su directorio home. El comando usermod con los modificadores aG permite añadir un usuario a un grupo adicional sin eliminarle de los grupos actuales. El comando id muestra el UID, el GID y los grupos del usuario.

Los ficheros clave para la gestión de usuarios son los siguientes. El fichero etc passwd contiene la lista de usuarios con su nombre, UID, GID, directorio home y shell. El fichero etc shadow contiene las contraseñas en forma de hash cifrado y las políticas de expiración. El fichero etc group contiene los grupos del sistema. El fichero etc sudoers define qué usuarios pueden ejecutar comandos como root mediante sudo.

Los permisos en Linux se expresan con tres letras para tres categorías de usuarios. La letra r significa lectura y tiene valor octal cuatro. La letra w significa escritura y tiene valor octal dos. La letra x significa ejecución y tiene valor octal uno. Las categorías son propietario, grupo y otros, en ese orden. El comando chmod seguido de un número de tres cifras establece los permisos: por ejemplo chmod 755 otorga al propietario todos los permisos con siete, que es la suma de cuatro más dos más uno, y al grupo y a otros lectura y ejecución con cinco, que es cuatro más uno. El comando chown cambia el propietario y el grupo de un archivo.

Hay tres permisos especiales importantes. El setuid hace que un ejecutable se ejecute con los permisos del propietario del archivo, no del usuario que lo lanza, lo cual es relevante en programas como passwd. El setgid hace lo mismo pero con los permisos del grupo. El sticky bit, cuando se aplica a un directorio, impide que los usuarios borren archivos de otros usuarios; el ejemplo más conocido es el directorio tmp.

---

### 3.3. Comandos esenciales de Linux

Los comandos de gestión de ficheros fundamentales son ls con la opción la para listar archivos con permisos y ocultos, cp y mv para copiar y mover, rm con rf para eliminar directorios, mkdir con p para crear directorios con sus padres, find para buscar archivos por nombre o propiedades, grep para buscar texto en archivos, y tar con czf para comprimir directorios.

Para gestión de procesos se usan ps aux para ver todos los procesos, top o htop para un monitor interactivo, kill con la señal 9 para forzar la terminación de un proceso por su PID, y nice o renice para ajustar la prioridad.

Para diagnóstico de red se usan ip addr para ver las interfaces, ping para comprobar conectividad, traceroute para ver la ruta de los paquetes, y ss con tulpn para ver qué puertos están a la escucha y qué procesos los usan.

Para gestión de disco se usan df con h para ver el espacio libre en los sistemas de ficheros, du con sh para ver el tamaño de un directorio, lsblk para ver los discos y sus particiones, y mount para montar sistemas de ficheros.

Para actualizar el sistema en distribuciones Debian se usa apt update para actualizar los repositorios y apt upgrade para actualizar los paquetes. En distribuciones Red Hat se usa yum update o dnf update.

---

### 3.4. Gestión de servicios con systemd

systemd es el sistema de inicio moderno que reemplaza al SysVinit en todas las distribuciones Linux actuales. Se gestiona con el comando systemctl.

Los subcomandos más importantes son start para iniciar un servicio, stop para detenerlo, restart para reiniciarlo, reload para recargar su configuración sin interrumpirlo, enable para activar su inicio automático con el sistema, disable para desactivarlo, y status para ver su estado actual.

systemd organiza los estados del sistema en targets que equivalen a los runlevels del SysVinit. El target poweroff equivale al runlevel 0 y apaga el sistema. El target rescue equivale al runlevel 1 y arranca en modo monousuario para reparación. El target multi-user equivale al runlevel 3 y arranca en modo multiusuario sin entorno gráfico. El target graphical equivale al runlevel 5 y arranca con entorno gráfico. El target reboot equivale al runlevel 6 y reinicia el sistema.

En resumen: Linux se organiza en distribuciones de las familias Debian, Red Hat y SUSE con distintos gestores de paquetes. La estructura FHS define dónde va cada tipo de fichero. Los permisos se expresan con rwx en notación simbólica o con números octales. systemd gestiona los servicios y los niveles de ejecución.

---

### 3.5. Firewall en Linux: iptables, nftables y ufw

El kernel de Linux incluye el subsistema Netfilter que implementa el filtrado de paquetes de red. Las herramientas de espacio de usuario que permiten configurar Netfilter son tres principalmente. La más clásica es iptables, que aunque sigue siendo muy usada está siendo reemplazada progresivamente por nftables, que es la herramienta moderna con sintaxis unificada para IPv4 e IPv6. En distribuciones Ubuntu existe además ufw, que son las siglas de Uncomplicated Firewall, una interfaz simplificada que facilita la gestión del firewall sin tener que aprender la sintaxis compleja de iptables. En distribuciones Red Hat y Fedora el firewall se gestiona con firewalld, que usa nftables como backend y organiza las reglas en zonas.

Las cadenas de iptables son los puntos de inspección por los que pasa el tráfico. La cadena INPUT inspecciona los paquetes destinados al propio equipo. La cadena OUTPUT inspecciona los paquetes generados por el equipo. La cadena FORWARD inspecciona los paquetes que el equipo enruta hacia otro destino. Cada paquete que llega a una cadena se compara con las reglas en orden hasta encontrar una coincidencia; si la hay, se aplica el objetivo: ACCEPT para aceptar, DROP para descartar silenciosamente, o REJECT para descartar enviando un error al emisor.

Con ufw, las operaciones más comunes son activarlo con ufw enable, ver el estado con ufw status verbose, permitir un servicio con ufw allow 22 barra tcp para SSH, y eliminar una regla con ufw delete allow 22 barra tcp.

---

### 3.6. SELinux y AppArmor: control de acceso obligatorio

Los permisos estándar de Linux son discrecionales, lo que significa que el propietario puede conceder o revocar permisos libremente. El control de acceso obligatorio o MAC añade una capa de restricciones impuesta por el sistema operativo que ni el propietario ni el administrador puede ignorar fácilmente.

SELinux, que son las siglas de Security-Enhanced Linux, fue desarrollado por la NSA e integrado directamente en el kernel de Linux. Es el estándar en distribuciones de la familia Red Hat. Funciona asignando contextos de seguridad a cada proceso, fichero y puerto de red; el kernel verifica que el contexto del proceso tiene permiso para acceder al contexto del recurso antes de permitir cualquier operación.

SELinux tiene tres modos de operación. En modo Enforcing aplica la política de seguridad y bloquea las acciones no permitidas. En modo Permissive solo registra en el log las violaciones pero no las bloquea; es muy útil para depurar problemas de SELinux sin interrumpir el servicio. En modo Disabled SELinux está completamente desactivado; cambiar a este modo requiere reiniciar el sistema.

Los comandos básicos son getenforce para ver el modo actual, setenforce cero para pasar a permissive temporalmente, y ls con la opción Z para ver el contexto SELinux de un fichero. Si SELinux bloquea una acción legítima, se puede analizar el log de auditoría con audit2allow para generar una política personalizada que permita esa acción.

AppArmor es la alternativa a SELinux. Es el estándar en Ubuntu y Debian. En lugar de contextos globales, AppArmor usa perfiles por aplicación definidos en ficheros de texto; cada perfil especifica a qué ficheros y puertos puede acceder ese programa. El comando aa-status muestra los perfiles cargados y su modo, y aa-enforce pone un perfil en modo de aplicación estricto.

---

### 3.7. LVM: gestión lógica de volúmenes

LVM es el Logical Volume Manager, el sistema de gestión de almacenamiento de Linux que permite crear volúmenes flexibles que se pueden redimensionar, extender con nuevos discos y usar para snapshots sin reiniciar el sistema.

La arquitectura de LVM tiene tres niveles. En el nivel inferior están los volúmenes físicos o PV, que son discos o particiones inicializados para LVM con el comando pvcreate. Los PV se combinan en grupos de volumen o VG, que actúan como un pool de almacenamiento; se crean con vgcreate. Dentro de un VG se crean los volúmenes lógicos o LV, que son los volúmenes que el sistema operativo ve como si fueran particiones; se crean con lvcreate. Sobre los LV se crea el sistema de ficheros con mkfs y se montan en el árbol de directorios.

La gran ventaja de LVM es la flexibilidad. Para extender un LV sin reiniciar se usa lvextend para aumentar su tamaño y después resize2fs en ext4 o xfs_growfs en XFS para que el sistema de ficheros use el espacio nuevo. También se pueden crear snapshots de LVM, que son instantáneas del estado del LV en un momento dado usando la técnica copy-on-write, muy útiles para hacer backups consistentes de bases de datos o para pruebas.

---

### 3.8. Scripting bash básico

Bash es el intérprete de comandos estándar en Linux. Los scripts de bash permiten automatizar tareas repetitivas combinando comandos del sistema con estructuras de control de flujo.

Un script comienza con la línea shebang, que es una almohadilla seguida de una exclamación y la ruta al intérprete: barra bin barra bash. Las variables se definen sin espacios alrededor del signo igual y se referencian con el símbolo del dólar. Para capturar la salida de un comando en una variable se usa la sustitución de comandos con el símbolo del dólar y paréntesis. La variable especial interrogación contiene el código de retorno del último comando, donde cero significa éxito y cualquier otro valor indica error.

Las estructuras de control son las habituales. El condicional if comprueba una condición entre corchetes, ejecuta el bloque then si es verdadera, opcionalmente un bloque elif para condiciones adicionales, y un bloque else para el caso contrario, terminando con fi. El bucle for itera sobre una lista de elementos ejecutando el cuerpo del bucle para cada uno. El bucle while repite el cuerpo mientras la condición sea verdadera.

Para diagnosticar ficheros o directorios en los condicionales se usan operadores como menos f para comprobar si es un fichero regular, menos d para directorio, menos e para que exista, y menos r o menos w o menos x para comprobar permisos de lectura, escritura o ejecución respectivamente.

La programación de tareas en Linux se gestiona con cron. El formato de un crontab tiene cinco campos antes del comando: minuto, hora, día del mes, mes y día de la semana. El asterisco significa cualquier valor. Por ejemplo, cero dos asterisco asterisco asterisco significa las dos de la mañana todos los días. La barra indica incrementos: asterisco barra quince en el campo de minutos significa cada quince minutos. El comando crontab con e edita el crontab del usuario actual, y con l lo muestra.

---

## 4. Virtualización y contenedores

### 4.1. Conceptos de virtualización

La virtualización es la tecnología que permite ejecutar múltiples sistemas operativos o entornos aislados sobre el mismo hardware físico. Sus principales beneficios para la administración de sistemas son la consolidación, que permite reducir el número de servidores físicos ejecutando múltiples sistemas virtuales en uno solo; el aislamiento, que garantiza que los problemas de una VM no afectan a las demás; la portabilidad, que permite mover las VMs entre hosts; la alta disponibilidad mediante migración en vivo; los snapshots para rollback rápido; y la facilidad para crear entornos de prueba sin afectar a producción.

La terminología básica es la siguiente. El hipervisor o VMM es el software que gestiona las VMs y presenta hardware virtual a cada una. El equipo físico donde corre el hipervisor se llama host o anfitrión. El sistema operativo que corre dentro de una VM se llama guest o invitado. Los discos virtuales tienen distintos formatos según el producto: VDI en VirtualBox, VMDK en VMware, VHD o VHDX en Hyper-V.

---

### 4.2. Hipervisores Tipo 1 y Tipo 2

Los hipervisores se clasifican en dos tipos. Los de Tipo 1, también llamados bare-metal, se ejecutan directamente sobre el hardware sin un sistema operativo intermedio. Tienen un rendimiento muy alto y se usan en producción y centros de datos. Los ejemplos más importantes son VMware ESXi, Hyper-V de Microsoft y KVM en Linux.

Los de Tipo 2, también llamados hosted, se ejecutan como una aplicación sobre un sistema operativo anfitrión. Son más fáciles de instalar y se usan en entornos de desarrollo y pruebas. Los ejemplos más conocidos son VirtualBox de Oracle y VMware Workstation.

KVM, que son las siglas de Kernel-based Virtual Machine, es especialmente importante porque es el hipervisor estándar en Linux. Es un módulo del propio kernel de Linux que convierte el sistema en un hipervisor de Tipo 1. Se gestiona mediante la biblioteca libvirt con el cliente de línea de comandos virsh y con la interfaz gráfica virt-manager.

VMware es la plataforma de virtualización más extendida en entornos empresariales. ESXi es el hipervisor bare-metal. vCenter Server es el servidor de gestión centralizada que administra múltiples hosts ESXi desde una única consola. vSphere es el nombre comercial del conjunto ESXi más vCenter. vMotion es la funcionalidad de migración en vivo de VMs entre hosts sin interrumpir el servicio, equivalente al Live Migration de Hyper-V.

---

### 4.3. Contenedores: Docker

Los contenedores son entornos ligeros de ejecución que, a diferencia de las VMs, no tienen un sistema operativo completo: comparten el kernel del sistema operativo anfitrión. Esto los hace mucho más ligeros, tanto en tamaño, medido en megabytes en lugar de gigabytes, como en tiempo de inicio, medido en segundos en lugar de minutos.

Docker es la plataforma de contenedores más extendida. Sus conceptos fundamentales son cuatro. Una imagen es la plantilla inmutable que contiene el sistema operativo base y la aplicación. Un contenedor es una instancia en ejecución de una imagen. Un Dockerfile es el fichero de texto con las instrucciones para construir una imagen a partir de una base. Un registry es el repositorio de imágenes; el más conocido es Docker Hub.

Los comandos Docker más importantes son los siguientes. docker ps muestra los contenedores en ejecución; con la opción a muestra también los parados. docker images lista las imágenes disponibles localmente. docker pull descarga una imagen del registry. docker run crea y ejecuta un contenedor: la opción d lo ejecuta en segundo plano, la opción p mapea un puerto del host a un puerto del contenedor, y la opción name le asigna un nombre. docker stop y docker start detienen e inician un contenedor. docker exec con las opciones it permite acceder al shell del contenedor. docker logs muestra la salida del contenedor. docker build con la opción t construye una imagen desde un Dockerfile en el directorio actual.

Docker Compose es una herramienta para definir y ejecutar aplicaciones multi-contenedor usando un fichero YAML llamado docker-compose.yml, donde se declaran los servicios, sus imágenes, puertos y dependencias.

---

### 4.4. Kubernetes: orquestación de contenedores

Kubernetes, abreviado K8s, es la plataforma estándar para orquestar contenedores a escala. Gestiona el despliegue, el escalado automático y la alta disponibilidad de aplicaciones en contenedores en un clúster de servidores.

La arquitectura de Kubernetes tiene dos planos. El plano de control o control plane gestiona el clúster y está compuesto por el kube-apiserver que es el punto de entrada para todas las operaciones, etcd que es la base de datos clave-valor que almacena el estado del clúster, el kube-scheduler que decide en qué nodo worker se ejecuta cada carga de trabajo, y el kube-controller-manager que asegura que el estado real del clúster coincide con el estado deseado. Los nodos worker son las máquinas que ejecutan los contenedores; en cada nodo corre el kubelet que recibe instrucciones del apiserver y gestiona los contenedores, y el kube-proxy que gestiona las reglas de red.

Los objetos de Kubernetes más importantes son los siguientes. El Pod es la unidad mínima de despliegue y contiene uno o más contenedores que comparten red y almacenamiento. El Deployment gestiona un conjunto de Pods replicados con capacidad de actualización controlada sin tiempo de inactividad. El Service expone un conjunto de Pods como un servicio de red con una IP y nombre estables, independientemente de qué Pods estén corriendo. El Namespace es una partición lógica del clúster para separar entornos como desarrollo, pruebas y producción. Los ConfigMaps y Secrets almacenan configuración y datos sensibles respectivamente.

---

## 5. Almacenamiento: RAID, SAN y NAS

### 5.1. RAID

RAID son las siglas de Redundant Array of Independent Disks, que en español significa Conjunto Redundante de Discos Independientes. Es la tecnología que combina varios discos físicos para conseguir mayor rendimiento, mayor capacidad o mayor tolerancia a fallos.

Los niveles RAID más importantes para el examen son cinco. RAID 0, también llamado striping o distribuido, divide los datos entre dos o más discos para maximizar el rendimiento de lectura y escritura. Su punto débil es que no tiene ninguna tolerancia a fallos: si falla un disco se pierden todos los datos. Se usa para edición de vídeo u otras aplicaciones donde el rendimiento es lo único que importa.

RAID 1, también llamado espejo o mirroring, replica exactamente los mismos datos en dos discos. Si falla uno, el otro sigue funcionando. Su desventaja es que solo aprovecha el cincuenta por ciento del espacio. Se usa para el disco del sistema operativo y bases de datos pequeñas donde la disponibilidad es crítica.

RAID 5 distribuye los datos y la información de paridad entre tres o más discos. Con la paridad se puede reconstruir el contenido de un disco fallido. Aprovecha n menos uno discos sobre el total n y tolera el fallo de un único disco. Es el nivel más usado en servidores de ficheros y NAS.

RAID 6 es igual que RAID 5 pero con doble paridad, lo que permite tolerar el fallo de hasta dos discos simultáneamente. Requiere un mínimo de cuatro discos y aprovecha n menos dos. Se usa cuando los discos son grandes y el tiempo de reconstrucción es largo.

RAID 10, también escrito como RAID 1 más 0, combina espejo y striping: primero forma parejas de espejos y luego distribuye los datos entre ellas. Requiere mínimo cuatro discos, aprovecha el cincuenta por ciento y tolera el fallo de un disco por cada pareja de espejos. Es el preferido para bases de datos de alto rendimiento.

---

### 5.2. DAS, NAS y SAN

El almacenamiento puede conectarse a los servidores de tres formas. El DAS o Direct Attached Storage es el almacenamiento conectado directamente al servidor mediante cable SATA, SAS o USB; es sencillo y rápido pero no se puede compartir entre varios servidores. El NAS o Network Attached Storage es un dispositivo de almacenamiento conectado a la red de datos; los servidores acceden a él mediante protocolos de ficheros: NFS en Linux y SMB barra CIFS en Windows. El SAN o Storage Area Network es una red dedicada de alta velocidad exclusivamente para almacenamiento; usa protocolos de bloque como iSCSI o Fibre Channel y presenta el almacenamiento a los servidores como si fuera un disco local.

La diferencia clave entre NAS y SAN es el nivel de acceso. El NAS trabaja a nivel de fichero: el cliente pide un fichero y el NAS lo devuelve. El SAN trabaja a nivel de bloque: el servidor ve un disco lógico y gestiona el sistema de ficheros él mismo, lo que ofrece mayor rendimiento para bases de datos.

---

## 6. Copias de seguridad

### 6.1. Tipos de copia de seguridad

Las copias de seguridad se clasifican según qué datos incluyen. La copia completa o full copia todos los datos y es la más sencilla de restaurar porque solo necesita un conjunto. Su desventaja es que es la más lenta y ocupa el mayor espacio.

La copia incremental solo guarda los cambios realizados desde la última copia, ya sea completa o incremental anterior. Es muy rápida y ocupa poco espacio, pero la restauración es lenta porque hay que aplicar la copia completa más todas las incrementales en orden.

La copia diferencial guarda todos los cambios desde la última copia completa. Es más rápida de restaurar que la incremental porque solo se necesitan la copia completa y el último diferencial, pero con el tiempo ocupa cada vez más espacio.

La copia sintética full construye una nueva copia completa combinando la última full y los incrementales sin necesidad de acceder al origen. Esto libera carga al servidor de producción durante el proceso.

Una estrategia común es combinar una copia completa semanal con copias incrementales diarias de lunes a sábado. Para restaurar al jueves habría que usar la copia del domingo más las del lunes, martes y miércoles.

---

### 6.2. RTO, RPO y la regla 3-2-1

Dos métricas fundamentales en la planificación de recuperación ante desastres son el RTO y el RPO. El RTO, Recovery Time Objective, es el tiempo máximo tolerable para restablecer el servicio tras un incidente. Si el RTO es de cuatro horas, el servicio debe estar operativo en menos de cuatro horas desde el fallo. El RPO, Recovery Point Objective, es la máxima cantidad de datos que se puede perder, expresada en tiempo. Si el RPO es de una hora, las copias de seguridad deben realizarse al menos cada hora porque en el peor caso se perderá una hora de datos.

La regla 3-2-1 es la estrategia de backup más ampliamente recomendada. Se basa en tres principios: mantener tres copias de los datos, incluyendo el original; almacenarlas en dos soportes o tecnologías diferentes, como disco local y nube; y asegurarse de que al menos una copia esté fuera de las instalaciones, para protegerse ante desastres físicos como un incendio o inundación. Una extensión moderna es la regla 3-2-1-1-0: la primera unidad extra es tener una copia offline o desconectada de la red para protegerse ante ransomware, y el cero final significa que cada copia debe verificarse para garantizar que tiene cero errores.

---

### 6.3. Herramientas de backup

En Windows las herramientas de backup más importantes son las siguientes. El comando wbadmin permite gestionar el backup de Windows Server desde la línea de comandos. El servicio VSS, que son las siglas de Volume Shadow Copy Service, crea instantáneas de volumen que permiten copiar ficheros aunque estén abiertos y en uso; es la base de la mayoría de los productos de backup en Windows. El comando robocopy con la opción MIR realiza una copia espejo incremental entre dos directorios. Azure Backup es el servicio gestionado de Microsoft en la nube para backup.

En Linux las herramientas principales son rsync, que sincroniza ficheros de forma incremental y eficiente tanto localmente como por red sobre SSH; tar con las opciones czf para crear ficheros comprimidos de archivado; dd para copias bit a bit de discos completos; y soluciones empresariales como Bacula o Bareos para entornos con múltiples servidores. BorgBackup y restic son herramientas modernas que añaden deduplicación y cifrado, ideales para backups que se almacenan en la nube.

---

## 7. Alta disponibilidad y clustering

### 7.1. Conceptos de alta disponibilidad

La alta disponibilidad, abreviada HA, es el conjunto de técnicas y tecnologías que garantizan que un servicio esté disponible el mayor porcentaje de tiempo posible. Se mide con el SLA o acuerdo de nivel de servicio. Los niveles de disponibilidad más comunes se expresan como "nueves": una disponibilidad del noventa y nueve coma nueve por ciento, llamada tres nueves, permite un máximo de ocho horas y media de caída al año; cuatro nueves, noventa y nueve coma noventa y nueve, permiten solo 52 minutos; y cinco nueves, noventa y nueve coma noventa y nueve nueve, permite apenas cinco minutos de interrupción anual.

Los conceptos clave son los siguientes. Un punto único de fallo o SPF es cualquier componente cuyo fallo detendría todo el servicio; la alta disponibilidad trata de eliminarlos. El failover es la transferencia automática del servicio al nodo de respaldo cuando el principal falla. El failback es el retorno al nodo principal una vez reparado. En un esquema activo-activo todos los nodos sirven tráfico simultáneamente. En un esquema activo-pasivo un nodo sirve y el otro espera en caliente, listo para tomar el relevo en segundos.

---

### 7.2. Clustering en Windows y Linux

En Windows, la alta disponibilidad a nivel de servidor se consigue con WSFC, que son las siglas de Windows Server Failover Clustering. WSFC requiere almacenamiento compartido, normalmente a través de SAN, y usa el quórum como mecanismo de votación para decidir qué nodo es el activo y evitar el fenómeno de split-brain, que ocurre cuando dos nodos creen simultáneamente ser el activo. SQL Server Always On Availability Groups es la solución de alta disponibilidad de bases de datos que funciona sin necesidad de almacenamiento compartido, replicando los datos entre nodos.

En Linux la alta disponibilidad se implementa combinando dos herramientas. Corosync gestiona la capa de comunicación entre nodos: el heartbeat, que es el pulso periódico que permite saber si un nodo está vivo. Pacemaker gestiona los recursos del clúster y decide qué nodo debe ejecutar cada servicio basándose en la información de Corosync. DRBD, que son las siglas de Distributed Replicated Block Device, actúa como un RAID 1 a través de la red, replicando un volumen de bloque entre dos nodos en tiempo real.

---

### 7.3. Balanceo de carga

El balanceador de carga distribuye las peticiones entrantes entre varios servidores para maximizar el rendimiento y evitar que un único servidor se sature. Los algoritmos de distribución más comunes son Round Robin, que reparte las peticiones cíclicamente entre todos los servidores; Round Robin ponderado, que envía más peticiones a los servidores más potentes; Least Connections, que envía la siguiente petición al servidor con menos conexiones activas; e IP Hash, que garantiza que un mismo cliente siempre va al mismo servidor, lo cual es necesario cuando la aplicación guarda estado de sesión en el servidor.

Las soluciones de balanceo más conocidas son HAProxy, que es un balanceador de código abierto para Linux con un rendimiento muy alto; Nginx, que además de servidor web actúa como proxy inverso y balanceador; el NLB de Windows Server, que es el Network Load Balancing integrado; y soluciones comerciales como F5 BIG-IP para entornos de alto rendimiento.

---

## 8. Actualización del sistema operativo

### 8.1. Tipos de actualizaciones

Las actualizaciones del sistema operativo se clasifican según su finalidad y urgencia. Las actualizaciones de seguridad corrigen vulnerabilidades identificadas y catalogadas con un identificador CVE; son las más urgentes y deben aplicarse lo antes posible. Los parches o hotfixes corrigen un error concreto específico. Las actualizaciones funcionales añaden nuevas características al sistema. Los service packs en Windows y los feature updates son conjuntos acumulados de actualizaciones previas que se despliegan de forma planificada. Las actualizaciones de firmware mejoran la BIOS, la UEFI o el firmware de los dispositivos y se aplican según necesidad.

---

### 8.2. Estrategias y herramientas de actualización centralizada

En función del entorno, existen distintas estrategias de actualización. La actualización automática es adecuada para usuarios finales: el sistema descarga e instala sin intervención. La actualización manual es la que aplica el administrador en cada servidor crítico de forma controlada. La actualización programada se aplica en una ventana de mantenimiento planificada fuera del horario de uso. La actualización centralizada es la usada en entornos corporativos y en la Administración Pública: un servidor centralizado gestiona y distribuye las actualizaciones a todos los equipos de la red.

Las herramientas de gestión centralizada más importantes son las siguientes. WSUS, que son las siglas de Windows Server Update Services, es la herramienta de Microsoft para aprobar y distribuir actualizaciones de Windows en una red corporativa. SCCM, ahora llamado Endpoint Configuration Manager, va más allá y gestiona parches, inventario y despliegue de software. En entornos Linux se usa Ansible para automatizar la aplicación de parches, Red Hat Satellite para entornos Red Hat, y Landscape para servidores Ubuntu.

---

### 8.3. Buenas prácticas en la actualización

Las buenas prácticas en la gestión de actualizaciones son las siguientes. Siempre hay que probar las actualizaciones en un entorno de pruebas o staging antes de aplicarlas en producción. Hay que realizar una copia de seguridad antes de cualquier cambio importante. Las actualizaciones de seguridad críticas deben aplicarse con la mayor urgencia posible. Todos los cambios deben documentarse indicando qué se actualizó, cuándo y quién lo hizo. Debe existir siempre un plan de rollback o vuelta atrás para revertir la actualización si produce problemas. Y en sistemas críticos es necesario usar ventanas de mantenimiento en horas de baja actividad.

En resumen: los tipos de actualizaciones van de más a menos urgente: seguridad ante CVE, parche, funcional y service pack. En la Administración Pública se usa gestión centralizada con WSUS o Ansible. Las buenas prácticas son probar en staging, hacer backup, documentar y tener plan de rollback.

---

## 9. Mantenimiento del sistema operativo

### 9.1. Tipos de mantenimiento

El mantenimiento del sistema operativo se clasifica en cuatro tipos. El mantenimiento preventivo se realiza antes de que ocurra el fallo con el objetivo de evitarlo; incluye tareas como monitorizar el disco, revisar los logs periódicamente y limpiar archivos temporales. El mantenimiento correctivo se aplica tras detectar un fallo para solucionarlo; ejemplos son reparar un archivo corrupto o restaurar un backup. El mantenimiento evolutivo es una mejora planificada que añade funcionalidad o mejora el rendimiento, como migrar a una nueva versión del sistema operativo. El mantenimiento perfectivo es la optimización continua sin cambiar la funcionalidad, como ajustar parámetros del kernel para mejorar el rendimiento.

---

### 9.2. Tareas y herramientas de mantenimiento

Las tareas de mantenimiento más habituales y sus herramientas son las siguientes.

Para la limpieza de temporales en Windows se usa la herramienta Liberador de espacio en disco o cleanmgr, y la carpeta percent temp. En Linux se eliminan los archivos de la carpeta tmp y se usa apt autoremove para paquetes huérfanos.

La desfragmentación solo es necesaria en discos duros mecánicos. En Windows se usa el comando defrag. En Linux no es necesaria porque los sistemas de ficheros ext4 y XFS gestionan el espacio de forma eficiente, y los SSD no deben desfragmentarse.

La comprobación de disco se realiza en Windows con el comando chkdsk con los modificadores f y r, y en Linux con fsck sobre la partición desmontada.

La gestión de logs es clave para el mantenimiento preventivo. En Windows se usa el Visor de eventos. En Linux los logs están en el directorio var log y se consultan con journalctl o con el comando tail seguido del fichero de log.

Las copias de seguridad se programan en Windows con la herramienta wbadmin o con robocopy para copias incrementales. En Linux se usa rsync para sincronización incremental, tar para copias comprimidas y cron para la programación automática.

La planificación de tareas se hace en Windows con el Programador de tareas, y en Linux con crontab.

---

### 9.3. Monitorización del sistema

La monitorización es una parte esencial del mantenimiento preventivo. Las métricas principales a supervisar son el uso de CPU, el uso de memoria RAM, el espacio en disco, la actividad de entrada y salida de disco y el tráfico de red.

En Windows las herramientas de monitorización son el Administrador de tareas para una visión rápida, el Monitor de recursos o resmon para análisis detallado en tiempo real, y el Monitor de rendimiento o perfmon para capturar métricas históricas y alertas.

En Linux las herramientas principales son top y su versión mejorada htop para CPU y memoria en tiempo real, df con h para ver el espacio en disco, iostat para la actividad de disco, ss con tulpn para ver los puertos y procesos que los usan, y journalctl para los logs del sistema.

SNMP es el Protocolo Simple de Administración de Red y es el estándar para la monitorización remota de dispositivos y servidores. Funciona sobre UDP en el puerto 161 y permite que herramientas de monitorización centralizada como Nagios, Zabbix o Prometheus recopilen métricas de forma automática.

En resumen: el mantenimiento es preventivo antes del fallo, correctivo tras el fallo, evolutivo para mejorar y perfectivo para optimizar. Las tareas principales son limpiar, monitorizar, gestionar logs y hacer backups. En Windows se usan taskmgr, eventvwr y perfmon; en Linux top, df y journalctl. SNMP monitoriza en red por UDP 161.

---

## 10. Reparación del sistema operativo

### 10.1. Tipos de fallos

Los fallos de un sistema operativo se clasifican en cinco categorías. Los fallos de arranque ocurren cuando el sistema no puede iniciar correctamente; sus causas son el bootloader dañado o el registro MBR o GPT corrupto, y se manifiestan como una pantalla negra o un mensaje como bootmgr missing en Windows o GRUB rescue en Linux. Los archivos del sistema corruptos pueden surgir por una actualización fallida o un apagado abrupto y producen la pantalla azul o BSOD en Windows y el kernel panic en Linux. Los fallos de hardware como un disco dañado, memoria RAM defectuosa o sobrecalentamiento provocan errores de lectura, cuelgues o reinicios espontáneos. La infección por malware, especialmente ransomware y rootkits, provoca comportamiento anómalo, cifrado de datos o ralentización del sistema. Los fallos por configuración incorrecta debidos a un error humano producen servicios que no arrancan o problemas de red.

---

### 10.2. Técnicas de reparación

Las técnicas de reparación se eligen según la gravedad y el tipo de fallo.

La restauración del sistema se usa cuando un cambio reciente ha causado el fallo: en Windows se accede con rstrui.exe y se selecciona un punto de restauración anterior. En Linux se pueden usar snapshots de LVM o de btrfs.

La reparación de archivos del sistema en Windows se realiza primero con el comando sfc barra scannow, que comprueba y repara los archivos protegidos del sistema. Si sfc no puede resolver el problema, se usa DISM con la opción RestoreHealth, que descarga los archivos correctos desde Windows Update.

La reparación del arranque en Windows se hace desde el entorno de recuperación con los comandos bootrec barra fixmbr para reparar el Master Boot Record, bootrec barra fixboot para reparar el sector de arranque, y bootrec barra rebuildbcd para reconstruir el BCD. En Linux se reinstala GRUB con el comando grub-install sobre el disco y se regenera su configuración con update-grub.

La comprobación de disco se realiza con chkdsk con los modificadores f y r en Windows, y con fsck sobre la partición desmontada en Linux.

Cuando el sistema no arranca normalmente se puede intentar el arranque en modo seguro. En Windows se accede pulsando F8 o desde el menú de recuperación. En Linux se usa el target rescue mediante systemctl o la opción rd.break en el arranque de GRUB.

La reinstalación del sistema operativo es el último recurso cuando el daño es irreparable.

---

### 10.3. Herramientas de diagnóstico y recuperación

En Windows las herramientas principales son las siguientes. El comando sfc barra scannow comprueba y repara los archivos protegidos del sistema. El comando DISM con RestoreHealth repara la imagen del sistema descargando archivos desde Windows Update. El comando chkdsk con f y r comprueba errores en el disco y repara sectores defectuosos. Los comandos bootrec con fixmbr, fixboot y rebuildbcd reparan el arranque desde el entorno de recuperación. El WinPE o Entorno de preinstalación de Windows y el WRE o Entorno de recuperación de Windows permiten arrancar sin sistema operativo operativo para realizar reparaciones.

En Linux las herramientas principales son las siguientes. El comando fsck sobre la partición desmontada comprueba y repara el sistema de ficheros. El comando grub-install reinstala el bootloader. El comando update-grub regenera la configuración de GRUB. Un Live CD o USB permite arrancar un Linux desde un medio externo para reparar el sistema instalado en disco. El comando journalctl con xe muestra los últimos errores del sistema con detalle. La herramienta memtest86 más más realiza diagnóstico de la memoria RAM desde el arranque.

En resumen: los fallos son de arranque, archivos corruptos, hardware, malware o configuración. En Windows se repara con sfc barra scannow, DISM y bootrec. En Linux con fsck y grub-install. El modo seguro en Windows y rescue.target en Linux permiten reparar sin un arranque completo del sistema.

---

## 11. Seguridad en la administración del sistema

### 11.1. Principios de seguridad: la tríada CIA

La seguridad de la información se fundamenta en tres principios que forman la tríada CIA, por sus siglas en inglés. La confidencialidad garantiza que la información solo es accesible para quien está autorizado; se implementa mediante permisos de acceso, cifrado y control de identidades. La integridad garantiza que la información no se modifica sin autorización; se verifica mediante funciones hash, firmas digitales y permisos de solo lectura. La disponibilidad garantiza que los sistemas y la información están accesibles cuando se necesitan; se consigue mediante redundancia, copias de seguridad, sistemas de alimentación ininterrumpida o UPS y configuraciones RAID.

La tríada CIA es la base de los estándares de seguridad como la norma ISO 27001 y el Esquema Nacional de Seguridad, conocido como ENS, que es el marco de referencia obligatorio para la seguridad de los sistemas de información en la Administración Pública española.

---

### 11.2. Medidas técnicas de seguridad en el sistema operativo

Las medidas técnicas de seguridad que se aplican en la administración del sistema operativo son las siguientes.

El control de accesos con mínimo privilegio establece que cada usuario y cada proceso solo debe tener los permisos estrictamente necesarios. En Windows esto se implementa con UAC, el Control de Cuentas de Usuario, y con los permisos NTFS. En Linux se implementa con los permisos rwx, sudo y herramientas como SELinux o AppArmor.

El firewall del sistema operativo filtra el tráfico de red. En Windows es el Windows Defender Firewall. En Linux las herramientas son iptables, nftables o ufw como interfaz simplificada.

El cifrado de disco protege los datos ante acceso físico no autorizado. En Windows la herramienta es BitLocker, que usa el chip TPM del equipo. En Linux la herramienta es LUKS, gestionada con cryptsetup.

La auditoría y los logs registran los eventos del sistema para detectar incidentes de seguridad. En Windows se configuran las políticas de auditoría mediante GPO. En Linux se usa el demonio auditd y los logs del sistema en var log.

La autenticación fuerte combina contraseñas robustas con mecanismos de múltiple factor de autenticación o MFA. En Windows corporativo se pueden usar tarjetas inteligentes o DNIe. En Linux se usan claves SSH y módulos PAM para MFA.

El ENS o Esquema Nacional de Seguridad es el marco obligatorio para la Administración Pública española. Clasifica los sistemas en tres niveles de seguridad, básico, medio y alto, y establece las medidas de protección correspondientes en las tres dimensiones de la tríada CIA.

---

### 11.3. PKI y certificados digitales

La infraestructura de clave pública o PKI es el conjunto de tecnologías, políticas y procedimientos necesarios para gestionar los certificados digitales que permiten la comunicación cifrada y la autenticación en internet.

El fundamento de la PKI es la criptografía asimétrica: cada entidad tiene un par de claves relacionadas matemáticamente. La clave pública se puede distribuir libremente; la clave privada se guarda en secreto. Lo que se cifra con una clave solo puede descifrarse con la otra. Esto permite tanto el cifrado de comunicaciones como la firma digital.

El certificado digital es el documento que vincula una clave pública con la identidad de su propietario. El estándar de formato es X.509. El certificado contiene la clave pública, los datos de identificación del titular, la fecha de expiración y la firma digital de la entidad certificadora que lo ha emitido.

La autoridad de certificación o CA es la entidad de confianza que emite y firma los certificados. La CA raíz es la de mayor nivel; su certificado es autofirmado y está preinstalado en los sistemas operativos y navegadores como ancla de confianza. Las CA intermedias son firmadas por la raíz y son las que habitualmente emiten certificados a usuarios y servidores. When un certificado debe revocarse antes de su expiración, la CA lo incluye en la CRL o lista de certificados revocados, o bien responde a consultas OCSP en tiempo real.

TLS, que son las siglas de Transport Layer Security, es el protocolo que usa los certificados X.509 para establecer comunicaciones cifradas. HTTPS es la versión de HTTP sobre TLS y usa el puerto 443. Cuando el navegador visita un sitio HTTPS verifica el certificado del servidor comprobando que está firmado por una CA de confianza, que no ha expirado y que corresponde al dominio solicitado.

Let's Encrypt es una CA gratuita y automatizada que ha democratizado el uso de HTTPS. Emite certificados válidos noventa días y se renueva automáticamente.

El DNI electrónico, o DNIe, es el documento de identidad español que incorpora un chip con un certificado X.509 del ciudadano. Permite autenticar la identidad ante administraciones y empresas y firmar documentos digitalmente con plena validez jurídica.

---

### 11.4. Esquema Nacional de Seguridad

El Esquema Nacional de Seguridad, conocido como ENS, está regulado por el Real Decreto 311 de 2022, que actualizó el anterior reglamento de 2010. Es de obligado cumplimiento para todas las administraciones públicas españolas y para los proveedores de servicios que traten información de la Administración.

El ENS define cinco dimensiones de seguridad, identificadas con las iniciales DAICT: Disponibilidad, Autenticidad, Integridad, Confidencialidad y Trazabilidad.

Cada sistema de información se clasifica en uno de tres niveles: básico, medio o alto. El nivel básico se aplica cuando un incidente de seguridad causaría un perjuicio limitado. El nivel medio se aplica cuando el daño sería grave para los intereses de la organización. El nivel alto se aplica cuando el impacto sería muy grave y podría comprometer los intereses nacionales.

El proceso de adecuación al ENS tiene varias fases. Primero se realiza un análisis diferencial para identificar qué medidas ya se cumplen y cuáles faltan. Luego se realiza el análisis y gestión de riesgos, para el que la Administración española usa la metodología MAGERIT. A continuación se elabora un plan de adecuación con las medidas a implantar. Después se implantan las medidas y se elabora la Declaración de Aplicabilidad. Para los sistemas de nivel medio y alto es obligatoria una auditoría cada dos años realizada por un auditor independiente acreditado por ENAC. La acreditación resultante es la Certificación ENS.

La relación con ISO 27001 es complementaria: el ENS es obligatorio por ley en la administración española, mientras que ISO 27001 es una norma internacional voluntaria. Ambas tienen un enfoque de ciclo de mejora continua y obtener la certificación ISO 27001 facilita la adecuación al ENS.

---

### 11.5. Hardening del sistema operativo

El hardening es el proceso de reducir la superficie de ataque del sistema eliminando o deshabilitando todo lo que no es estrictamente necesario y configurando correctamente lo que sí se usa.

Los principios fundamentales del hardening son cuatro. El mínimo privilegio establece que cada usuario y proceso tiene solo los permisos imprescindibles. La superficie de ataque mínima implica desinstalar servicios, aplicaciones y características que no se usan. La defensa en profundidad usa múltiples capas de seguridad de forma que si una falla las otras siguen protegiendo. El principio fail-secure establece que ante un error el sistema debe quedar en estado seguro, denegando el acceso por defecto.

Las medidas de hardening en Windows incluyen deshabilitar servicios innecesarios como Telnet o Remote Registry, configurar directivas de contraseñas robustas con mínimo doce caracteres y complejidad habilitada, deshabilitar protocolos legacy como LLMNR y NetBIOS que son vulnerables a ataques de envenenamiento, activar BitLocker, mantener el sistema actualizado con los últimos parches, y usar WDAC para listas blancas de aplicaciones.

Las medidas de hardening en Linux incluyen deshabilitar el acceso SSH con la cuenta root configurando PermitRootLogin no en el fichero de configuración de SSH, usar autenticación por claves SSH en lugar de contraseñas, instalar y configurar fail2ban para bloquear automáticamente las IPs que realicen múltiples intentos fallidos de login, activar auditd para el registro de llamadas al sistema, usar SELinux o AppArmor para control de acceso obligatorio, y configurar umask restrictivo para que los ficheros nuevos no tengan permisos para otros usuarios.

Los CIS Benchmarks son guías de referencia de seguridad publicadas por el Center for Internet Security con recomendaciones concretas para cada sistema operativo y versión. En Linux la herramienta lynis automatiza la auditoría de seguridad y genera un informe con las medidas implementadas y las que faltan.

---

### 11.6. LOPD, RGPD y la protección de datos en sistemas

Los administradores de sistemas gestionan servidores que procesan datos personales, por lo que deben conocer la normativa de protección de datos aplicable.

El RGPD es el Reglamento General de Protección de Datos de la Unión Europea, con referencia 2016 barra 679. Entró en vigor en mayo de 2018 y es directamente aplicable en todos los estados miembros. La LOPDGDD es la Ley Orgánica 3 de 2018 que adapta el RGPD al ordenamiento jurídico español. La AEPD, Agencia Española de Protección de Datos, es la autoridad de control en España.

Los principios del RGPD con implicaciones directas para la administración de sistemas son los siguientes. El principio de limitación de la finalidad establece que los logs del sistema no pueden usarse para finalidades distintas al mantenimiento y la seguridad. El principio de minimización de datos implica no recopilar ni retener más información de la estrictamente necesaria. El principio de limitación del plazo de conservación obliga a definir y cumplir plazos de retención para los logs: una práctica habitual es seis meses para logs de acceso. El principio de integridad y confidencialidad exige aplicar medidas técnicas adecuadas como cifrado y control de accesos.

Las obligaciones prácticas más importantes son tres. Ante una brecha de seguridad que suponga riesgo para los derechos de los afectados, el responsable del tratamiento tiene la obligación de notificarla a la AEPD en un plazo máximo de 72 horas desde que tiene conocimiento de ella. La figura del DPO o Delegado de Protección de Datos es obligatoria en las administraciones públicas y en organizaciones que traten datos a gran escala. La DPIA o Evaluación de Impacto relativa a la Protección de Datos es obligatoria antes de implantar tratamientos que impliquen alto riesgo, como videovigilancia o perfilado de personas.

---

En resumen: la seguridad del sistema operativo se basa en la tríada CIA: confidencialidad, integridad y disponibilidad. Las medidas principales son el mínimo privilegio, el cifrado con BitLocker o LUKS, el firewall, los logs de auditoría y la autenticación multifactor. La PKI gestiona los certificados X.509 y TLS; Let's Encrypt y el DNIe son ejemplos prácticos. El ENS, regulado por el RD 311/2022, es obligatorio en la AGE con niveles básico, medio y alto y dimensiones DAICT. El hardening reduce la superficie de ataque con medidas como fail2ban, SELinux y CIS Benchmarks. El RGPD exige notificar brechas en 72 horas, nombrar un DPO y definir plazos de retención para los logs.

---

## Miniresumen final del tema

Este tema cubre la administración completa del sistema operativo y el software de base desde la perspectiva del TAI.

El sistema operativo actúa de intermediario entre el hardware y el usuario. Sus funciones son gestionar procesos, memoria, dispositivos, ficheros y seguridad. El kernel puede ser monolítico como en Linux, híbrido como en Windows NT o microkernel. El proceso de arranque pasa por BIOS o UEFI, POST, bootloader, kernel e init. La UEFI con GPT es el estándar moderno frente a la BIOS con MBR.

Los sistemas de ficheros más importantes son NTFS en Windows, con soporte para permisos ACL, journaling y cifrado EFS, y ext4, XFS y Btrfs en Linux. La gestión de procesos incluye los estados ready, running, blocked y zombie, y los algoritmos de planificación como FCFS, Round Robin y prioridad. La gestión de memoria usa paginación y memoria virtual: el área swap en Linux y el fichero pagefile.sys en Windows.

En Windows los sistemas relevantes son Windows 10, 11 y Windows Server 2022. Active Directory tiene una estructura de bosque, árbol, dominio y OU; los cinco roles FSMO garantizan la coherencia; las GPO se aplican en orden LSDOU. BitLocker cifra discos con TPM; EFS cifra ficheros individuales en NTFS. Hyper-V es el hipervisor de Tipo 1 de Windows con soporte para Live Migration y tres tipos de switch virtual.

En Linux las distribuciones se agrupan en familias Debian con apt, Red Hat con dnf, y SUSE con zypper. El firewall se gestiona con iptables, nftables o ufw. SELinux y AppArmor implementan control de acceso obligatorio. LVM permite gestión flexible de volúmenes con pvcreate, vgcreate y lvcreate. Bash permite automatizar tareas con scripts, y cron programa su ejecución.

La virtualización usa hipervisores de Tipo 1 como ESXi, Hyper-V y KVM para producción, y Tipo 2 como VirtualBox para desarrollo. Docker gestiona contenedores que comparten el kernel del host, más ligeros que las VMs. Kubernetes orquesta contenedores con Pods, Deployments y Services.

El almacenamiento puede ser RAID 0 para rendimiento, RAID 1 para espejo, RAID 5 con paridad para un disco de tolerancia, RAID 6 para dos discos de tolerancia, y RAID 10 para alta velocidad con redundancia. DAS, NAS y SAN son los tres modelos de conectar almacenamiento.

Las copias de seguridad son completas, incrementales, diferenciales o sintéticas. El RTO es el tiempo máximo de recuperación y el RPO es la máxima pérdida de datos tolerable. La regla 3-2-1 establece tres copias en dos soportes distintos con una offsite.

La alta disponibilidad elimina los puntos únicos de fallo con clústeres: WSFC en Windows y Pacemaker más Corosync en Linux. El balanceo de carga distribuye peticiones con algoritmos como Round Robin o Least Connections; HAProxy y Nginx son las soluciones más usadas en Linux.

Las actualizaciones se priorizan por urgencia: seguridad ante CVE, parche, funcional y service pack. La gestión centralizada usa WSUS en Windows y Ansible en Linux. Las buenas prácticas incluyen probar en staging, hacer backup y tener plan de rollback.

La seguridad se basa en la tríada CIA. Las medidas clave son el mínimo privilegio, el cifrado, el firewall, la auditoría y el MFA. La PKI gestiona certificados X.509 para TLS, firma digital y DNIe. El ENS, obligatorio en la AGE, tiene niveles básico, medio y alto y dimensiones DAICT. El hardening sigue los CIS Benchmarks y usa fail2ban, SELinux y políticas de contraseñas robustas. El RGPD exige notificar brechas en 72 horas y nombrar DPO en las administraciones públicas.