OPE 2025 TFA INF. Tema 50. Teoría de la información. Conceptos de información, símbolo y codificación. Sistemas de numeración. Lógica binaria y elementos del álgebra de Boole. Concepto de Sistema informático. Componentes y funcionamiento: componentes físicos, componentes lógicos. Jerarquía de niveles, clasificaciones. Los programas de aplicación. Clasificaciones de los programas de aplicación. Software a medida y soluciones empaquetadas. Evolución y tendencias en los sistemas informáticos.

Servicio Andaluz de Salud EXAMEN INFORMÁTICA JUNTA DE ANDALUCÍA TFA INFORMÁTICA (P) Exámenes SAS 2025 TFA INFORMÁTICA
Tema 50 – Fundamentos Sistemas Informáticos – TFA-STI SAS
TEMA 50

FUNDAMENTOS DE SISTEMAS INFORMÁTICOS
TEORÍA DE LA INFORMACIÓN · LÓGICA BINARIA
ÁLGEBRA DE BOOLE · ARQUITECTURA COMPUTADORES

Técnico/a de Función Administrativa – Opción Sistemas y Tecnología de la Información (TFA-STI)
Servicio Andaluz de Salud

1. CONTEXTUALIZACIÓN Y RELEVANCIA

🎯 El Tema Más Fundamental de Todos

Si los temas anteriores trataban sobre qué hacer con la tecnología (apps, accesibilidad, movilidad), este tema trata sobre cómo funciona la tecnología en su esencia más básica.

Aquí no hablaremos de ClicSalud+ ni de Diraya. Hablaremos de por qué un ordenador «entiende» solo 0s y 1s, de cómo se representa la información, de cómo funciona la lógica que hace posible TODO lo digital.

Este es el tema que responde preguntas como: ¿Por qué 1 + 1 = 10 en binario? ¿Qué es realmente un bit? ¿Cómo se construye un procesador desde puertas lógicas? ¿Qué diferencia hay entre ROM y RAM?

💡 Por qué este tema es CRÍTICO para la oposición

  • 📚 Base conceptual: Sin entender esto, no se entiende nada de informática real
  • 📝 Muy preguntado: Conversiones binarias, álgebra de Boole, arquitectura Von Neumann
  • 🎓 Transversal: Conecta con redes, seguridad, bases de datos, programación
  • 🧮 Ejercicios prácticos: Los tribunales ADORAN poner conversiones de sistemas numéricos
  • 💼 Aplicabilidad SAS: Entender arquitectura para diseñar soluciones escalables

⚠️ Reto del Tema

Este tema puede parecer «antiguo» o «demasiado teórico». ERROR. Los fundamentos nunca envejecen. Claude Shannon publicó su teoría en 1948 y sigue siendo válida HOY. Las puertas lógicas AND, OR, NOT son las MISMAS que cuando las inventó Boole en 1854.

No subestimes este tema. Es el que separa a quien sabe informática de verdad de quien solo sabe usar programas.

2. TEORÍA DE LA INFORMACIÓN

2.1. Claude Shannon y el Nacimiento de la Era Digital

En 1948, Claude Shannon publicó «A Mathematical Theory of Communication», sentando las bases de la teoría de la información. Su trabajo demostró que TODA información puede ser representada, transmitida y procesada mediante símbolos discretos.

📖 Definiciones Fundamentales

Información: Reducción de la incertidumbre. Cuanto más inesperado es un mensaje, más información contiene.

Dato: Representación simbólica de un hecho, concepto o instrucción, apta para ser procesada.

Símbolo: Elemento de un alfabeto o conjunto finito usado para representar información.

2.2. Medida de la Información: El Bit

Shannon definió el bit (binary digit) como la unidad mínima de información: la cantidad de información que reduce la incertidumbre a la mitad.

Fórmula de Shannon para Cantidad de Información

I = log₂(1/p) = -log₂(p)

Donde:

  • I = Información en bits
  • p = Probabilidad del evento

Ejemplo: Si lanzas una moneda (p=0.5), la información es I = -log₂(0.5) = 1 bit

2.3. Entropía: La Incertidumbre Media

La entropía (H) mide la incertidumbre media de una fuente de información:

H(X) = -Σ p(xᵢ) · log₂(p(xᵢ))

Máxima cuando todos los símbolos son equiprobables

2.4. Codificación

Codificar es representar información mediante un sistema de símbolos. Tipos:

Tipo de Código Característica Ejemplo
Código de Longitud Fija Todos los símbolos usan mismo nº de bits ASCII (8 bits/carácter)
Código de Longitud Variable Símbolos frecuentes usan menos bits Huffman, UTF-8
Código Detector de Errores Añade redundancia para detectar errores Paridad, CRC
Código Corrector de Errores Puede corregir errores sin retransmisión Hamming, Reed-Solomon

📊 Códigos Importantes en Informática

  • ASCII (American Standard Code for Information Interchange): 7 bits, 128 caracteres
  • Extended ASCII: 8 bits, 256 caracteres
  • Unicode (UTF-8, UTF-16): Estándar actual, todos los idiomas del mundo
  • EBCDIC: IBM mainframes (legacy)
  • Base64: Codificación binario→texto (emails, URLs)

3. SISTEMAS DE NUMERACIÓN

3.1. Conceptos Fundamentales

Un sistema de numeración es un conjunto de símbolos y reglas para representar números. Elementos clave:

  • Base (b): Número de símbolos distintos
  • Dígitos: Símbolos del sistema (0 a b-1)
  • Peso posicional: Cada posición tiene un valor = dígito × baseposición

3.2. Principales Sistemas

Sistema Base Dígitos Uso
Decimal 10 0-9 Uso humano cotidiano
Binario 2 0-1 Lenguaje máquina, electrónica digital
Octal 8 0-7 Permisos Unix/Linux (chmod)
Hexadecimal 16 0-9, A-F Direcciones memoria, colores RGB, MAC

3.3. Conversión entre Sistemas

3.3.1. Decimal → Binario (División Sucesiva)

Convertir 156₁₀ a binario
156 ÷ 2 = 78  resto 0  ↑
 78 ÷ 2 = 39  resto 0  │
 39 ÷ 2 = 19  resto 1  │
 19 ÷ 2 = 9   resto 1  │
  9 ÷ 2 = 4   resto 1  │
  4 ÷ 2 = 2   resto 0  │
  2 ÷ 2 = 1   resto 0  │
  1 ÷ 2 = 0   resto 1  │ Leer de abajo arriba

Resultado: 156₁₀ = 10011100₂

3.3.2. Binario → Decimal (Suma de Potencias)

Convertir 10011100₂ a decimal
Posición:  7  6  5  4  3  2  1  0
Binario:   1  0  0  1  1  1  0  0
Potencia:  2⁷ 2⁶ 2⁵ 2⁴ 2³ 2² 2¹ 2⁰
Valor:     128 64 32 16 8  4  2  1

Cálculo:
1×2⁷ + 0×2⁶ + 0×2⁵ + 1×2⁴ + 1×2³ + 1×2² + 0×2¹ + 0×2⁰
= 128 + 0 + 0 + 16 + 8 + 4 + 0 + 0
= 156₁₀

3.3.3. Binario ↔ Hexadecimal (Agrupación de 4 bits)

🔢 Tabla de Conversión Binario-Hexadecimal

0000₂ = 0₁₆    1000₂ = 8₁₆
0001₂ = 1₁₆    1001₂ = 9₁₆
0010₂ = 2₁₆    1010₂ = A₁₆
0011₂ = 3₁₆    1011₂ = B₁₆
0100₂ = 4₁₆    1100₂ = C₁₆
0101₂ = 5₁₆    1101₂ = D₁₆
0110₂ = 6₁₆    1110₂ = E₁₆
0111₂ = 7₁₆    1111₂ = F₁₆
Ejemplo: 10011100₂ → Hexadecimal
Agrupar de 4 en 4 (de derecha a izquierda):
1001 1100
  9    C

Resultado: 10011100₂ = 9C₁₆

3.4. Aritmética Binaria

Suma Binaria

Reglas de la Suma Binaria
  0 + 0 = 0
  0 + 1 = 1
  1 + 0 = 1
  1 + 1 = 10  (0 y acarreo 1)

Ejemplo: 1011₂ + 1101₂
         
    1 1 ← acarreos
    1 0 1 1
  + 1 1 0 1
  ─────────
  1 1 0 0 0  (24₁₀)

Verificación: 11₁₀ + 13₁₀ = 24₁₀ ✓

Complemento a 2 (Números Negativos)

Los computadores representan números negativos usando complemento a 2:

Representar -5 en 8 bits
Paso 1: Escribir 5 en binario (8 bits)
        00000101

Paso 2: Invertir todos los bits (complemento a 1)
        11111010

Paso 3: Sumar 1
        11111010
      +        1
      ──────────
        11111011  ← Esto es -5 en complemento a 2

Ventaja: Suma y resta usan EL MISMO circuito

4. LÓGICA BINARIA Y ÁLGEBRA DE BOOLE

4.1. Álgebra de Boole: La Matemática de lo Digital

George Boole (1854) desarrolló un sistema algebraico para la lógica. Sus elementos:

  • Variables booleanas: Solo pueden tener 2 valores (0/1, Falso/Verdadero, LOW/HIGH)
  • Operadores lógicos: AND, OR, NOT, NAND, NOR, XOR, XNOR
  • Leyes y teoremas: Conmutativa, Asociativa, Distributiva, De Morgan…

4.2. Puertas Lógicas Básicas

Puerta Símbolo Función Tabla de Verdad
NOT (Inversor) ¬A o Ā Invierte el valor A=0→1, A=1→0
AND (Y) A·B o A∧B 1 solo si TODOS son 1 Solo 1·1=1, resto=0
OR (O) A+B o A∨B 1 si AL MENOS UNO es 1 Solo 0+0=0, resto=1
NAND ¬(A·B) NOT AND Contrario de AND
NOR ¬(A+B) NOT OR Contrario de OR
XOR (O Exclusivo) A⊕B 1 si son DIFERENTES 0⊕0=0, 0⊕1=1, 1⊕0=1, 1⊕1=0

⚡ Dato Clave: NAND es Universal

La puerta NAND es funcionalmente completa: CUALQUIER función lógica puede construirse SOLO con puertas NAND. Esto es fundamental en diseño de circuitos porque simplifica fabricación y reduce costes.

4.3. Leyes del Álgebra de Boole

Leyes Básicas

• Identidad:
  A + 0 = A
  A · 1 = A

• Anulación:
  A + 1 = 1
  A · 0 = 0

• Idempotencia:
  A + A = A
  A · A = A

• Complemento:
  A + Ā = 1
  A · Ā = 0

Leyes Avanzadas

• Conmutativa:
  A + B = B + A
  A · B = B · A

• Asociativa:
  (A+B)+C = A+(B+C)
  (A·B)·C = A·(B·C)

• Distributiva:
  A·(B+C) = A·B + A·C
  A+(B·C) = (A+B)·(A+C)

• Absorción:
  A + A·B = A
  A·(A+B) = A

4.4. Teoremas de De Morgan

Los Teoremas de De Morgan (CRÍTICOS para simplificación)

¬(A · B) = ¬A + ¬B
¬(A + B) = ¬A · ¬B

«La negación de un AND es el OR de las negaciones»

«La negación de un OR es el AND de las negaciones»

4.5. Simplificación de Funciones Lógicas

Ejemplo: Simplificar F = A·B + A·B̄
F = A·B + A·B̄

Paso 1: Aplicar distributiva (factor común A)
F = A·(B + B̄)

Paso 2: Aplicar ley del complemento (B + B̄ = 1)
F = A·1

Paso 3: Aplicar ley de identidad (A·1 = A)
F = A

Conclusión: La función se reduce simplemente a A
(Ahorro de puertas lógicas en implementación)

4.6. Mapas de Karnaugh

Los mapas de Karnaugh son una herramienta gráfica para simplificar funciones booleanas de hasta 6 variables (prácticamente, 4 variables).

📐 Ventajas de Karnaugh

  • ✅ Método visual e intuitivo
  • ✅ Garantiza simplificación óptima (para funciones pequeñas)
  • ✅ Evita errores algebraicos
  • ✅ Identifica grupos de 1s para simplificar

5. CONCEPTO DE SISTEMA INFORMÁTICO

5.1. Definición

Un sistema informático es un conjunto de elementos interrelacionados (hardware, software, datos, procedimientos y personas) que trabajan coordinadamente para procesar información de forma automática.

🖥️ Componentes de un Sistema Informático

Piensa en un sistema informático como una orquesta:

  • Hardware: Los instrumentos (violines, pianos, baterías)
  • Software: La partitura musical que coordina la ejecución
  • Datos: Las notas musicales que se interpretan
  • Procedimientos: Las técnicas de interpretación
  • Personas: Los músicos que tocan y el director que coordina

5.2. Modelo Funcional de un Sistema Informático

Diagrama de Flujo de Procesamiento de Información
┌──────────────────────────────────────────────────────────┐
│                   SISTEMA INFORMÁTICO                    │
│                                                          │
│  ┌─────────┐      ┌──────────┐      ┌─────────┐       │
│  │         │      │          │      │         │       │
│  │ ENTRADA │─────▶│ PROCESO  │─────▶│ SALIDA  │       │
│  │         │      │          │      │         │       │
│  │• Teclado│      │• CPU     │      │• Monitor│       │
│  │• Ratón  │      │• Memoria │      │• Impres.│       │
│  │• Escáner│      │• ALU     │      │• Altavoz│       │
│  │• Cámara │      │• UC      │      │         │       │
│  └─────────┘      └────┬─────┘      └─────────┘       │
│                        │                                │
│                        │                                │
│                   ┌────▼─────┐                         │
│                   │          │                         │
│                   │ALMACENAM.│◀──────────────┐         │
│                   │          │               │         │
│                   │• HDD     │               │         │
│                   │• SSD     │      ┌────────┴──────┐  │
│                   │• USB     │      │  SOFTWARE     │  │
│                   │• Cloud   │      │  (Coord.todo) │  │
│                   └──────────┘      └───────────────┘  │
└──────────────────────────────────────────────────────────┘

5.3. Principio de Funcionamiento

Todo sistema informático sigue el ciclo de procesamiento de información:

  1. ENTRADA (Input): Captura de datos del exterior → Dispositivos de entrada
  2. PROCESAMIENTO: Transformación de datos en información útil → CPU + Memoria
  3. SALIDA (Output): Presentación de resultados → Dispositivos de salida
  4. ALMACENAMIENTO: Conservación persistente de datos/información → Dispositivos de almacenamiento

6. COMPONENTES FÍSICOS (HARDWARE)

6.1. Arquitectura de Von Neumann

En 1945, John von Neumann propuso el modelo arquitectónico que aún domina los computadores actuales:

🏛️ Principios de la Arquitectura Von Neumann

  1. Programa almacenado: Instrucciones y datos en la MISMA memoria
  2. Ejecución secuencial: Instrucciones ejecutadas una tras otra (salvo saltos)
  3. Estructura de 5 unidades: CPU (UC + ALU), Memoria, E/S
  4. Direccionamiento lineal: Memoria como secuencia de posiciones numeradas
Arquitectura de Von Neumann (Esquema)
┌───────────────────────────────────────────────────────┐
│                         CPU                           │
│  ┌──────────────────┐      ┌────────────────────┐    │
│  │ UNIDAD DE CONTROL│      │  ALU (Unidad Arit. │    │
│  │      (UC)        │◀────▶│     Lógica)        │    │
│  │                  │      │                    │    │
│  │• Buscar instr.   │      │• Suma, resta       │    │
│  │• Decodificar     │      │• AND, OR, NOT      │    │
│  │• Ejecutar        │      │• Comparaciones     │    │
│  │• PC (Program     │      │                    │    │
│  │  Counter)        │      │                    │    │
│  └────────┬─────────┘      └──────────┬─────────┘    │
│           │                           │              │
│           └───────────┬───────────────┘              │
└───────────────────────┼──────────────────────────────┘
                        │
                        │ BUS DEL SISTEMA
                        │ (Datos, Direcciones, Control)
                        │
        ┌───────────────┼───────────────┐
        │               │               │
┌───────▼────────┐  ┌───▼─────┐  ┌────▼─────┐
│   MEMORIA      │  │ ENTRADA │  │  SALIDA  │
│                │  │         │  │          │
│• RAM (volátil) │  │• Teclado│  │• Monitor │
│• ROM (persist.)│  │• Ratón  │  │• Impres. │
│• Caché         │  │• Escáner│  │• Altavoz │
└────────────────┘  └─────────┘  └──────────┘

6.2. Unidad Central de Proceso (CPU)

⚙️ Unidad de Control (UC)

  • Registro PC: Program Counter (dirección siguiente instrucción)
  • Registro IR: Instruction Register (instrucción actual)
  • Decodificador: Interpreta instrucciones
  • Secuenciador: Genera señales de control

🧮 Unidad Aritmético-Lógica (ALU)

  • Operaciones aritméticas: +, -, ×, ÷
  • Operaciones lógicas: AND, OR, NOT, XOR
  • Comparaciones: >, <, =, ≠
  • Desplazamientos: Shift left/right

6.3. Ciclo de Instrucción (Fetch-Decode-Execute)

Ciclo de Ejecución de una Instrucción
┌────────────────────────────────────────────────────┐
│  FASE 1: FETCH (Búsqueda/Captación)               │
│  ─────────────────────────────────────────────     │
│  1. PC contiene dirección de próxima instrucción  │
│  2. UC lee instrucción de memoria → IR             │
│  3. PC se incrementa (apunta a siguiente)          │
└────────────────────────────────────────────────────┘
                        │
                        ▼
┌────────────────────────────────────────────────────┐
│  FASE 2: DECODE (Decodificación)                  │
│  ────────────────────────────────                 │
│  1. Decodificador interpreta instrucción en IR    │
│  2. Identifica operación y operandos               │
│  3. UC determina qué señales de control activar    │
└────────────────────────────────────────────────────┘
                        │
                        ▼
┌────────────────────────────────────────────────────┐
│  FASE 3: EXECUTE (Ejecución)                      │
│  ───────────────────────────                      │
│  1. UC activa ALU si es operación aritmética      │
│  2. O accede a memoria si es lectura/escritura    │
│  3. O actualiza PC si es salto/bifurcación        │
│  4. Resultado se almacena (registro o memoria)    │
└────────────────────────────────────────────────────┘
                        │
                        ▼
              ¿Hay más instrucciones?
                   │        │
                  SÍ       NO
                   │        │
                   └────────┴──▶ FIN o BUCLE

6.4. Memoria

Tipo Características Velocidad Capacidad Volatilidad
Registros CPU Memoria interna CPU, directamente accesible ~0.5 ns Bytes Volátil
Caché L1 Integrada en núcleo CPU ~1 ns 32-64 KB/núcleo Volátil
Caché L2 Compartida entre núcleos (o por núcleo) ~3 ns 256-512 KB/núcleo Volátil
Caché L3 Compartida por todos los núcleos ~10 ns 8-64 MB Volátil
RAM Memoria principal, acceso aleatorio ~100 ns 8-128 GB típico Volátil
ROM/BIOS Firmware, programa de arranque ~100 ns 16-32 MB No volátil
SSD Almacenamiento flash, sin partes móviles ~0.1 ms 256 GB – 4 TB No volátil
HDD Discos magnéticos giratorios ~10 ms 500 GB – 20 TB No volátil

📊 Jerarquía de Memoria: Pirámide del Rendimiento

A medida que subimos en la pirámide:

  • ⬆️ Velocidad aumenta exponencialmente
  • ⬇️ Capacidad disminuye exponencialmente
  • ⬆️ Coste por byte aumenta exponencialmente

Objetivo: Principio de localidad (temporal y espacial) para optimizar acceso

6.5. Buses del Sistema

Los buses son las «carreteras» que conectan los componentes:

  • Bus de Datos: Transporta datos (bidireccional). Ancho: 32 o 64 bits típico
  • Bus de Direcciones: Especifica ubicación memoria/E/S (unidireccional CPU→Memoria). Ancho determina espacio direccionable (32 bits = 4 GB, 64 bits = 16 EB)
  • Bus de Control: Señales de coordinación (lectura, escritura, reloj, reset, interrupciones)

6.6. Dispositivos de Entrada/Salida

📥 Entrada

  • Teclado, Ratón, Touchpad
  • Escáner, Lector código barras/QR
  • Cámara, Micrófono
  • Pantalla táctil (E/S)
  • Joystick, Gamepad
  • Lector tarjetas (chip, banda)
  • Sensor biométrico (huella, iris)

📤 Salida

  • Monitor, Proyector
  • Impresora (láser, inyección, 3D)
  • Altavoz, Auriculares
  • Plotter (gráficos grandes)
  • Actuadores (motores, LEDs)

6.7. Almacenamiento

Tecnología Tipo Ventajas Desventajas
HDD Magnético, mecánico Gran capacidad, bajo coste/GB Lento, frágil (partes móviles), ruido
SSD Flash NAND, sin mecánica Rápido, silencioso, bajo consumo, robusto Coste/GB mayor, ciclos escritura limitados
NVMe SSD Flash conectado directamente a PCIe Velocísimo (hasta 7000 MB/s), baja latencia Más caro, genera calor
Cintas magnéticas Secuencial, backup Coste bajísimo, capacidad enorme (30TB+) Acceso muy lento, secuencial
Cloud Storage Remoto, Internet Acceso ubicuo, escalable, sin mantenimiento HW Requiere Internet, costes recurrentes, latencia

7. COMPONENTES LÓGICOS (SOFTWARE)

7.1. Definición y Clasificación

Software es el conjunto de programas, instrucciones y datos que permiten al hardware realizar tareas específicas.

Jerarquía del Software
┌─────────────────────────────────────────────────────┐
│                    USUARIO                          │
└─────────────────────┬───────────────────────────────┘
                      │
┌─────────────────────▼───────────────────────────────┐
│          SOFTWARE DE APLICACIÓN                     │
│  ┌──────────────────────────────────────────────┐   │
│  │ • Ofimática (Word, Excel)                    │   │
│  │ • Navegadores (Chrome, Firefox)              │   │
│  │ • Apps específicas (Diraya, ClicSalud+)      │   │
│  │ • Multimedia, Juegos, CAD, ERP...            │   │
│  └──────────────────────────────────────────────┘   │
└─────────────────────┬───────────────────────────────┘
                      │ API / System Calls
┌─────────────────────▼───────────────────────────────┐
│      SOFTWARE DE SISTEMA (Sistema Operativo)        │
│  ┌──────────────────────────────────────────────┐   │
│  │ • Gestión de procesos                        │   │
│  │ • Gestión de memoria                         │   │
│  │ • Sistema de archivos                        │   │
│  │ • Drivers (controladores dispositivos)       │   │
│  │ • Interfaz de usuario (GUI/CLI)              │   │
│  │                                              │   │
│  │ Ejemplos: Windows, Linux, macOS, Android...  │   │
│  └──────────────────────────────────────────────┘   │
└─────────────────────┬───────────────────────────────┘
                      │ Instrucciones máquina
┌─────────────────────▼───────────────────────────────┐
│                   HARDWARE                          │
│     (CPU, Memoria, Discos, Periféricos)             │
└─────────────────────────────────────────────────────┘

7.2. Sistema Operativo (SO)

El Sistema Operativo es el software fundamental que gestiona recursos hardware y proporciona servicios a aplicaciones.

7.2.1. Funciones del SO

Función Descripción Ejemplo
Gestión de Procesos Crear, ejecutar, suspender, terminar procesos. Planificación CPU Task Manager muestra procesos activos
Gestión de Memoria Asignar/liberar RAM, memoria virtual, paginación Swap en Linux, Archivo de paginación Windows
Gestión de E/S Drivers, buffers, spoolers (colas impresión) Instalar driver impresora
Sistema de Archivos Organización, acceso, permisos de archivos NTFS, ext4, APFS
Seguridad Autenticación, autorización, auditoría Login usuario/contraseña, permisos 755
Interfaz de Usuario GUI (gráfica) o CLI (línea comandos) Windows 11 GUI, Bash shell CLI
Networking Protocolos red, sockets, API red TCP/IP stack, configuración WiFi

7.2.2. Tipos de Sistemas Operativos

  • SO Monousuario/Monotarea: MS-DOS (legacy)
  • SO Monousuario/Multitarea: Windows 10/11 (desktop)
  • SO Multiusuario/Multitarea: Linux, Unix, Windows Server
  • SO Tiempo Real: VxWorks, RTOS (sistemas embebidos críticos)
  • SO Móviles: Android, iOS
  • SO Embebidos: FreeRTOS, Embedded Linux

7.3. Software de Programación

Herramientas para desarrollar software:

  • Compiladores: Traducen código fuente → código objeto (gcc, clang, javac)
  • Intérpretes: Ejecutan código línea a línea (Python, JavaScript)
  • Ensambladores: Lenguaje ensamblador → código máquina (as, nasm)
  • IDEs: Entornos desarrollo integrados (Visual Studio, Eclipse, IntelliJ)
  • Debuggers: Depuradores código (gdb, lldb)
  • Profilers: Análisis rendimiento
  • Control de versiones: Git, SVN

7.4. Middleware

Middleware es software intermedio entre SO y aplicaciones, facilitando comunicación y gestión de datos en sistemas distribuidos.

🔗 Tipos de Middleware

  • Servidores de aplicaciones: JBoss, WebLogic, Tomcat
  • Message Brokers: RabbitMQ, Apache Kafka, ActiveMQ
  • API Gateways: Kong, AWS API Gateway
  • ESB (Enterprise Service Bus): Mule ESB, WSO2
  • Bases de datos: Oracle, PostgreSQL, MongoDB
  • ORMs: Hibernate, Entity Framework

8. JERARQUÍA DE NIVELES Y CLASIFICACIONES

8.1. Niveles de Abstracción de un Sistema Informático

Los 7 Niveles de Tanenbaum (de más bajo a más alto)
NIVEL 6: APLICACIONES DE USUARIO
         ↑ (Alto nivel, lenguajes como Python, Java)
         │
NIVEL 5: LENGUAJES DE PROGRAMACIÓN
         ↑ (Compiladores, intérpretes)
         │
NIVEL 4: SISTEMA OPERATIVO
         ↑ (Kernel, drivers, servicios)
         │
NIVEL 3: LENGUAJE ENSAMBLADOR
         ↑ (Mnemonics, más legible que binario)
         │
NIVEL 2: ARQUITECTURA ISA (Instruction Set Architecture)
         ↑ (Conjunto instrucciones máquina: x86, ARM, RISC-V)
         │
NIVEL 1: MICROPROGRAMACIÓN
         ↑ (Microinstrucciones que implementan ISA)
         │
NIVEL 0: LÓGICA DIGITAL
         ↓ (Puertas lógicas, flip-flops, registros)
         
(Bajo nivel, hardware físico)

8.2. Clasificación de Computadores según Capacidad

Categoría Características Uso Ejemplos
Supercomputadores Máximo rendimiento, miles procesadores, petaflops Investigación científica, IA, simulaciones complejas Fugaku (Japón), Summit (USA), MareNostrum (España)
Mainframes Alta fiabilidad, miles usuarios concurrentes, 99.999% uptime Banca, seguros, administración pública IBM Z16, Unisys ClearPath
Servidores Servicios de red, multiusuario, alta disponibilidad Web, bases datos, correo, almacenamiento Dell PowerEdge, HP ProLiant, Servidores SAS
Estaciones de Trabajo Alto rendimiento gráfico/cálculo, monousuario CAD, edición video, desarrollo, científico Dell Precision, HP Z Workstation
PC (Personal Computer) Uso personal/oficina, precio accesible Ofimática, navegación, multimedia Desktop, laptop tradicionales
Dispositivos Móviles Portátiles, batería, conectividad inalámbrica Comunicación, apps móviles, IoT Smartphones, tablets
Sistemas Embebidos Integrados en dispositivos, función específica Electrodomésticos, automóviles, IoT Raspberry Pi, Arduino, ESP32

8.3. Arquitecturas Alternativas a Von Neumann

🔀 Arquitectura Harvard

Diferencia clave: Memoria separada para instrucciones y datos

Ventajas:

  • Acceso simultáneo instrucciones + datos
  • Mayor throughput

Uso: DSPs (Digital Signal Processors), microcontroladores

⚡ Arquitectura Harvard Modificada

Caché separada (L1 instrucciones, L1 datos) pero memoria principal unificada

Ventaja: Mejor rendimiento sin complejidad excesiva

Uso: CPUs modernas (Intel, AMD, ARM)

9. PROGRAMAS DE APLICACIÓN

9.1. Definición

Software de aplicación son programas diseñados para que usuarios finales realicen tareas específicas, sin necesidad de conocer el funcionamiento interno del sistema.

9.2. Clasificación de Programas de Aplicación

9.2.1. Por Propósito General

Categoría Aplicaciones Ejemplos
Ofimática Procesador texto, hoja cálculo, presentaciones Microsoft 365, Google Workspace, LibreOffice
Navegadores Web Acceso Internet, navegación Chrome, Firefox, Edge, Safari
Correo Electrónico Gestión email Outlook, Gmail, Thunderbird
Multimedia Audio, video, imágenes VLC, Spotify, Photoshop, Premiere
Comunicación Mensajería, videollamadas Teams, Zoom, WhatsApp, Slack

9.2.2. Por Sector/Industria

🏥 Sanidad (SAS)

  • HIS: Hospital Information System (Diraya)
  • PACS: Picture Archiving System (imágenes médicas)
  • LIS: Laboratory Information System
  • RIS: Radiology Information System
  • ClicSalud+: Portal paciente
  • Receta electrónica

💼 Otros Sectores

  • ERP: Enterprise Resource Planning (SAP, Oracle)
  • CRM: Customer Relationship (Salesforce)
  • CAD: Computer-Aided Design (AutoCAD)
  • SCM: Supply Chain Management
  • Contabilidad: A3, Sage, Contaplus

9.3. Software a Medida vs Soluciones Empaquetadas

Aspecto Software a Medida (Custom) Software Empaquetado (COTS)
Definición Desarrollado específicamente para cliente Commercial Off-The-Shelf, producto estándar
Coste Inicial ALTO (desarrollo desde cero) MEDIO-BAJO (licencias)
Tiempo Implementación LARGO (meses/años) CORTO (días/semanas)
Adaptación 100% ajustado a necesidades Necesita adaptarse el negocio al software
Mantenimiento Responsabilidad propia o contratada Vendor proporciona actualizaciones
Escalabilidad Depende del diseño Probada en múltiples clientes
Ventaja Competitiva ALTA (único, diferenciador) BAJA (competencia usa lo mismo)
Riesgo ALTO (fracaso proyecto, bugs) BAJO (producto maduro, probado)

🎯 Decisión en el SAS

Software a medida: Diraya (historia digital única de Andalucía), ClicSalud+ (portal específico SAS)

Software empaquetado: SAP (ERP), Microsoft 365 (ofimática), Oracle Database

Híbrido (parametrizable): Sistemas base con customización: Epic, Cerner (HIS comerciales adaptados)

9.4. Tendencias: SaaS, PaaS, IaaS

Modelo Qué Proporciona Control Usuario Ejemplos
IaaS (Infrastructure) VMs, almacenamiento, redes Usuario gestiona SO, apps, datos AWS EC2, Azure VMs, Google Compute
PaaS (Platform) Plataforma desarrollo (runtime, BD, middleware) Usuario gestiona apps y datos Heroku, Google App Engine, Azure App Service
SaaS (Software) Aplicación completa lista para usar Usuario solo usa, no gestiona nada Microsoft 365, Gmail, Salesforce, Zoom

10. EVOLUCIÓN Y TENDENCIAS EN SISTEMAS INFORMÁTICOS

10.1. Evolución Histórica

Las 5 Generaciones de Computadores
GENERACIÓN 1 (1940-1956): VÁLVULAS DE VACÍO
• ENIAC (1946): 30 toneladas, 18.000 válvulas
• Programación: cables y switches físicos
• Consumo: 150 kW
• Aplicación: Cálculos balísticos militares

GENERACIÓN 2 (1956-1963): TRANSISTORES
• Transistor reemplaza válvula (menor tamaño, consumo)
• Lenguajes: Assembly, FORTRAN, COBOL
• Memoria: Núcleos magnéticos
• Aplicación: Negocios, universidades

GENERACIÓN 3 (1964-1971): CIRCUITOS INTEGRADOS (IC)
• IBM System/360 (1964): familia compatible
• ICs: miles transistores en chip
• SO: Multiprogramación, tiempo compartido
• Aplicación: Empresas medianas

GENERACIÓN 4 (1971-presente): MICROPROCESADORES
• Intel 4004 (1971): primer micro en un chip
• PC (1981): Computación personal
• GUI: Windows, Mac (años 80)
• Internet comercial (años 90)
• Smartphones (2007)

GENERACIÓN 5 (investigación): INTELIGENCIA ARTIFICIAL
• Procesamiento paralelo masivo
• Redes neuronales en hardware
• Computación cuántica (D-Wave, IBM Q)
• IA ubicua (GPT-4, Claude, etc.)

10.2. Ley de Moore

Ley de Moore (1965)

Transistores en un chip se DUPLICAN cada ~18-24 meses

Consecuencia: Potencia de cómputo crece exponencialmente

Estado actual (2025): Se está ralentizando por límites físicos (7nm, 5nm, 3nm…)

Futuro: Chips 3D, computación cuántica, fotónica

10.3. Tendencias Actuales y Futuras

🚀 Procesadores

  • Arquitecturas ARM: Eficiencia energética (Apple M-series, AWS Graviton)
  • Chiplets: Chips modulares (AMD Zen)
  • Procesadores neuromórficos: Imitando cerebro humano
  • Computación cuántica: Qubits (IBM, Google)

💾 Memoria y Almacenamiento

  • Persistent Memory: Intel Optane (RAM + SSD)
  • DNA Storage: Almacenamiento en ADN (investigación)
  • CXL: Interconnect memoria ultra-rápido
  • Almacenamiento objeto: S3-compatible

🌐 Paradigmas de Cómputo

  • Edge Computing: Procesamiento en el borde (IoT)
  • Serverless: FaaS (Functions as a Service)
  • Contenedores: Docker, Kubernetes
  • Microservicios: Arquitecturas distribuidas

🤖 Inteligencia Artificial

  • LLMs: GPT-4, Claude, Llama (IA generativa)
  • TPUs/GPUs: Aceleradores IA (NVIDIA A100, Google TPU)
  • AutoML: ML automatizado
  • AI en edge: IA en dispositivos (smartphones)

10.4. Sostenibilidad y Green IT

🌱 Informática Sostenible

  • Eficiencia energética: CPUs ARM, diseños de bajo consumo
  • Refrigeración líquida: Datacenters sumergidos (Microsoft Project Natick)
  • Energías renovables: Google, Apple 100% renovable
  • Reciclaje electrónico: Economía circular
  • Virtualización: Consolidación servidores (menos hardware físico)

11. CONCLUSIONES

🎯 Ideas Clave para la Oposición

  1. Teoría Shannon (1948): Información = reducción incertidumbre. Unidad: bit
  2. Sistema binario: Base 2, solo 0 y 1. Conversiones a decimal/hexadecimal
  3. Álgebra de Boole: AND, OR, NOT. Leyes: De Morgan, distributiva, absorción
  4. Arquitectura Von Neumann: CPU (UC+ALU), Memoria, E/S, Bus. Programa almacenado
  5. Ciclo instrucción: Fetch → Decode → Execute
  6. Jerarquía memoria: Registros → Caché L1/L2/L3 → RAM → SSD/HDD
  7. Software: Sistema (SO) → Aplicación. A medida vs empaquetado
  8. Ley Moore: Transistores duplican cada 18-24 meses (ralentizándose)
  9. Tendencias: Cloud, IA, Edge, cuántica, ARM, sostenibilidad
  10. Clasificación: Supercomputadores → Mainframes → Servidores → PC → Móviles → Embebidos

💪 Mensaje Final

Este tema es la BASE de TODO. Sin entender cómo funciona un bit, cómo se procesa una instrucción, cómo se organiza la memoria… no se puede ser un verdadero profesional TI.

Cuando diseñes un sistema para el SAS, cuando optimices una consulta SQL, cuando investigues un problema de rendimiento… estarás aplicando estos fundamentos. La teoría no es abstracta, es la raíz de cada decisión técnica que tomarás en tu carrera.

12. CUESTIONARIO (30 PREGUNTAS TIPO TEST)

Pregunta 1

¿Quién publicó en 1948 «A Mathematical Theory of Communication», fundamento de la teoría de la información?

A) Alan Turing
B) Claude Shannon ✓
C) John von Neumann
D) George Boole
Respuesta correcta: B
Claude Shannon estableció las bases matemáticas de la teoría de la información en 1948, definiendo conceptos como bit, entropía y canal de comunicación.

Pregunta 2

¿Cuál es el resultado de convertir el número decimal 25₁₀ a binario?

A) 10011₂
B) 11001₂ ✓
C) 11010₂
D) 10101₂
Respuesta correcta: B
25 ÷ 2 = 12 resto 1; 12 ÷ 2 = 6 resto 0; 6 ÷ 2 = 3 resto 0; 3 ÷ 2 = 1 resto 1; 1 ÷ 2 = 0 resto 1. Leyendo de abajo arriba: 11001₂. Verificación: 16+8+0+0+1=25✓

Pregunta 3

¿Qué resultado produce la operación lógica 1 XOR 1?

A) 0 ✓
B) 1
C) Indeterminado
D) Error lógico
Respuesta correcta: A
XOR (OR exclusivo) devuelve 1 solo si los operandos son DIFERENTES. Como 1 XOR 1 son iguales, el resultado es 0. Tabla: 0⊕0=0, 0⊕1=1, 1⊕0=1, 1⊕1=0.

Pregunta 4

Según los teoremas de De Morgan, ¬(A · B) es equivalente a:

A) ¬A · ¬B
B) ¬A + ¬B ✓
C) A + B
D) A · B
Respuesta correcta: B
Primer teorema de De Morgan: La negación de un AND es el OR de las negaciones. ¬(A·B) = ¬A+¬B. El segundo dice: ¬(A+B) = ¬A·¬B.

Pregunta 5

¿Qué arquitectura propone memoria separada para instrucciones y datos?

A) Von Neumann
B) Harvard ✓
C) RISC
D) CISC
Respuesta correcta: B
La arquitectura Harvard separa físicamente memoria de instrucciones y datos, permitiendo acceso simultáneo. Von Neumann usa memoria unificada. RISC/CISC son filosofías de diseño de ISA.

Pregunta 6

¿Qué componente de la CPU se encarga de realizar operaciones aritméticas y lógicas?

A) Unidad de Control (UC)
B) ALU (Arithmetic Logic Unit) ✓
C) Registros
D) Caché
Respuesta correcta: B
La ALU ejecuta sumas, restas, AND, OR, comparaciones. La UC coordina y secuencia. Los registros almacenan temporalmente. La caché es memoria rápida.

Pregunta 7

¿Cuál es el orden correcto de las fases del ciclo de instrucción?

A) Decode → Fetch → Execute
B) Fetch → Decode → Execute ✓
C) Execute → Fetch → Decode
D) Fetch → Execute → Decode
Respuesta correcta: B
1) FETCH: Buscar instrucción en memoria. 2) DECODE: Decodificar qué operación es. 3) EXECUTE: Ejecutar la operación. Es el ciclo básico de cualquier CPU.

Pregunta 8

¿Qué tipo de memoria es volátil y pierde su contenido al apagar el equipo?

A) ROM
B) RAM ✓
C) SSD
D) HDD
Respuesta correcta: B
RAM (Random Access Memory) es volátil: necesita alimentación eléctrica continua. ROM, SSD, HDD son no volátiles (persistentes).

Pregunta 9

¿Cuántos bits tiene un byte?

A) 4 bits
B) 6 bits
C) 8 bits ✓
D) 16 bits
Respuesta correcta: C
1 byte = 8 bits. 4 bits = 1 nibble. 2 bytes = 16 bits = 1 word (en arquitecturas de 16 bits). El byte es la unidad básica de almacenamiento.

Pregunta 10

¿Qué sistema de numeración utiliza los dígitos 0-9 y las letras A-F?

A) Binario
B) Octal
C) Decimal
D) Hexadecimal ✓
Respuesta correcta: D
Hexadecimal (base 16) usa 0-9 y A-F (A=10, B=11, C=12, D=13, E=14, F=15). Muy usado para direcciones de memoria, colores RGB, códigos MAC.

Pregunta 11

¿Cuál es el equivalente hexadecimal del número binario 11010110₂?

A) C6₁₆
B) D6₁₆ ✓
C) E6₁₆
D) B6₁₆
Respuesta correcta: B
Agrupar de 4 en 4: 1101 0110. 1101₂ = 13₁₀ = D₁₆. 0110₂ = 6₁₀ = 6₁₆. Resultado: D6₁₆.

Pregunta 12

¿Qué puerta lógica es funcionalmente completa (puede construir cualquier función)?

A) AND
B) OR
C) NAND ✓
D) XOR
Respuesta correcta: C
NAND (y también NOR) son funcionalmente completas: cualquier función lógica puede construirse solo con puertas NAND. Esto simplifica fabricación de circuitos.

Pregunta 13

¿Qué tipo de software gestiona el hardware y proporciona servicios a las aplicaciones?

A) Software de aplicación
B) Sistema Operativo ✓
C) Firmware
D) Middleware
Respuesta correcta: B
El Sistema Operativo (Windows, Linux, macOS) es el software fundamental que gestiona recursos hardware y proporciona una plataforma para aplicaciones.

Pregunta 14

¿Qué bus del sistema transporta información bidireccional entre componentes?

A) Bus de datos ✓
B) Bus de direcciones
C) Bus de control
D) Bus de expansión
Respuesta correcta: A
El bus de datos es bidireccional (CPU↔Memoria). El bus de direcciones es unidireccional (CPU→Memoria). El bus de control transporta señales de sincronización.

Pregunta 15

¿Qué ley establece que los transistores en un chip se duplican aproximadamente cada 18-24 meses?

A) Ley de Shannon
B) Ley de Boole
C) Ley de Moore ✓
D) Ley de Von Neumann
Respuesta correcta: C
Gordon Moore (Intel) observó en 1965 que la densidad de transistores se duplicaba cada ~18-24 meses. Esto implica potencia exponencial, aunque hoy se ralentiza por límites físicos.

Pregunta 16

¿Qué memoria de la jerarquía es la más rápida pero con menor capacidad?

A) Registros de CPU ✓
B) Caché L1
C) RAM
D) SSD
Respuesta correcta: A
Jerarquía (de más rápida a más lenta): Registros (~0.5ns) → Caché L1 (~1ns) → Caché L2/L3 → RAM (~100ns) → SSD (~0.1ms) → HDD (~10ms).

Pregunta 17

¿Qué código utiliza 8 bits y puede representar 256 caracteres diferentes?

A) ASCII estándar (7 bits)
B) ASCII extendido ✓
C) Unicode
D) EBCDIC
Respuesta correcta: B
ASCII estándar usa 7 bits (128 caracteres). ASCII extendido usa 8 bits (256 caracteres). Unicode usa 16-32 bits (todos los idiomas). EBCDIC es de IBM.

Pregunta 18

¿Qué tecnología de almacenamiento NO tiene partes móviles?

A) HDD (Hard Disk Drive)
B) SSD (Solid State Drive) ✓
C) Cinta magnética
D) Disco óptico
Respuesta correcta: B
Los SSD usan memoria flash (sin mecánica), lo que los hace más rápidos, silenciosos, robustos y eficientes que los HDD (con discos giratorios).

Pregunta 19

¿Qué representa el resultado de 1 + 1 en aritmética binaria?

A) 1
B) 10 ✓
C) 11
D) 2
Respuesta correcta: B
En binario: 1 + 1 = 10 (equivalente a 2₁₀). El resultado es 0 con acarreo de 1. Reglas: 0+0=0, 0+1=1, 1+0=1, 1+1=10.

Pregunta 20

¿Qué tipo de software incluye compiladores e intérpretes?

A) Software de sistema
B) Software de programación ✓
C) Software de aplicación
D) Firmware
Respuesta correcta: B
El software de programación son herramientas para desarrollar software: compiladores (gcc, javac), intérpretes (Python), IDEs (Visual Studio), debuggers.

Pregunta 21

¿Cuántas combinaciones diferentes se pueden representar con 3 bits?

A) 3
B) 6
C) 8 ✓
D) 16
Respuesta correcta: C
Con n bits se pueden representar 2ⁿ combinaciones. Con 3 bits: 2³ = 8 (de 000 a 111, o 0₁₀ a 7₁₀).

Pregunta 22

¿Qué generación de computadores introdujo el transistor?

A) Primera generación (válvulas de vacío)
B) Segunda generación (1956-1963) ✓
C) Tercera generación (circuitos integrados)
D) Cuarta generación (microprocesadores)
Respuesta correcta: B
2ª generación (1956-1963): Transistores sustituyen válvulas, menor tamaño/consumo. 3ª: ICs. 4ª: Microprocesadores (Intel 4004, 1971).

Pregunta 23

¿Qué modelo de software NO requiere instalación local y se accede vía navegador?

A) Software de escritorio
B) Software empaquetado
C) SaaS (Software as a Service) ✓
D) Software a medida
Respuesta correcta: C
SaaS (Gmail, Microsoft 365, Salesforce) se ejecuta en servidores del proveedor, se accede vía web. PaaS proporciona plataforma. IaaS proporciona infraestructura.

Pregunta 24

¿Qué principio arquitectónico de Von Neumann establece que instrucciones y datos comparten la misma memoria?

A) Ejecución paralela
B) Programa almacenado ✓
C) Pipeline
D) Multitarea
Respuesta correcta: B
El principio del «programa almacenado» (stored-program) es que tanto código como datos residen en la misma memoria, permitiendo que programas se modifiquen a sí mismos.

Pregunta 25

¿Qué tipo de computador se caracteriza por procesamiento de miles de usuarios concurrentes y 99.999% uptime?

A) PC personal
B) Servidor
C) Mainframe ✓
D) Supercomputador
Respuesta correcta: C
Los mainframes (IBM Z) se usan en banca y administración por su altísima fiabilidad y capacidad transaccional. Supercomputadores son para cálculo científico.

Pregunta 26

Según el álgebra de Boole, ¿qué valor tiene la expresión A + 1?

A) A
B) 1 ✓
C) 0
D) Ā
Respuesta correcta: B
Por la ley de anulación: A + 1 = 1 (siempre). Otras leyes: A + 0 = A, A · 1 = A, A · 0 = 0, A + Ā = 1, A · Ā = 0.

Pregunta 27

¿Qué tipo de software se desarrolla específicamente para un cliente concreto?

A) COTS (Commercial Off-The-Shelf)
B) Software a medida (custom) ✓
C) Freeware
D) Open source
Respuesta correcta: B
Software a medida se desarrolla desde cero para necesidades específicas (ej: Diraya para SAS). COTS es empaquetado estándar (SAP, Oracle).

Pregunta 28

¿Qué registro de la CPU contiene la dirección de la próxima instrucción a ejecutar?

A) IR (Instruction Register)
B) PC (Program Counter) ✓
C) MAR (Memory Address Register)
D) MDR (Memory Data Register)
Respuesta correcta: B
El PC (Program Counter) apunta a la siguiente instrucción. El IR contiene la instrucción actual. MAR contiene dirección de memoria a acceder. MDR contiene dato leído/escrito.

Pregunta 29

¿Qué sistema de archivos utiliza Windows actualmente?

A) FAT32
B) ext4
C) NTFS ✓
D) APFS
Respuesta correcta: C
Windows usa NTFS (New Technology File System). Linux usa ext4. macOS usa APFS. FAT32 es legacy (limitado a archivos <4GB).

Pregunta 30

¿Qué término describe software intermedio entre SO y aplicaciones en sistemas distribuidos?

A) Firmware
B) Driver
C) Middleware ✓
D) Kernel
Respuesta correcta: C
Middleware facilita comunicación en sistemas distribuidos: servidores de aplicaciones (Tomcat), message brokers (RabbitMQ), ESBs, API gateways.

13. MAPA CONCEPTUAL

┌─────────────────────────────────────────────────────────────────────────────────┐
│         TEMA 50: FUNDAMENTOS DE SISTEMAS INFORMÁTICOS                           │
└─────────────────────────────────────────────────────────────────────────────────┘
                                        │
                ┌───────────────────────┼───────────────────────┐
                │                       │                       │
         ┌──────▼──────┐         ┌─────▼──────┐         ┌─────▼──────┐
         │  TEORÍA DE  │         │  SISTEMAS  │         │   LÓGICA   │
         │    LA       │         │NUMERACIÓN  │         │  BINARIA   │
         │ INFORMACIÓN │         │  Y ÁLGEBRA │         │            │
         └──────┬──────┘         └─────┬──────┘         └─────┬──────┘
                │                      │                       │
    ┌───────────┼──────────┐      ┌───┴────┐          ┌───────┴────────┐
    │           │          │      │        │          │                │
┌───▼────┐ ┌───▼────┐ ┌───▼──┐ ┌─▼──┐ ┌──▼──┐   ┌───▼────┐    ┌─────▼──────┐
│Shannon │ │  Bit   │ │Entrp.│ │Bin.│ │Hex. │   │ Boole  │    │   Puertas  │
│ 1948   │ │Unidad  │ │      │ │Base│ │Base │   │ 1854   │    │   Lógicas  │
│        │ │mínima  │ │ H(X) │ │ 2  │ │ 16  │   │        │    │ AND/OR/NOT │
└────────┘ └────────┘ └──────┘ └────┘ └─────┘   └────────┘    └────────────┘

┌─────────────────────────────────────────────────────────────────────────────────┐
│                    ARQUITECTURA VON NEUMANN (1945)                              │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                 │
│  PRINCIPIO: Programa Almacenado (instrucciones y datos en misma memoria)       │
│                                                                                 │
│  ┌────────────────────────────────────────────────────────────────┐            │
│  │                          CPU                                   │            │
│  │  ┌─────────────────┐         ┌──────────────────┐            │            │
│  │  │  UNIDAD DE      │         │     ALU          │            │            │
│  │  │  CONTROL (UC)   │◀───────▶│ (Aritmético-     │            │            │
│  │  │                 │         │  Lógica)         │            │            │
│  │  │ • PC (Program   │         │ • Suma, resta    │            │            │
│  │  │   Counter)      │         │ • AND, OR, NOT   │            │            │
│  │  │ • IR (Instruc.  │         │ • Comparaciones  │            │            │
│  │  │   Register)     │         │ • Shifts         │            │            │
│  │  │ • Decodificador │         │                  │            │            │
│  │  └─────────────────┘         └──────────────────┘            │            │
│  └────────────────────┬─────────────────────────────────────────┘            │
│                       │                                                        │
│                       │ BUS DEL SISTEMA                                        │
│                       │ (Datos, Direcciones, Control)                          │
│                       │                                                        │
│        ┌──────────────┼──────────────┐                                        │
│        │              │              │                                        │
│  ┌─────▼─────┐  ┌────▼────┐  ┌─────▼─────┐                                  │
│  │  MEMORIA  │  │ ENTRADA │  │   SALIDA  │                                  │
│  │           │  │         │  │           │                                  │
│  │ • RAM     │  │• Teclado│  │ • Monitor │                                  │
│  │ • ROM     │  │• Ratón  │  │ • Impres. │                                  │
│  │ • Caché   │  │• Escáner│  │ • Altavoz │                                  │
│  └───────────┘  └─────────┘  └───────────┘                                  │
└─────────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────────┐
│                       JERARQUÍA DE MEMORIA                                      │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                 │
│  🔺 VELOCIDAD        🔻 CAPACIDAD        🔺 COSTE/BYTE                         │
│                                                                                 │
│  ┌─────────────────────────────────────────┐                                   │
│  │  Registros CPU      (~0.5 ns)   [Bytes] │  ◄── Más rápido, más caro        │
│  ├─────────────────────────────────────────┤                                   │
│  │  Caché L1          (~1 ns)     [32-64KB]│                                   │
│  ├─────────────────────────────────────────┤                                   │
│  │  Caché L2          (~3 ns)    [256-512KB]│                                  │
│  ├─────────────────────────────────────────┤                                   │
│  │  Caché L3          (~10 ns)   [8-64 MB] │                                   │
│  ├─────────────────────────────────────────┤                                   │
│  │  RAM               (~100 ns)  [8-128 GB]│                                   │
│  ├─────────────────────────────────────────┤                                   │
│  │  SSD              (~0.1 ms)  [256GB-4TB]│                                   │
│  ├─────────────────────────────────────────┤                                   │
│  │  HDD              (~10 ms)  [500GB-20TB]│  ◄── Más lento, más barato        │
│  └─────────────────────────────────────────┘                                   │
│                                                                                 │
│  PRINCIPIO: Localidad temporal y espacial                                      │
└─────────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────────┐
│                            SOFTWARE                                             │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                 │
│  JERARQUÍA:                                                                     │
│                                                                                 │
│  ┌───────────────────────────────────────────────┐                             │
│  │  SOFTWARE DE APLICACIÓN                       │                             │
│  │  • Ofimática (Word, Excel)                    │                             │
│  │  • Navegadores (Chrome, Firefox)              │                             │
│  │  • Apps específicas (Diraya, ClicSalud+)      │  ◄── Usuario final          │
│  │  • ERP, CRM, CAD...                           │                             │
│  └───────────────────┬───────────────────────────┘                             │
│                      │ API / System Calls                                       │
│  ┌───────────────────▼───────────────────────────┐                             │
│  │  SOFTWARE DE SISTEMA                          │                             │
│  │  ┌─────────────────────────────────────────┐  │                             │
│  │  │  SISTEMA OPERATIVO (Kernel)             │  │                             │
│  │  │  • Gestión procesos                     │  │                             │
│  │  │  • Gestión memoria                      │  │  ◄── Gestión recursos       │
│  │  │  • Sistema archivos (NTFS, ext4)        │  │                             │
│  │  │  • Drivers                              │  │                             │
│  │  │  • Interfaz usuario (GUI/CLI)           │  │                             │
│  │  └─────────────────────────────────────────┘  │                             │
│  └───────────────────┬───────────────────────────┘                             │
│                      │ Instrucciones máquina                                    │
│  ┌───────────────────▼───────────────────────────┐                             │
│  │           HARDWARE                            │                             │
│  │  (CPU, Memoria, Discos, Periféricos)          │  ◄── Componentes físicos    │
│  └───────────────────────────────────────────────┘                             │
│                                                                                 │
│  CLASIFICACIÓN:                                                                 │
│  • Software a medida: Desarrollo específico (Diraya)                            │
│  • Software empaquetado (COTS): Producto estándar (SAP, Oracle)                 │
│  • SaaS: Software como servicio (Microsoft 365, Gmail)                          │
└─────────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────────┐
│                     SISTEMAS DE NUMERACIÓN                                      │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                 │
│  SISTEMA     BASE    DÍGITOS        USO                                        │
│  ──────────  ────    ─────────      ────────────────────────────               │
│  Decimal      10     0-9            Uso humano cotidiano                        │
│  Binario       2     0-1            Lenguaje máquina, electrónica digital       │
│  Octal         8     0-7            Permisos Unix (chmod 755)                   │
│  Hexadecimal  16     0-9, A-F       Direcciones memoria, colores RGB           │
│                                                                                 │
│  CONVERSIONES CLAVE:                                                            │
│  • Decimal → Binario: División sucesiva por 2                                   │
│  • Binario → Decimal: Suma de potencias de 2                                    │
│  • Binario ↔ Hexadecimal: Agrupación de 4 bits                                 │
│                                                                                 │
│  EJEMPLO: 156₁₀ = 10011100₂ = 9C₁₆                                             │
└─────────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────────┐
│                   ÁLGEBRA DE BOOLE Y PUERTAS LÓGICAS                            │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                 │
│  OPERADORES BÁSICOS:                                                            │
│  • NOT (¬):  Inversión          0→1, 1→0                                        │
│  • AND (·):  1 solo si todos=1  1·1=1, resto=0                                  │
│  • OR  (+):  1 si al menos 1=1  0+0=0, resto=1                                  │
│  • XOR (⊕):  1 si diferentes    0⊕1=1, 1⊕1=0                                    │
│                                                                                 │
│  LEYES FUNDAMENTALES:                                                           │
│  • Conmutativa:    A+B = B+A    A·B = B·A                                       │
│  • Asociativa:     (A+B)+C = A+(B+C)                                            │
│  • Distributiva:   A·(B+C) = A·B + A·C                                          │
│  • De Morgan:      ¬(A·B) = ¬A+¬B    ¬(A+B) = ¬A·¬B                            │
│  • Absorción:      A+A·B = A                                                    │
│  • Complemento:    A+¬A = 1    A·¬A = 0                                         │
│                                                                                 │
│  PUERTA UNIVERSAL: NAND (puede construir cualquier función lógica)             │
└─────────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────────┐
│                        EVOLUCIÓN HISTÓRICA                                      │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                 │
│  GEN 1 (1940-1956): VÁLVULAS    → ENIAC (30 ton, 18.000 válvulas)             │
│  GEN 2 (1956-1963): TRANSISTORES → Menor tamaño/consumo                        │
│  GEN 3 (1964-1971): ICs         → Circuitos integrados (miles transistores)    │
│  GEN 4 (1971-hoy):  µPROCESADORES → Intel 4004, PC, Internet, smartphones       │
│  GEN 5 (futuro):    IA + CUÁNTICA → Computación cuántica, IA ubicua           │
│                                                                                 │
│  LEY DE MOORE: Transistores se duplican cada 18-24 meses                       │
│  (Ralentizándose por límites físicos: 7nm, 5nm, 3nm...)                        │
└─────────────────────────────────────────────────────────────────────────────────┘

                          🎯 FUNDAMENTO DE TODO 🎯
                 ═══════════════════════════════════════
                 Sin estos conceptos, no existe la
                 informática moderna: desde smartphones
                 hasta supercomputadores, todos se basan
                 en bits, puertas lógicas y Von Neumann
                 ═══════════════════════════════════════

14. REFERENCIAS BIBLIOGRÁFICAS

14.1. Obras Fundamentales

  1. Shannon, Claude E. «A Mathematical Theory of Communication». The Bell System Technical Journal, Vol. 27, pp. 379-423, 623-656, July, October 1948.
  2. Boole, George. «An Investigation of the Laws of Thought on Which are Founded the Mathematical Theories of Logic and Probabilities». Walton and Maberly, London, 1854.
  3. Von Neumann, John. «First Draft of a Report on the EDVAC». University of Pennsylvania, Moore School of Electrical Engineering, 1945.
  4. Turing, Alan M. «On Computable Numbers, with an Application to the Entscheidungsproblem». Proceedings of the London Mathematical Society, Series 2, Volume 42, 1936.

14.2. Libros de Texto

  1. Tanenbaum, Andrew S.; Austin, Todd. «Structured Computer Organization». 6ª ed. Pearson, 2012. ISBN: 978-0132916523.
  2. Patterson, David A.; Hennessy, John L. «Computer Organization and Design: The Hardware/Software Interface». 5ª ed. Morgan Kaufmann, 2013. ISBN: 978-0124077263.
  3. Stallings, William. «Computer Organization and Architecture: Designing for Performance». 10ª ed. Pearson, 2015. ISBN: 978-0134101613.
  4. Null, Linda; Lobur, Julia. «The Essentials of Computer Organization and Architecture». 5ª ed. Jones & Bartlett Learning, 2018. ISBN: 978-1284123036.
  5. Brookshear, J. Glenn; Brylow, Dennis. «Computer Science: An Overview». 13ª ed. Pearson, 2018. ISBN: 978-0134875460.

14.3. Sistemas de Numeración y Álgebra de Boole

  1. Mano, M. Morris; Ciletti, Michael D. «Digital Design». 6ª ed. Pearson, 2017. ISBN: 978-0134549897.
  2. Wakerly, John F. «Digital Design: Principles and Practices». 5ª ed. Pearson, 2018. ISBN: 978-0134460093.
  3. Brown, Stephen; Vranesic, Zvonko. «Fundamentals of Digital Logic with Verilog Design». 3ª ed. McGraw-Hill, 2013. ISBN: 978-0073380544.

14.4. Arquitectura de Computadores

  1. Hennessy, John L.; Patterson, David A. «Computer Architecture: A Quantitative Approach». 6ª ed. Morgan Kaufmann, 2017. ISBN: 978-0128119051.
  2. Harris, David; Harris, Sarah L. «Digital Design and Computer Architecture: ARM Edition». Morgan Kaufmann, 2015. ISBN: 978-0128000564.
  3. Hamacher, Carl; Vranesic, Zvonko; Zaky, Safwat; Manjikian, Naraig. «Computer Organization and Embedded Systems». 6ª ed. McGraw-Hill, 2011. ISBN: 978-0073380650.

14.5. Sistemas Operativos

  1. Tanenbaum, Andrew S.; Bos, Herbert. «Modern Operating Systems». 4ª ed. Pearson, 2014. ISBN: 978-013359162.
  2. Silberschatz, Abraham; Galvin, Peter B.; Gagne, Greg. «Operating System Concepts». 10ª ed. Wiley, 2018. ISBN: 978-1119320913.
  3. Stallings, William. «Operating Systems: Internals and Design Principles». 9ª ed. Pearson, 2017. ISBN: 978-0134670959.

14.6. Software y Programación

  1. Pressman, Roger S.; Maxim, Bruce R. «Software Engineering: A Practitioner’s Approach». 9ª ed. McGraw-Hill, 2019. ISBN: 978-1260548006.
  2. Sommerville, Ian. «Software Engineering». 10ª ed. Pearson, 2015. ISBN: 978-0133943030.
  3. Aho, Alfred V.; Lam, Monica S.; Sethi, Ravi; Ullman, Jeffrey D. «Compilers: Principles, Techniques, and Tools». 2ª ed. Pearson, 2006. ISBN: 978-0321486813.

14.7. Historia y Evolución

  1. Ceruzzi, Paul E. «A History of Modern Computing». 2ª ed. MIT Press, 2003. ISBN: 978-0262532037.
  2. McCartney, Scott. «ENIAC: The Triumphs and Tragedies of the World’s First Computer». Walker & Company, 1999. ISBN: 978-0802713483.
  3. Moore, Gordon E. «Cramming More Components onto Integrated Circuits». Electronics, Volume 38, Number 8, April 19, 1965.

14.8. Recursos Online

  1. IEEE Computer Society. Digital Library. Disponible en: https://www.computer.org/publications/
  2. ACM (Association for Computing Machinery). Digital Library. Disponible en: https://dl.acm.org/
  3. Intel Corporation. «Intel 64 and IA-32 Architectures Software Developer’s Manual». Disponible en: https://software.intel.com/
  4. ARM Holdings. «ARM Architecture Reference Manual». Disponible en: https://developer.arm.com/
  5. MIT OpenCourseWare. «6.004 Computation Structures». Disponible en: https://ocw.mit.edu/
  6. Nand2Tetris. «From NAND to Tetris: Building a Modern Computer From First Principles». Disponible en: https://www.nand2tetris.org/

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *