📝 guia_completa
← Volver

📚 Guía de Estudio Completa — Tecnología y Normativa


🖥️ Sistemas Operativos y Linux

Btrfs — Copy-on-Write (CoW)

Btrfs (B-tree FS) es el sistema de archivos Linux que usa la técnica Copy-on-Write: los datos no se sobreescriben, sino que se escriben en un nuevo lugar, lo que permite snapshots y subvolúmenes eficientes.

Técnica Descripción
CoW (Copy-on-Write) Los datos se escriben en un sitio nuevo en lugar de sobreescribirse
Snapshots Copias instantáneas del sistema de archivos, posibles gracias a CoW
Subvolúmenes Particiones lógicas dentro del mismo sistema de archivos

Comandos Linux esenciales

Comando Función
df -h Muestra el espacio en disco en formato legible (GB, MB...) en lugar de bloques
top + tecla M Ordena procesos por uso de RAM
top + tecla P Ordena procesos por CPU
top + tecla T Ordena procesos por tiempo de ejecución
mkdir Crea un directorio
rmmod Descarga un módulo del kernel que ya no se necesita
uname -a Muestra toda la información del sistema (kernel, host, arquitectura...)
uname -r Solo la versión del kernel
lsb_release -a Muestra la distribución Linux
who / w Muestra usuarios conectados

KVM — Hipervisor de tipo 1

KVM (Kernel-based Virtual Machine) es un hipervisor de tipo 1 integrado directamente en el kernel Linux. Convierte el kernel en un hipervisor bare-metal de alto rendimiento. Ampliamente usado en entornos empresariales y cloud.

Tipo Descripción Ejemplo
Hipervisor Tipo 1 Corre directamente sobre el hardware (bare-metal) KVM, VMware ESXi
Hipervisor Tipo 2 Corre sobre un sistema operativo anfitrión VirtualBox, VMware Workstation

Planificador a corto plazo (Short Term Scheduler)

Decide qué proceso pasa de la cola de listos a ejecutarse en la CPU. Es el más frecuente de los tres planificadores.

Planificador Función
Corto plazo Selecciona el proceso de la cola de listos que obtiene la CPU
Medio plazo Gestiona el swapping (entrada/salida de procesos en memoria)
Largo plazo Controla la admisión de nuevos procesos al sistema

Ciclo de instrucción — Fase FETCH

⚠️ En la fase FETCH solo se trae la instrucción de memoria. Las operaciones aritméticas se realizan en la fase EXECUTE.

Fase Qué hace
FETCH PC → MAR → leer memoria → MDR → IR → PC++
DECODE Interpreta la instrucción
EXECUTE Realiza la operación aritmética o lógica

Señales del bus de control

Señal Significado
MEMW / R/W = 0 (bajo) Escritura en memoria
MEMR / R/W = 1 (alto) Lectura de memoria
IOR / IOW Operaciones de Entrada/Salida
IRQ Interrupción
CLK Sincronización

Puertas lógicas — Símbolos

Puerta Símbolo
AND Forma de D
OR Forma de punta de flecha / escudo
NOT Triángulo + círculo (burbuja) en la salida ← ⚠️ Sin círculo = buffer, no NOT
NAND AND + círculo en la salida
NOR OR + círculo en la salida

Principio Load/Store (RISC)

Solo las instrucciones LOAD y STORE pueden acceder a memoria. Las operaciones aritméticas trabajan únicamente con registros.

Arquitectura Acceso a memoria
RISC Solo LOAD y STORE; aritmética solo en registros
CISC Cualquier instrucción puede acceder directamente a memoria

🌐 Redes y Protocolos

IP Masquerading

Forma de NAT que permite que múltiples equipos de una red interna salgan a Internet con una única IP pública.


Concentrador VPN

Hardware dedicado a terminar túneles VPN y gestionar cifrado de forma masiva. Capaz de manejar miles de túneles simultáneos.


IGMP

Internet Group Management Protocol — Protocolo de la pila TCP/IP que gestiona la pertenencia a grupos de multidifusión (multicast) en IPv4. Permite a los hosts informar a los routers de su intención de recibir tráfico de un grupo multicast.


PoE — Estándares IEEE

Estándar Nombre Potencia en PSE Potencia en PD
IEEE 802.3af PoE ~15,4 W ~12,95 W
IEEE 802.3at PoE+ ~30 W ~25,5 W
IEEE 802.3bt Tipo 3 PoE++ ~60 W ~51 W
IEEE 802.3bt Tipo 4 PoE++ ~100 W ~71 W

💡 PSE = Power Sourcing Equipment (el switch) / PD = Powered Device (el dispositivo alimentado). Hay pérdidas en el cable.


Zoning en SAN Fibre Channel

El Zoning se realiza a nivel del switch de canal de fibra. Segmenta la red SAN en grupos lógicos para mejorar la seguridad y evitar interferencias entre nodos.

Componente Función
Fibre Channel Switch Interconecta servidores y cabinas; permite crear la "fabric" SAN
Zoning Segmentación lógica de la SAN para seguridad y aislamiento

RADIUS y portales cautivos

RADIUS (Remote Authentication Dial-In User Service) es un protocolo AAA que puede actuar como backend de autenticación para portales cautivos.

Concepto Detalle
Protocolo RADIUS (AAA: Autenticación, Autorización, Accounting)
Puerto autenticación UDP 1812
Puerto accounting UDP 1813
Relación con portal cautivo El portal captura credenciales y las verifica contra RADIUS

⚠️ RADIUS no reemplaza al portal cautivo, actúa como backend de autenticación.


Portales cautivos — Herramientas de software libre

Herramienta Plataforma
pfSense Portal cautivo integrado (FreeBSD)
NoDogSplash OpenWrt / DD-WRT
Coova-Chilli Evolución de Chillispot, para OpenWrt
Wireshark ❌ Analizador de tráfico, no portal cautivo
Nmap ❌ Escáner de red, no portal cautivo

DDoS de capa 7 (Aplicación)

Los ataques DDoS de capa 7 explotan el coste de procesar peticiones HTTP. No son exclusivos de UDP; HTTP funciona sobre TCP (y HTTP/3 sobre QUIC/UDP).


PDUs del modelo OSI

Capa OSI Número PDU
Aplicación 7 Datos
Presentación 6 Datos
Sesión 5 Datos
Transporte 4 Segmento (TCP) / Datagrama (UDP)
Red 3 Paquete
Enlace de datos 2 Trama
Física 1 Bits

Cifrado en el modelo OSI

PGP y S/MIME operan en la Capa 7 (Aplicación) aunque teóricamente la Capa 6 (Presentación) maneja el cifrado. En la práctica, la implementación real está en capa 7.


5G y IoT

5G supone una mejora significativa para el IoT respecto a 4G.

Característica 4G 5G
Dispositivos/km² ~100.000 ~1.000.000 (mMTC)
Latencia ~30-50 ms ~1 ms
Velocidades Altas Muy altas

HTTP/2 Server Push

El servidor usa el frame PUSH_PROMISE para anunciar al cliente los recursos que enviará proactivamente. El cliente puede rechazarlo con RST_STREAM.

⚠️ No existe ningún método HTTP llamado PUSH. Server Push funciona con cualquier tipo de recurso, no solo imágenes.


Server-Sent Events (SSE)

Estándar del W3C que permite al servidor enviar eventos al cliente de forma unidireccional (servidor → cliente) usando una conexión HTTP persistente con tipo de contenido text/event-stream.

Característica SSE WebSocket
Dirección Unidireccional (servidor → cliente) Bidireccional
Protocolo HTTP WebSocket (upgrade)
Uso típico Notificaciones, feeds en tiempo real Chat, juegos online

🔒 Seguridad

ESP vs AH en IPSec

Protocolo Proporciona
ESP (Encapsulating Security Payload) Confidencialidad (cifrado) + integridad + autenticación
AH (Authentication Header) Solo integridad y autenticación — ❌ no cifra

💡 Para VPNs con confidencialidad → usar ESP.


Cifrado simétrico vs asimétrico

Tipo Algoritmos
Simétrico AES, DES, IDEA, 3DES
Asimétrico RSA, ElGamal, Diffie-Hellman, ECC

SAST en el S-SDLC

SAST (Static Application Security Testing) — Herramienta de análisis estático que revisa el código fuente sin ejecutarlo.

Herramienta Tipo Cuándo se ejecuta
SAST Estático Sin ejecutar el código
DAST Dinámico Con el código en ejecución
Pentesting Manual Sobre el sistema desplegado

WPA2 vs WPA3

Característica WPA2 WPA3
Protocolo de intercambio PSK (Pre-Shared Key) SAE (Simultaneous Authentication of Equals)
Vulnerabilidad Handshake de 4 vías capturable → ataque de diccionario Elimina esta vulnerabilidad
Forward Secrecy ❌ No ✅ Sí

⚠️ SAE pertenece a WPA3, no a WPA2. Error de intercambio clásico en exámenes.


💾 Almacenamiento y Hardware

Velocidades de transferencia

Tecnología Velocidad real Notas
SATA III ~600 MB/s ⚠️ No 750 MB/s — codificación 8b/10b añade overhead
NVMe PCIe 3.0 x4 ~3,5 GB/s PCIe 4.0 x4 llega a ~7 GB/s
SAS-3 12 Gbps
M.2 SATA ~600 MB/s Igual que SATA — solo cambia el formato físico

FSB vs HyperTransport vs Infinity Fabric

AMD nunca usó FSB (es tecnología Intel).

Tecnología Fabricante Uso
FSB (Front Side Bus) Intel Conecta CPU con chipset (obsoleto)
HyperTransport AMD Desde Athlon 64 (2003) hasta primeras Ryzen
Infinity Fabric AMD Desde arquitectura Zen (2017), conecta chiplets, memoria y chipset
DMI Intel Conexión CPU-chipset moderna en Intel

Thunderbolt

Permite conectar GPUs externas (eGPU) gracias al soporte de PCIe (hasta 32 Gbps en TB4).

Capacidad Detalle
eGPU GPUs externas vía PCIe
Pantallas 4K/5K/8K vía DisplayPort
Ancho de banda 40 Gbps (TB3/TB4)
Almacenamiento RAIDs NVMe ultra-rápidos

NTFS vs EXT4

Sistema de archivos Ventaja Desventaja
NTFS Compatible con Windows Mayor fragmentación
EXT4 Usa delayed allocation Exclusivo de Linux

🗄️ Bases de Datos

Cassandra — Keyspaces

Cassandra usa keyspaces como contenedor de nivel superior (equivalente a "database" en SQL). Dentro hay column families (similares a tablas). El keyspace define la estrategia y factor de replicación.


Redis — Caché en memoria

Sistema in-memory más usado para caché. Almacena todo en RAM con persistencia opcional.

Caso de uso Ejemplo
Caché de consultas Resultados de queries frecuentes
Sesiones de usuario Login y autenticación
Leaderboards Rankings en tiempo real
Rate limiting Control de peticiones por IP
Colas de mensajes Pub/Sub ligero

ObjectDB — Base de datos orientada a objetos

ObjectDB almacena objetos Java directamente sin necesidad de ORM. Las bases de datos orientadas a objetos persisten la jerarquía de objetos, herencia, polimorfismo y métodos de forma nativa.

⚠️ Las BDOO no requieren ORM. Los ORM (Hibernate, Entity Framework) se usan para SGBD relacionales.


Comparativa de tipos de bases de datos

Base de datos Tipo Característica principal
MySQL, PostgreSQL Relacional SQL, tablas, ACID
Cassandra Columnar NoSQL Keyspaces, alta disponibilidad
Redis Clave-valor en memoria Ultra-rápido, caché
ObjectDB Orientada a objetos Persiste objetos Java directamente
MongoDB Documental NoSQL Documentos JSON/BSON
Neo4j Grafos Relaciones entre nodos

Lecturas fantasma y UPDATE

Un UPDATE también puede causar efecto fantasma si hace que una fila entre o salga del conjunto que cumple el WHERE al repetir la consulta.

Operación ¿Puede causar fantasma?
INSERT ✅ Sí (clásico)
DELETE ✅ Sí (clásico)
UPDATE ✅ Sí (si modifica el predicado)

Regla 2 de Codd — Acceso Garantizado

Prohíbe el uso de punteros físicos, direcciones de memoria o ROWIDs. El acceso debe ser lógico: tabla + clave primaria + columna. Garantiza independencia física y portabilidad.


Discriminador o Clave Parcial

Atributo que identifica unívocamente instancias de una entidad débil dentro de su entidad fuerte.

Concepto Detalle
Representación Línea discontinua bajo el atributo
Clave completa Clave de la entidad fuerte + discriminador
Ejemplo En LÍNEA_PEDIDO: discriminador = NUM_LÍNEA, clave completa = (ID_PEDIDO, NUM_LÍNEA)

🧮 Estructuras de Datos y Algoritmos

Árbol — Número de aristas

En cualquier árbol con n nodos → exactamente n − 1 aristas.

Nodos Aristas
5 4
10 9
100 99

Recorridos de Árboles Binarios

Recorrido Orden Resultado en ABB
Inorden Izquierda → Raíz → Derecha Orden ascendente
Preorden Raíz → Izquierda → Derecha Copia del árbol
Postorden Izquierda → Derecha → Raíz Eliminación del árbol

Árboles equilibrados

Un árbol binario estándar NO está equilibrado por definición. Puede degenerar en una lista enlazada si siempre se insertan elementos en el mismo lado.

Árbol Tipo Garantía de equilibrio
Binario estándar Simple ❌ No garantizado
AVL Equilibrado ✅ Diferencia de altura ≤ 1
B / B+ Equilibrado ✅ Todos los nodos hoja al mismo nivel
2-3-4 Equilibrado ✅ Siempre perfectamente equilibrado

💻 Programación y Desarrollo

Análisis sintáctico (Parsing)

El parser valida la estructura gramatical y construye el AST. La comprobación de tipos pertenece al análisis semántico.

Fase del compilador Función
Análisis léxico Divide el código en tokens
Análisis sintáctico (parser) Valida estructura gramatical, construye AST
Análisis semántico Comprueba tipos, ámbitos y compatibilidad
Generación de código Produce el código objeto

Factory Method — Patrón creacional

Encapsula la instanciación en subclases. No elimina las clases concretas del sistema; solo oculta su creación al cliente.

Afirmación ¿Correcto?
Proporciona hooks de extensión ✅ Sí
Conecta jerarquías Creator-Product ✅ Sí
Elimina completamente las clases concretas ❌ No — solo encapsula su instanciación

Microservicios — Coreografía vs Orquestación

Patrón Mecanismo Coordinador
Coreografía Publish/Subscribe de eventos Ninguno — cada servicio reacciona
Orquestación Un orquestador central dirige el flujo Sí — un servicio dirige a los demás

REST — Principio cliente-servidor

El cliente y el servidor evolucionan independientemente. El cliente gestiona la UI y el estado de sesión; el servidor gestiona datos y lógica.


Método HTTP para crear recursos

Método Uso ¿Quién decide la URI?
POST Crear recurso sin conocer la URI final El servidor → devuelve URI en Location (201)
PUT Crear o reemplazar recurso El cliente especifica la URI completa
PATCH Actualización parcial

AJAX

AJAX (Asynchronous JavaScript and XML) — Técnica que permite comunicación asíncrona con el servidor para actualizar partes de una página sin recargarla entera.


UIKit vs SwiftUI

Framework Paradigma Año
UIKit Imperativo — programas cada paso 2008
SwiftUI Declarativo — describes el estado deseado 2019

🌍 Web y Multimedia

Formatos de imagen modernos

Formato Base Ventajas
JPEG DCT Muy compatible, compresión con pérdida
WebP VP8 Mejor compresión que JPEG
HEIF H.265 Alta eficiencia, usado en Apple
AVIF AV1 Superior a JPEG, WebP y HEIF — HDR, transparencia, pérdida/sin pérdida

AVIF fue desarrollado por la Alliance for Open Media (Google, Netflix, Apple...).


Profundidad de color

Bits Colores posibles
8 bits 256 colores
16 bits 65.536 colores
24 bits (True Color) ~16,7 millones (2²⁴ = 16.777.216)

Códecs de vídeo

Códec Nombre alternativo Notas
H.264 AVC (Advanced Video Coding) / MPEG-4 Part 10 Estándar más extendido
H.265 HEVC (High Efficiency Video Coding) Mitad de tamaño que H.264
AV1 AVIF (para imágenes) Alliance for Open Media — libre de royalties
VP9 Google, predecesor de AV1

⚠️ H.264 y H.265 son códecs, no contenedores. Los contenedores son MP4, MKV, AVI, etc.


📱 Android

Formatos de paquetes por plataforma

Extensión Plataforma
.apk Android
.ipa iOS
.dmg macOS
.msi Windows

NDK de Android

El NDK no está recomendado como forma principal de desarrollo. Google recomienda Kotlin (y Java). El NDK es para casos específicos de alto rendimiento o acceso a librerías nativas (motores de juego, codecs...).


☁️ Infraestructura y Contenedores

Contenedores vs Máquinas Virtuales

Característica Máquinas Virtuales Contenedores
Virtualiza Hardware Sistema operativo
Kernel Propio por VM Compartido con el host
Peso Pesadas (GBs) Ligeros (MBs)
Arranque Minutos Segundos

⚠️ Trampa clásica: las VMs virtualizan el hardware; los contenedores virtualizan el SO.


Regla de backup 3-2-1-1-0

Número Significado
3 3 copias de los datos
2 En 2 medios distintos
1 1 copia offsite
1 1 copia inmutable/offline ← anti-ransomware
0 0 errores de verificación (testing de backups)

Tiers del Uptime Institute

Tier Característica
Tier I Sin redundancia
Tier II Componentes redundantes
Tier III Mantenimiento sin parada (concurrently maintainable)
Tier IV Totalmente tolerante a fallos (fault tolerant) ← máximo nivel

Docker — EXPOSE

EXPOSE solo informa de qué puertos escucha el contenedor. Es declarativo. El mapeo real se hace con -p en tiempo de ejecución.

EXPOSE 80        # Declara que el contenedor escucha en el puerto 80
# El mapeo real: docker run -p 8080:80 mi-imagen

Git — Rebase

Reescribe el historial (cambia hashes al re-aplicar commits). Peligroso en ramas ya compartidas/públicas.

Operación Seguridad en ramas compartidas
git merge ✅ Seguro — no reescribe historial
git rebase ⚠️ Peligroso — reescribe historial

Puertos de protocolos

Protocolo Puerto
Git (git://) TCP 9418
SVN (svnserve) TCP 3690
SQL Server TCP 1433
MySQL TCP 3306
PostgreSQL TCP 5432
Oracle TCP 1521
RADIUS auth UDP 1812
RADIUS accounting UDP 1813

🔒 Seguridad Avanzada

SAST en S-SDLC

SAST (Static Application Security Testing) — Revisa código fuente sin ejecutarlo. Es parte del análisis estático dentro del ciclo de desarrollo seguro.


🧪 Testing y Desarrollo de Software

Cactus

Cactus — Herramienta para pruebas del lado del servidor, especialmente en aplicaciones Java.


Diagrama de secuencia (Métrica v3)

Describe en detalle los escenarios de los casos de uso, mostrando la interacción entre objetos mediante mensajes a lo largo del tiempo.

Diagrama UML Uso en Métrica v3
Diagrama de secuencia Detalla escenarios de casos de uso
Diagrama de casos de uso Muestra actores y casos de uso
Diagrama de clases Estructura estática del sistema

🏛️ Normativa y Administración

Ley 40/2015 — Sello electrónico

El artículo 42 de la Ley 40/2015 establece el sello electrónico para la actuación administrativa automatizada.


Ley 39/2006 — Grados de dependencia

Grado Nombre Tipo de apoyo
Grado I Dependencia moderada Intermitente o limitado
Grado II Dependencia severa Extenso
Grado III Gran dependencia Generalizado

Tribunal Constitucional

Dato Valor Base legal
Número de miembros 12 Art. 159 CE
Quién los nombra El Rey Art. 159 CE
Mandato de cada miembro 9 años Art. 159 CE
Mandato del Presidente 3 años Art. 160 CE
Propuesta del Presidente El propio TC en pleno Art. 160 CE

⚠️ Trampas frecuentes: confundir el mandato de los miembros (9 años) con el del Presidente (3 años); y confundir quién propone al Presidente (el propio TC, no el Gobierno ni el Congreso).


Defensor del Pueblo

Regulado en el Capítulo IV del Título I de la Constitución Española, como alto comisionado de las Cortes Generales.


Artículo 102.2 CE — Acusación a miembros del Gobierno

Para acusar a un ministro por traición o delitos contra la seguridad del Estado:

Requisito Valor
Iniciativa Cuarta parte de los miembros del Congreso
Aprobación Mayoría absoluta del Congreso
Participación del Senado ❌ No interviene

💡 No confundir con la moción de censura (requiere 1/10 de los Diputados).


ODS — Objetivos de Desarrollo Sostenible (Agenda 2030)

ODS Denominación
ODS 10 Reducción de las desigualdades
ODS 11 Ciudades y comunidades sostenibles
ODS 16 Paz, justicia e instituciones sólidas
ODS 17 Alianzas para lograr los objetivos

Interoperabilidad según RD 4/2010

Dimensión Definición
Técnica Compatibilidad de sistemas informáticos para intercambiar datos (protocolos, formatos, interfaces)
Semántica Los actores tienen la misma interpretación del significado de los datos
Organizativa Alineación de procesos entre organizaciones

⚠️ Error frecuente: intercambiar las definiciones de técnica y semántica.


Activos semánticos (RD 4/2010)

Tipo ¿Es activo semántico?
Vocabularios controlados ✅ Sí
Taxonomías ✅ Sí
Ontologías ✅ Sí
Certificados de firma electrónica ❌ No — son instrumentos de autenticación

Servicios comunes — Ley 39/2015

Servicio Función Frase clave
PAGe Portal de acceso "La puerta de entrada — orienta pero no tramita"
SIA Catálogo/inventario de procedimientos de la AGE "El mapa de trámites"
REC Canal para que el ciudadano presente escritos online "Lo usa el ciudadano desde casa"
ORVE Digitalización de documentos en ventanilla "Lo usa el empleado con el ciudadano físicamente"
INSIDE Gestión de documentos y expedientes electrónicos "Aplica el ENI (interoperabilidad), no el ENS"
Carpeta Ciudadana Espacio personal del ciudadano "La zona personal"

⚠️ ORVE ≠ REC. ORVE lo usa el empleado en ventanilla; REC lo usa el ciudadano desde Internet.
⚠️ INSIDE → ENI (interoperabilidad). No confundir con ENS (seguridad).


IV Plan de Gobierno Abierto — Compromiso 9

El Observatorio sobre Gobierno Abierto parte con doce ministerios (no veinticuatro — trampa numérica del examen).


Ley 40/2015 — Autentica

La Ley 40/2015 regula el régimen jurídico del Sector Público, incluyendo los sistemas de autenticación de empleados públicos como Autentica.

Ley Regula
Ley 39/2015 Relación de la Administración con el ciudadano
Ley 40/2015 Régimen jurídico del Sector Público (relaciones entre órganos, Autentica...)
RDL 5/2015 Empleado público
Ley 19/2013 Transparencia

⚙️ Control de Versiones

CVS y SVN vs Git

Característica CVS / SVN Git / Mercurial
Tipo Centralizado Distribuido (DVCS)
Repositorio Único servidor central Copia completa en cada nodo
Hashes largos ❌ No ✅ Sí (SHA-1/SHA-256)

GitHub y GitLab son plataformas, no sistemas de control de versiones per se.


♿ Accesibilidad (WCAG)

Principio Operable — 5 pautas

Pauta Nombre
2.1 Accesible por teclado
2.2 Tiempo suficiente
2.3 Convulsiones y reacciones físicas
2.4 Navegable
2.5 Modalidades de entrada

⚠️ Son 5 pautas, no 3. "Compatible" pertenece al principio Robusto, no a Operable.


Partes A y B de las herramientas de autor

Las funciones de comprobación de accesibilidad (Parte B) también deben ser accesibles. Si un comprobador de accesibilidad no es usable con teclado o sin etiquetas, excluye precisamente a los autores con discapacidad.


🎵 Miscelánea técnica

Zabbix — Templates

Un Template en Zabbix es un conjunto de entidades (ítems, triggers, gráficas...) aplicables a hosts, que facilitan la gestión masiva de configuraciones similares.


Bases de datos orientadas a objetos — ObjectDB

ObjectDB y db4o son ejemplos de BDOO. Almacenan objetos directamente con soporte nativo para herencia, polimorfismo y métodos, usando OQL o consultas nativas del lenguaje.


Guía generada para estudio y repaso de conceptos técnicos y normativos.