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
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:
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)
«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:
- ENTRADA (Input): Captura de datos del exterior → Dispositivos de entrada
- PROCESAMIENTO: Transformación de datos en información útil → CPU + Memoria
- SALIDA (Output): Presentación de resultados → Dispositivos de salida
- 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
- Programa almacenado: Instrucciones y datos en la MISMA memoria
- Ejecución secuencial: Instrucciones ejecutadas una tras otra (salvo saltos)
- Estructura de 5 unidades: CPU (UC + ALU), Memoria, E/S
- 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)
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
- Teoría Shannon (1948): Información = reducción incertidumbre. Unidad: bit
- Sistema binario: Base 2, solo 0 y 1. Conversiones a decimal/hexadecimal
- Álgebra de Boole: AND, OR, NOT. Leyes: De Morgan, distributiva, absorción
- Arquitectura Von Neumann: CPU (UC+ALU), Memoria, E/S, Bus. Programa almacenado
- Ciclo instrucción: Fetch → Decode → Execute
- Jerarquía memoria: Registros → Caché L1/L2/L3 → RAM → SSD/HDD
- Software: Sistema (SO) → Aplicación. A medida vs empaquetado
- Ley Moore: Transistores duplican cada 18-24 meses (ralentizándose)
- Tendencias: Cloud, IA, Edge, cuántica, ARM, sostenibilidad
- 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?
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?
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?
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:
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?
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?
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?
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?
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?
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?
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₂?
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)?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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
- Shannon, Claude E. «A Mathematical Theory of Communication». The Bell System Technical Journal, Vol. 27, pp. 379-423, 623-656, July, October 1948.
- 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.
- Von Neumann, John. «First Draft of a Report on the EDVAC». University of Pennsylvania, Moore School of Electrical Engineering, 1945.
- 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
- Tanenbaum, Andrew S.; Austin, Todd. «Structured Computer Organization». 6ª ed. Pearson, 2012. ISBN: 978-0132916523.
- Patterson, David A.; Hennessy, John L. «Computer Organization and Design: The Hardware/Software Interface». 5ª ed. Morgan Kaufmann, 2013. ISBN: 978-0124077263.
- Stallings, William. «Computer Organization and Architecture: Designing for Performance». 10ª ed. Pearson, 2015. ISBN: 978-0134101613.
- Null, Linda; Lobur, Julia. «The Essentials of Computer Organization and Architecture». 5ª ed. Jones & Bartlett Learning, 2018. ISBN: 978-1284123036.
- 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
- Mano, M. Morris; Ciletti, Michael D. «Digital Design». 6ª ed. Pearson, 2017. ISBN: 978-0134549897.
- Wakerly, John F. «Digital Design: Principles and Practices». 5ª ed. Pearson, 2018. ISBN: 978-0134460093.
- Brown, Stephen; Vranesic, Zvonko. «Fundamentals of Digital Logic with Verilog Design». 3ª ed. McGraw-Hill, 2013. ISBN: 978-0073380544.
14.4. Arquitectura de Computadores
- Hennessy, John L.; Patterson, David A. «Computer Architecture: A Quantitative Approach». 6ª ed. Morgan Kaufmann, 2017. ISBN: 978-0128119051.
- Harris, David; Harris, Sarah L. «Digital Design and Computer Architecture: ARM Edition». Morgan Kaufmann, 2015. ISBN: 978-0128000564.
- 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
- Tanenbaum, Andrew S.; Bos, Herbert. «Modern Operating Systems». 4ª ed. Pearson, 2014. ISBN: 978-013359162.
- Silberschatz, Abraham; Galvin, Peter B.; Gagne, Greg. «Operating System Concepts». 10ª ed. Wiley, 2018. ISBN: 978-1119320913.
- Stallings, William. «Operating Systems: Internals and Design Principles». 9ª ed. Pearson, 2017. ISBN: 978-0134670959.
14.6. Software y Programación
- Pressman, Roger S.; Maxim, Bruce R. «Software Engineering: A Practitioner’s Approach». 9ª ed. McGraw-Hill, 2019. ISBN: 978-1260548006.
- Sommerville, Ian. «Software Engineering». 10ª ed. Pearson, 2015. ISBN: 978-0133943030.
- 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
- Ceruzzi, Paul E. «A History of Modern Computing». 2ª ed. MIT Press, 2003. ISBN: 978-0262532037.
- McCartney, Scott. «ENIAC: The Triumphs and Tragedies of the World’s First Computer». Walker & Company, 1999. ISBN: 978-0802713483.
- Moore, Gordon E. «Cramming More Components onto Integrated Circuits». Electronics, Volume 38, Number 8, April 19, 1965.
14.8. Recursos Online
- IEEE Computer Society. Digital Library. Disponible en: https://www.computer.org/publications/
- ACM (Association for Computing Machinery). Digital Library. Disponible en: https://dl.acm.org/
- Intel Corporation. «Intel 64 and IA-32 Architectures Software Developer’s Manual». Disponible en: https://software.intel.com/
- ARM Holdings. «ARM Architecture Reference Manual». Disponible en: https://developer.arm.com/
- MIT OpenCourseWare. «6.004 Computation Structures». Disponible en: https://ocw.mit.edu/
- Nand2Tetris. «From NAND to Tetris: Building a Modern Computer From First Principles». Disponible en: https://www.nand2tetris.org/
