Sistemas Operativos
Sesión 2: ¿Qué hace realmente tu computadora?
Sesión 2: ¿Qué hace realmente tu computadora?
Un Sistema Operativo (SO) es un PROGRAMA ESPECIAL que:
Imagina un restaurante:
HARDWARE = Recursos disponibles
(cocineros, mesas, dinero, ingredientes)
APLICACIONES = Clientes que llegan pidiendo servicio
(comer, beber, pagar)
SISTEMA OPERATIVO = El gerente que decide:
LECCIÓN: Sin un buen gerente → CAOS. Sin un buen SO → INESTABILIDAD.
Instancias de aplicaciones corriendo:
Ejemplo: Chrome es UNA aplicación, pero puede tener 50 procesos (una pestaña = un proceso). Cada proceso es independiente: uno falla, no caen todos.
El recurso LIMITADO que TODOS quieren usar:
Tu computadora tiene 1 (o pocos) CPUs. 100+ procesos quieren usarla AHORA. Solamente 1 puede usar CPU en cada instante.
El 'árbitro' del SO:
Es un ALGORITMO (programa) que decide: ¿A quién le doy la CPU ahora? ¿Por cuánto tiempo? ¿Cuándo cambio a otro proceso?
100+ PROCESOS compiten por 1 CPU → ¿Cómo decidir?
OPCIÓN 1: FIFO (First In, First Out)
Regla: El primero que llega, es el primero que atiende.
✓ Simple y justo ✗ Lento, esperas mucho tu turno.
OPCIÓN 2: ROUND ROBIN (Turnos iguales de tiempo)
Regla: Cada proceso obtiene 30 ms, luego al siguiente.
✓ Más justo, todos obtienen tiempo ✗ Cambios frecuentes cuesta recursos.
OPCIÓN 3: PRIORIDADES (Tareas críticas primero)
Regla: Procesos importantes van antes.
✓ Rápido para lo importante ✗ Injusto con procesos secundarios.
Cada vez que el SO cambia de proceso, SUCEDE:
ANALOGÍA HUMANA: Trabajar en Excel → Cambiar a escribir en Word. Cada cambio requiere 'adaptación mental'. Si cambias cada 30 segundos, pierdes productividad.
EN TU COMPUTADORA: Esto sucede cada MILISEGUNDO (1000x más rápido). Por eso el context switching es uno de los costos mayores.
🖥️ DESKTOP/PERSONAL
Ejemplos: Windows, macOS, Ubuntu
Optimizado para: Facilidad de uso, múltiples apps
Usuarios: Personas (tu computadora)
🖲️ SERVIDOR
Ejemplos: Linux, Windows Server
Optimizado para: Confiabilidad, rendimiento
Usuarios: Centros de datos, nube
📱 MÓVIL
Ejemplos: Android, iOS
Optimizado para: Batería, touch, memoria limitada
Usuarios: Teléfonos, tablets
⚡ TIEMPO REAL
Ejemplos: VxWorks, FreeRTOS
Optimizado para: Decisiones en milisegundos
Usuarios: Autos, robots, equipo médico
Como estudiante de desarrollo de software, entender el SO te permite:
Creador: Ken Thompson, Dennis Ritchie
Filosofía: "Haz una cosa y hazla bien". Modular y simple, Open source (Linux). Domina servidores.
Mercado:
✓ Servidores (>90% web usan Linux)
✓ Supercomputadoras (99% Linux)
✓ Android (Linux kernel)
✓ macOS (Unix-based)
Creador: Bill Gates, Microsoft
Filosofía: "Accesible para todos". Interfaz amigable, Propietario. Domina usuarios finales.
Mercado:
✓ Computadoras personales (~70% desktop)
✓ Servidores empresariales (Windows Server)
✗ Bajo en servidores vs Linux
1. KERNEL: Gestiona recursos (Hardware directamente). 2. SHELL: Traduce comandos usuario (CLI o GUI). 3. SISTEMA DE ARCHIVOS: Organiza datos (NTFS, ext4). 4. ADMIN. DE DISPOSITIVOS: Controla periféricos (Drivers). 5. UTILIDADES: Servicios, red, antivirus.