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 |
| 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 (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 |
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 |
⚠️ 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ñ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 |
| 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 |
Solo las instrucciones
LOADySTOREpueden 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 |
Forma de NAT que permite que múltiples equipos de una red interna salgan a Internet con una única IP pública.
Hardware dedicado a terminar túneles VPN y gestionar cifrado de forma masiva. Capaz de manejar miles de túneles simultáneos.
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.
| 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.
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 (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.
| 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 |
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).
| 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 |
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 sí 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 |
El servidor usa el frame
PUSH_PROMISEpara anunciar al cliente los recursos que enviará proactivamente. El cliente puede rechazarlo conRST_STREAM.⚠️ No existe ningún método HTTP llamado
PUSH. Server Push funciona con cualquier tipo de recurso, no solo imágenes.
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 |
| 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.
| Tipo | Algoritmos |
|---|---|
| Simétrico | AES, DES, IDEA, 3DES |
| Asimétrico | RSA, ElGamal, Diffie-Hellman, ECC |
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 |
| 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.
| 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 |
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 |
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 |
| Sistema de archivos | Ventaja | Desventaja |
|---|---|---|
| NTFS | Compatible con Windows | Mayor fragmentación |
| EXT4 | Usa delayed allocation | Exclusivo de Linux |
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.
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 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.
| 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 |
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) |
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.
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) |
En cualquier árbol con n nodos → exactamente n − 1 aristas.
| Nodos | Aristas |
|---|---|
| 5 | 4 |
| 10 | 9 |
| 100 | 99 |
| 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 |
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 |
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 |
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 |
| 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 |
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 | 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 (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.
| Framework | Paradigma | Año |
|---|---|---|
| UIKit | Imperativo — programas cada paso | 2008 |
| SwiftUI | Declarativo — describes el estado deseado | 2019 |
| 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...).
| Bits | Colores posibles |
|---|---|
| 8 bits | 256 colores |
| 16 bits | 65.536 colores |
| 24 bits (True Color) | ~16,7 millones (2²⁴ = 16.777.216) |
| 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.
| Extensión | Plataforma |
|---|---|
| .apk | Android |
| .ipa | iOS |
| .dmg | macOS |
| .msi | Windows |
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...).
| 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.
| 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) |
| 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 |
EXPOSEsolo informa de qué puertos escucha el contenedor. Es declarativo. El mapeo real se hace con-pen 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
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 |
| 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 |
SAST (Static Application Security Testing) — Revisa código fuente sin ejecutarlo. Es parte del análisis estático dentro del ciclo de desarrollo seguro.
Cactus — Herramienta para pruebas del lado del servidor, especialmente en aplicaciones Java.
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 |
El artículo 42 de la Ley 40/2015 establece el sello electrónico para la actuación administrativa automatizada.
| Grado | Nombre | Tipo de apoyo |
|---|---|---|
| Grado I | Dependencia moderada | Intermitente o limitado |
| Grado II | Dependencia severa | Extenso |
| Grado III | Gran dependencia | Generalizado ⭐ |
| 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).
Regulado en el Capítulo IV del Título I de la Constitución Española, como alto comisionado de las Cortes Generales.
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 | 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 |
| 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.
| 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 |
| 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).
El Observatorio sobre Gobierno Abierto parte con doce ministerios (no veinticuatro — trampa numérica del examen).
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 |
| 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.
| 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.
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.
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.
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.