B2-T4: SISTEMAS OPERATIVOS — CONCEPTOS, WINDOWS Y LINUX

Tema muy extenso y de los más preguntados en el examen TAI. Los estados de un proceso, los algoritmos de planificación (FCFS, SJF, Round Robin, prioridades) y la gestión de memoria (paginación vs segmentación, page fault, algoritmos de reemplazo) son casi fijos. En Linux, preguntan permisos (chmod/chown), comandos de administración y el sistema de ficheros.

CONCEPTOS FUNDAMENTALES DEL SO

Definición y funciones

Un sistema operativo es el software que actúa como intermediario entre el hardware y las aplicaciones de usuario. Gestiona los recursos del computador (CPU, memoria, E/S, almacenamiento) y proporciona una interfaz para que los programas accedan a ellos de forma controlada.

Función principalDescripción
Gestión de procesosCrear, planificar, sincronizar y destruir procesos e hilos
Gestión de memoriaAsignar/liberar memoria, memoria virtual, paginación
Gestión de E/SControladores (drivers), buffering, spooling, caché de E/S
Gestión de ficherosCrear, leer, escribir, borrar; organizar en directorios
Gestión de almacenamientoSistemas de ficheros, particiones, cuotas de disco
Seguridad y protecciónAutenticación, permisos, control de acceso a recursos
Interfaz de usuarioCLI (shell), GUI (escritorio), API para programadores (syscalls)

Tipos de sistemas operativos

TipoDescripciónEjemplo
Monousuario, monotareaUn usuario, un programa a la vezMS-DOS
Monousuario, multitareaUn usuario, varios programas concurrentesWindows 10/11 (escritorio)
Multiusuario, multitareaVarios usuarios simultáneos, cada uno con múltiples procesosLinux, Unix, Windows Server
Tiempo real (RTOS)Garantiza respuesta dentro de un plazo determinado (deadline)VxWorks, FreeRTOS, QNX
DistribuidoMúltiples máquinas cooperando como un solo sistemaAmoeba, Plan 9
Empotrado (embedded)SO mínimo para dispositivos con recursos limitadosZephyr, Contiki, Android Things

Arquitecturas del kernel

ArquitecturaDescripciónVentajaDesventajaEjemplo
MonolíticoTodo el SO corre en modo kernel en un solo bloqueAlto rendimiento (sin cambios de contexto entre módulos)Fallo en un componente puede tumbar todo el SOLinux, FreeBSD
MicrokernelKernel mínimo (IPC, scheduling, memoria); servicios en espacio de usuarioAislamiento, modularidad, estabilidadOverhead por comunicación IPCMinix, QNX, L4, Hurd
HíbridoMezcla: kernel con más funcionalidad que un microkernel, pero modularBalance rendimiento/modularidadComplejidadWindows NT, macOS (XNU)
ExokernelKernel casi vacío; las aplicaciones gestionan hardware directamenteMáxima flexibilidad y rendimientoComplejidad para el programadorMIT Exokernel (investigación)
Examen: Linux = monolítico (con módulos cargables). Windows NT = híbrido. Microkernel = solo IPC + scheduling + gestión de memoria mínima en modo kernel.

Modos de ejecución

ModoPrivilegiosQuién ejecuta
Modo kernel (ring 0)Acceso completo al hardware, instrucciones privilegiadasKernel del SO, drivers
Modo usuario (ring 3)Acceso limitado; usa syscalls para acceder a servicios del kernelAplicaciones de usuario

El cambio de modo usuario a modo kernel se realiza mediante una llamada al sistema (syscall): una instrucción especial (INT 0x80 en Linux legacy, SYSCALL en x86-64, SVC en ARM) que transfiere el control al kernel de forma controlada.


GESTIÓN DE PROCESOS

Proceso vs hilo (thread)

CaracterísticaProcesoHilo (thread)
DefiniciónPrograma en ejecución con su propio espacio de direccionesUnidad de ejecución dentro de un proceso, comparte el espacio de direcciones
Espacio de memoriaPropio (aislado de otros procesos)Compartido con otros hilos del mismo proceso
Recursos propiosCódigo, datos, heap, descriptores de fichero, PIDSolo: registros, pila (stack), contador de programa (PC)
CreaciónCostosa (copiar espacio de direcciones — fork())Ligera (compartir espacio — pthread_create())
ComunicaciónIPC (pipes, sockets, shared memory, señales)Directa (variables compartidas) — requiere sincronización
FalloUn proceso muere sin afectar a otrosUn hilo que falla puede tumbar todo el proceso

Estados de un proceso

EstadoDescripciónTransición hacia
Nuevo (new)El proceso acaba de crearse→ Listo (admitido por el SO)
Listo (ready)En cola esperando que la CPU esté disponible→ Ejecución (dispatch por el planificador)
Ejecución (running)La CPU está ejecutando instrucciones del proceso→ Listo (timeout/preemption), → Bloqueado (solicita E/S), → Terminado (finaliza)
Bloqueado (waiting/blocked)Esperando un evento (E/S, señal, recurso)→ Listo (evento completado)
Terminado (terminated)El proceso ha finalizado su ejecución(se liberan los recursos)
Examen: Diagrama clásico de 5 estados. Un proceso en ejecución puede pasar a: listo (preemptive scheduling), bloqueado (espera E/S) o terminado. Un proceso bloqueado NO puede pasar directamente a ejecución — debe pasar primero a listo.

PCB (Process Control Block)

Cada proceso tiene un PCB (o descriptor de proceso) que almacena toda la información necesaria para gestionarlo:

Campo del PCBContenido
PIDIdentificador único del proceso
EstadoNuevo, listo, ejecución, bloqueado, terminado
Contador de programa (PC)Dirección de la próxima instrucción a ejecutar
Registros CPUValores de todos los registros cuando se interrumpió
Información de planificaciónPrioridad, punteros a colas de scheduling
Información de memoriaTabla de páginas, registros base/límite
Información de E/SFicheros abiertos, dispositivos asignados
Información de contabilidadTiempo de CPU usado, límites

Algoritmos de planificación de CPU

AlgoritmoTipoDescripciónVentajaDesventaja
FCFS (First Come First Served)No expulsivoSe ejecutan en orden de llegadaSimple, justo (no hay inanición)Efecto convoy: proceso largo bloquea a los cortos
SJF (Shortest Job First)No expulsivoSe ejecuta primero el de menor ráfaga de CPUMínimo tiempo de espera medioRequiere conocer la duración; inanición de procesos largos
SRTF (Shortest Remaining Time First)ExpulsivoVersión preemptive de SJFÓptimo en tiempo medio de esperaInanición; overhead por cambios de contexto
PrioridadesExpulsivo o noCada proceso tiene una prioridad; se ejecuta el de mayor prioridadFlexible, diferencia tipos de procesoInanición de procesos de baja prioridad. Solución: envejecimiento (aging)
Round Robin (RR)ExpulsivoFCFS con quantum (tiempo máximo); si no termina, vuelve a la colaJusto, buen tiempo de respuestaQuantum pequeño → mucho overhead. Grande → degenera en FCFS
Colas multinivelExpulsivoVarias colas con distinta prioridad y algoritmo cada unaDiferencia procesos interactivos de batchProcesos no se mueven entre colas
Colas multinivel con retroalimentaciónExpulsivoLos procesos pueden cambiar de cola según su comportamientoSe adapta dinámicamenteConfiguración compleja
Examen: Round Robin es el más preguntado. El tamaño del quantum es crítico: muy pequeño = mucho overhead por context switch. Muy grande = degenera en FCFS. Valor típico: 10-100 ms. Para resolver inanición en prioridades se usa aging: incrementar la prioridad de procesos que llevan mucho tiempo esperando.

CONCURRENCIA Y SINCRONIZACIÓN

Problemas de concurrencia

ProblemaDescripción
Condición de carrera (race condition)El resultado depende del orden de ejecución de procesos/hilos concurrentes sobre datos compartidos
Sección críticaSegmento de código que accede a un recurso compartido y debe ejecutarse de forma exclusiva
Exclusión mutuaSolo un proceso/hilo puede estar en la sección crítica a la vez
Interbloqueo (deadlock)Dos o más procesos esperan mutuamente un recurso que tiene el otro — ninguno avanza
Inanición (starvation)Un proceso nunca obtiene el recurso porque otros siempre se lo quitan
LivelockLos procesos cambian de estado continuamente reaccionando al otro pero sin avanzar

Condiciones de Coffman para deadlock

Un deadlock solo puede ocurrir si se cumplen las 4 condiciones simultáneamente (Coffman, 1971):

CondiciónDescripción
1. Exclusión mutuaAl menos un recurso se usa en modo no compartible
2. Retención y esperaUn proceso retiene un recurso mientras espera obtener otro
3. No expropiaciónLos recursos no se pueden quitar a un proceso que los tiene
4. Espera circularExiste una cadena circular de procesos donde cada uno espera un recurso del siguiente

Mecanismos de sincronización

MecanismoDescripciónUso
MutexCerrojo binario (locked/unlocked). Solo el hilo que lo bloqueó puede desbloquearloProteger sección crítica (exclusión mutua)
SemáforoContador entero con operaciones atómicas wait() (P) y signal() (V). Binario (0/1) o contador (≥0)Exclusión mutua (binario), control de N recursos (contador)
MonitorAbstracción de alto nivel: módulo con datos privados y procedimientos con exclusión mutua implícita + variables de condiciónLenguajes OO (Java synchronized, C# lock)
Spin lockBucle activo (busy waiting) comprobando la disponibilidad del cerrojoSecciones críticas muy cortas en SMP
BarreraPunto de sincronización donde todos los hilos deben llegar antes de continuarComputación paralela, fases de trabajo
Read-Write LockPermite múltiples lectores simultáneos pero exclusividad para escritoresDatos leídos con frecuencia, escritos raramente
Examen: Semáforo inventado por Dijkstra. P (proberen = intentar) decrementa; V (verhogen = incrementar) incrementa. Un semáforo binario es similar a un mutex, pero un semáforo puede ser señalizado por cualquier hilo (no solo el que hizo wait).

Problemas clásicos de concurrencia

ProblemaDescripciónConcepto que ilustra
Productor-ConsumidorProductor genera datos en un buffer; consumidor los retiraSemáforos (buffer lleno/vacío), mutex
Lectores-EscritoresMúltiples lectores simultáneos, escritores exclusivosRead-write locks, inanición de escritores
Filósofos comensales5 filósofos, 5 tenedores: comen con 2 tenedores, deben evitar deadlockDeadlock, inanición, ordenación de recursos

GESTIÓN DE MEMORIA

Jerarquía de memoria (repaso)

NivelTecnologíaVelocidadTamañoGestionado por
RegistrosFlip-flops<1 ns~KBCompilador/ISA
Caché L1/L2/L3SRAM1-20 nsKB-MBHardware (CPU)
RAMDRAM (DDR)50-100 nsGBSO (gestión de memoria)
AlmacenamientoSSD/HDDμs-msTBSO (sistema de ficheros)

Técnicas de gestión de memoria

TécnicaDescripciónFragmentación
Particiones fijasMemoria dividida en particiones de tamaño fijo. Cada proceso ocupa una partición completaInterna (espacio no usado dentro de la partición)
Particiones variablesParticiones del tamaño exacto del proceso. Se crean/destruyen dinámicamenteExterna (huecos entre particiones que no son suficientemente grandes)
PaginaciónMemoria dividida en marcos (frames) de tamaño fijo. El espacio lógico del proceso se divide en páginas del mismo tamañoInterna (solo en la última página)
SegmentaciónEspacio lógico dividido en segmentos de tamaño variable (código, datos, pila)Externa
Segmentación paginadaCombina ambas: segmentos que se paginan internamenteMínima (interna en última página)
Examen: Paginación elimina la fragmentación externa (todos los marcos son iguales, se pueden usar en cualquier orden). Segmentación tiene fragmentación externa (segmentos de distintos tamaños). La fragmentación interna es despreciable en paginación (solo la última página parcial).

Paginación: detalle

ConceptoDescripción
PáginaBloque de tamaño fijo del espacio lógico del proceso (típicamente 4 KB)
Marco (frame)Bloque de tamaño fijo de la memoria física (mismo tamaño que una página)
Tabla de páginasEstructura que mapea número de página lógica → número de marco físico
TLB (Translation Lookaside Buffer)Caché hardware de la tabla de páginas para acelerar la traducción
Dirección lógicaNúmero de página (p) + desplazamiento dentro de la página (d)
Dirección físicaNúmero de marco (f) + desplazamiento (d) — el desplazamiento es el mismo
Bit de validezIndica si la página está en memoria física (1) o no (0 → page fault)
Bit de modificación (dirty)Indica si la página ha sido escrita. Si es dirty, se debe escribir a disco al reemplazarla

Memoria virtual

La memoria virtual permite a los procesos usar más memoria de la que existe físicamente. Las páginas no residentes en RAM se almacenan en el área de swap (espacio en disco).

ConceptoDescripción
Page faultInterrupción que se genera cuando se accede a una página que no está en memoria física
Swap outMover una página de RAM a disco (swap)
Swap inTraer una página de disco a RAM
ThrashingEl sistema pasa más tiempo haciendo swap que ejecutando — rendimiento colapsa
Working setConjunto de páginas que un proceso está usando activamente en un momento dado

Algoritmos de reemplazo de páginas

AlgoritmoDescripciónRendimiento
Óptimo (OPT / Bélády)Reemplaza la página que no se usará durante más tiempo en el futuroTeóricamente óptimo — imposible de implementar (requiere conocimiento del futuro)
FIFOReemplaza la página más antigua (primera en entrar)Simple pero sufre la anomalía de Bélády (más marcos → más page faults)
LRU (Least Recently Used)Reemplaza la página que lleva más tiempo sin ser accedidaBuen rendimiento, pero costoso de implementar exactamente
NRU (Not Recently Used)Clasifica páginas por bits de referencia y modificación; reemplaza la menos usada/modificadaAproximación barata a LRU
Reloj (Clock / Second Chance)FIFO mejorado: si la página tiene bit de referencia=1, se le da otra oportunidad (se pone a 0 y se avanza)Buena aproximación a LRU, eficiente de implementar
LFU (Least Frequently Used)Reemplaza la página con menor contador de accesosPuede retener páginas viejas muy usadas
Examen: La anomalía de Bélády solo afecta a FIFO: al añadir más marcos de memoria, pueden aumentar los page faults. LRU y OPT NO sufren esta anomalía (son algoritmos de pila). El algoritmo del reloj es el más usado en la práctica por su buen balance rendimiento/complejidad.

SISTEMAS DE FICHEROS

Comparativa de sistemas de ficheros

Sistema de ficherosSOTamaño máx. archivoTamaño máx. volumenJournalingCaracterísticas
FAT32Universal4 GB2 TBNoCompatible con todo, USBs, tarjetas SD
exFATUniversal16 EB (teórico)128 PBNoEvolución de FAT32 sin límite de 4 GB, sin journaling
NTFSWindows16 EB (teórico)256 TB (práctico)ACLs, cifrado (EFS), compresión, cuotas, hard/soft links
ReFSWindows Server35 PB35 PBSí (integridad)Integridad de datos, autoreparación, sin compresión de archivos
ext3Linux2 TB16 TB (4KB std)Antecesor de ext4. Límite 32 TB solo con bloques 8KB no estándar. Velilla: 16 TB
ext4Linux16 TB1 EBEstándar en Linux, extents, asignación retardada
XFSLinux8 EB8 EBAlto rendimiento, excelente para archivos grandes, RHEL default
BtrfsLinux16 EB16 EBSí (CoW)Copy-on-Write, snapshots, subvolúmenes, checksums
ZFSFreeBSD, Linux16 EB256 ZBSí (CoW)Integridad (checksums), deduplicación, RAID-Z, snapshots
APFSmacOS, iOS8 EB-Sí (CoW)Optimizado para SSD, clones, snapshots, cifrado nativo
Examen: ext4 es el estándar de Linux por defecto. NTFS es el estándar de Windows. FAT32 tiene el límite de 4 GB por archivo. ZFS y Btrfs usan Copy-on-Write (no sobrescriben datos, escriben en nueva ubicación y actualizan puntero — protección contra corrupción).

Estructura de un sistema de ficheros Unix/Linux

ComponenteDescripción
SuperbloqueMetadatos del sistema de ficheros: tamaño, nº bloques, nº inodos, estado
Tabla de inodosArray de inodos; cada inodo contiene metadatos de un archivo
InodoEstructura con: permisos, propietario, tamaño, timestamps, punteros a bloques de datos. NO contiene el nombre del archivo
Bloques de datosContienen el contenido real de los archivos
DirectorioArchivo especial que mapea nombres → números de inodo

Punteros de inodo (ext4)

Tipo de punteroNiveles de indirecciónAlcance (bloques de 4 KB)
12 punteros directos048 KB
1 puntero indirecto simple1+4 MB
1 puntero indirecto doble2+4 GB
1 puntero indirecto triple3+4 TB
ext4 en la práctica usa extents (rangos contiguos de bloques) en lugar de punteros individuales — mucho más eficiente para archivos grandes.

LINUX: ADMINISTRACIÓN Y COMANDOS

Jerarquía de directorios (FHS — Filesystem Hierarchy Standard)

DirectorioContenido
/Raíz del sistema de ficheros
/binBinarios esenciales del sistema (ls, cp, mv, cat, bash)
/sbinBinarios de administración del sistema (fdisk, iptables, init)
/etcFicheros de configuración del sistema
/homeDirectorios personales de los usuarios
/rootDirectorio personal del usuario root
/varDatos variables: logs (/var/log), mail, spool, caché
/tmpArchivos temporales (se borra en cada reinicio)
/usrProgramas de usuario: /usr/bin, /usr/lib, /usr/share
/optSoftware de terceros instalado manualmente
/devArchivos de dispositivo (todo en Linux es un fichero)
/procSistema de ficheros virtual con información de procesos y kernel
/sysSistema de ficheros virtual con información de hardware y drivers
/bootKernel, initramfs, configuración de GRUB
/libLibrerías compartidas esenciales y módulos del kernel
/mnt, /mediaPuntos de montaje para dispositivos externos

Permisos en Linux/Unix

Cada fichero tiene 3 categorías de permisos: propietario (u), grupo (g) y otros (o). Cada categoría puede tener: lectura (r=4), escritura (w=2) y ejecución (x=1).

PermisoFicheroDirectorioValor octal
r (read)Leer el contenidoListar el contenido (ls)4
w (write)Modificar el contenidoCrear/borrar archivos dentro2
x (execute)Ejecutar como programaAcceder/entrar al directorio (cd)1
EjemploNotación simbólicaNotación octalSignificado
rwxr-xr-xu=rwx, g=rx, o=rx755Propietario: todo. Grupo y otros: leer y ejecutar
rw-r--r--u=rw, g=r, o=r644Propietario: leer/escribir. Resto: solo leer
rwx------u=rwx, g=-, o=-700Solo el propietario tiene acceso
rw-rw----u=rw, g=rw, o=-660Propietario y grupo: leer/escribir

Permisos especiales

PermisoValor octalEfecto en ficheroEfecto en directorio
SUID (Set User ID)4000Se ejecuta con los permisos del propietario del fichero (ej: /usr/bin/passwd)Sin efecto
SGID (Set Group ID)2000Se ejecuta con los permisos del grupo del ficheroLos archivos creados dentro heredan el grupo del directorio
Sticky bit1000Sin efectoSolo el propietario del archivo (o root) puede borrarlo (ej: /tmp)

Comandos esenciales de Linux

CategoríaComandoDescripción
Ficheros y directoriosls -laListar con permisos, propietario, tamaño, fecha
cp -r origen destinoCopiar (recursivo con -r)
mv origen destinoMover o renombrar
rm -rf rutaBorrar recursivamente sin preguntar
mkdir -p rutaCrear directorio (con padres si no existen)
find /ruta -name "*.log"Buscar archivos por nombre/criterio
ln -s destino enlaceCrear enlace simbólico (soft link)
Permisoschmod 755 archivoCambiar permisos (octal)
chmod u+x archivoCambiar permisos (simbólico)
chown usuario:grupo archivoCambiar propietario y grupo
chgrp grupo archivoCambiar solo el grupo
umask 022Máscara de permisos por defecto (nuevos archivos: 644, directorios: 755)
Procesosps auxListar todos los procesos
top / htopMonitor de procesos en tiempo real
kill -9 PIDEnviar señal SIGKILL (terminar inmediatamente)
kill -15 PIDEnviar señal SIGTERM (terminar limpiamente)
nice -n 10 comandoEjecutar con prioridad reducida (nice va de -20 a 19)
Usuariosuseradd -m usuarioCrear usuario con home directory
usermod -aG grupo usuarioAñadir usuario a un grupo
passwd usuarioCambiar contraseña
su - usuarioCambiar a otro usuario (con su entorno)
Redip addr / ifconfigVer configuración de interfaces de red
ss -tlnp / netstat -tlnpVer puertos en escucha
ping hostVerificar conectividad (ICMP Echo)
traceroute hostTrazar ruta hasta el destino
Disco y FSdf -hEspacio libre en sistemas de ficheros montados
du -sh directorioTamaño de un directorio
mount /dev/sda1 /mntMontar un sistema de ficheros
fdisk /dev/sdaGestionar particiones de disco
Texto y filtrosgrep -r "patrón" /rutaBuscar texto en ficheros (recursivo)
awk '{print $1}' archivoProcesamiento de texto por columnas
sed 's/viejo/nuevo/g' archivoSustitución de texto en ficheros
cat, head, tail, wcVer, inicio, final, contar líneas/palabras
Sistemasystemctl start/stop/restart servicioGestionar servicios (systemd)
journalctl -u servicioVer logs de un servicio (systemd)
crontab -eEditar tareas programadas del usuario

Señales más importantes

SeñalNúmeroAcciónCaptuable
SIGHUP1Hangup — recargar configuración
SIGINT2Interrupción (Ctrl+C)
SIGKILL9Terminar inmediatamenteNo (no se puede capturar ni ignorar)
SIGTERM15Terminar limpiamente (señal por defecto de kill)
SIGSTOP19Pausar el procesoNo
SIGCONT18Reanudar proceso pausado

Formato crontab

Formato: minuto hora día_mes mes día_semana comando

CampoRangoEspeciales
Minuto0-59* (todos), */5 (cada 5), 1,15,30 (lista)
Hora0-23Igual
Día del mes1-31Igual
Mes1-12Igual
Día de la semana0-7 (0 y 7 = domingo)Igual
Ejemplo: 30 2 * * 1 = todos los lunes a las 02:30. 0 */6 * * * = cada 6 horas.

WINDOWS: CONCEPTOS CLAVE

Arquitectura Windows NT

ComponenteDescripción
HAL (Hardware Abstraction Layer)Capa inferior que abstrae el hardware del resto del kernel
Kernel (ntoskrnl.exe)Planificación de hilos, manejo de interrupciones, sincronización
ExecutiveServicios de alto nivel: gestión de memoria, procesos, E/S, seguridad, registro
Subsistemas de entornoWin32, POSIX (WSL), proporcionan las APIs a las aplicaciones
Registro de WindowsBase de datos jerárquica de configuración (claves HKLM, HKCU, etc.)

Claves del registro de Windows

Clave raízAbreviaturaContenido
HKEY_LOCAL_MACHINEHKLMConfiguración global del sistema (hardware, software, seguridad)
HKEY_CURRENT_USERHKCUConfiguración del usuario actual
HKEY_USERSHKUTodos los perfiles de usuario cargados
HKEY_CLASSES_ROOTHKCRAsociaciones de extensión de fichero, COM objects
HKEY_CURRENT_CONFIGHKCCPerfil de hardware actual (subconjunto de HKLM)

Active Directory: conceptos

ConceptoDescripción
Active Directory (AD)Servicio de directorio de Microsoft para gestión centralizada de identidades y recursos
DominioUnidad administrativa básica; comparte base de datos de directorio y políticas
Controlador de dominio (DC)Servidor que almacena la réplica del directorio y autentica usuarios
Bosque (forest)Conjunto de árboles de dominio con relaciones de confianza
OU (Organizational Unit)Contenedor para organizar objetos y aplicar GPOs
GPO (Group Policy Object)Conjunto de políticas que se aplican a usuarios/equipos de una OU/dominio
LDAPProtocolo estándar para consultar el directorio (puerto 389, LDAPS 636)
KerberosProtocolo de autenticación usado por AD (tickets TGT y TGS, puerto 88)

ARRANQUE DEL SISTEMA

Proceso de arranque

FaseBIOS/MBR (legacy)UEFI/GPT (moderno)
1. FirmwareBIOS ejecuta POST (Power-On Self Test)UEFI ejecuta POST + inicialización hardware
2. BootloaderLee MBR (512 bytes, sector 0). Carga bootloader (GRUB stage 1/1.5/2)Lee tabla GPT. Busca partición EFI (ESP, FAT32). Ejecuta .efi
3. KernelBootloader carga kernel + initramfs en memoriaIgual
4. InitKernel monta root FS y ejecuta init (PID 1)Kernel monta root FS y ejecuta systemd (PID 1)
5. ServiciosSysV init ejecuta scripts en /etc/rc.d/systemd arranca units en paralelo

BIOS vs UEFI

CaracterísticaBIOSUEFI
Año de origen1981 (IBM PC)~2005 (Intel EFI → UEFI)
Modo de CPU16 bits (real mode)32/64 bits
Tabla de particionesMBR (máx. 4 primarias, 2 TB)GPT (128 particiones, 9,4 ZB)
Partición de arranqueMBR en sector 0ESP (EFI System Partition, FAT32)
Secure BootNoSí (verifica firma digital del bootloader)
InterfazTextoGráfica (ratón soportado)

SysV init vs systemd

CaracterísticaSysV initsystemd
ArranqueSecuencial (scripts /etc/init.d/)Paralelo (units con dependencias)
ConfiguraciónShell scriptsFicheros .service declarativos
Runlevels / targets0-6 (0=halt, 1=single, 3=multi, 5=GUI, 6=reboot)targets (multi-user.target, graphical.target)
Gestiónservice, chkconfigsystemctl, journalctl
LogsFicheros de texto en /var/log/Journal binario (journald)
PID 1/sbin/init/usr/lib/systemd/systemd
Examen: systemd ha reemplazado a SysV init en la mayoría de distribuciones modernas (RHEL 7+, Ubuntu 15.04+, Debian 8+). Ventaja principal: arranque paralelo (más rápido). El equivalente de runlevel 3 en systemd es multi-user.target; runlevel 5 = graphical.target.


FUENTES PÚBLICAS

Este resumen ha sido elaborado íntegramente a partir de fuentes de dominio público. No se ha utilizado material con copyright de terceros ni material de preparadores.
FuenteTipoReferencia
Documentación del kernel LinuxDocumentación oficialkernel.org (GPL)
FHS — Filesystem Hierarchy StandardEstándarLinux Foundation
systemd documentationDocumentación oficialfreedesktop.org
Microsoft Docs — Windows, AD, NTFSDocumentación oficiallearn.microsoft.com

¿Quieres practicar este tema con tests?

MIMIR tiene más de 5.000 preguntas verificadas, simulacros con penalización real y chat IA que resuelve tus dudas sobre este tema.

Abrir MIMIR gratis →