Sistemas operativos
5. Gestión de procesos
Un proceso es un programa en ejecución, incluyendo:
- El código del programa.
- Sus datos y variables.
- Los recursos asignados (CPU, memoria, archivos, dispositivos).
👉 Ejemplo: abrir Google Chrome crea un proceso (o varios, uno por pestaña).
El sistema operativo debe controlar qué procesos se ejecutan, cuándo y cómo, para garantizar que el ordenador funcione de forma ordenada y eficiente.
🔹 Funciones de la gestión de procesos
-
Creación y finalización de procesos
- Al ejecutar un programa, el SO crea un proceso.
- Al cerrarlo, libera todos sus recursos.
-
Planificación (scheduling)
- Decide qué proceso usa la CPU en cada momento.
- El objetivo: repartir el tiempo de forma justa y eficiente.
-
Cambio de contexto (context switch)
- Cuando el SO interrumpe un proceso para ejecutar otro, guarda el estado del primero y carga el del segundo.
- Esto da la ilusión de que todos funcionan a la vez (multitarea).
-
Comunicación entre procesos (IPC, Inter-Process Communication)
- Los procesos pueden intercambiar datos mediante tuberías (pipes), colas de mensajes o memoria compartida.
-
Sincronización
- Coordina procesos que dependen unos de otros, evitando errores (ej. dos procesos escribiendo en el mismo archivo a la vez).
🔹 Estados de un proceso
Un proceso no siempre está ejecutándose, puede estar en distintos estados:
- Nuevo: acaba de crearse.
- Listo (ready): esperando a que la CPU lo ejecute.
- En ejecución (running): usando la CPU en ese momento.
- Bloqueado (waiting): esperando un recurso (ej. lectura de disco).
- Terminado: ya ha finalizado.
👉 El sistema operativo mantiene una tabla de procesos (Process Control Block, PCB) con toda la información de cada proceso.
🔹 Tipos de procesos
- De usuario: aplicaciones normales (navegador, editor de texto, juegos).
- Del sistema: procesos internos del SO (ej. demonios en Linux o servicios en Windows).
🔹 Ejemplo práctico
Si abres Word y empiezas a imprimir:
- Se crea un proceso para Word.
- El SO le asigna memoria y CPU.
- Cuando envías a imprimir, se bloquea un momento hasta que la impresora responde.
- El SO mantiene a otros procesos (Spotify, navegador) activos mientras tanto.
📌 Resumen rápido
- El proceso es un programa en ejecución.
- El SO controla su creación, ejecución y finalización.
- Hay estados (nuevo, listo, ejecución, bloqueado, terminado).
- Usa planificación para repartir la CPU.
- Permite comunicación y sincronización entre procesos.
- Loading...