📘 1. Concepto de Proceso
Un proceso es una instancia de un programa en ejecución.
El sistema operativo (SO) crea, controla y supervisa los procesos mediante estructuras internas.
Cada proceso:
- Tiene atributos (estado, prioridad, derechos, etc.).
- Compite por recursos (CPU, memoria, E/S).
- Alterna entre ejecución activa y espera.
Desde el punto de vista del usuario, un proceso es una tarea en ejecución;
para el SO, es una entidad dinámica que requiere planificación y gestión de recursos.
⚙️ 2. El Sistema Operativo y los Procesos
Los sistemas operativos multiprogramados se basan en procesos.
El SO debe cumplir con los siguientes requisitos:
- Intercalar la ejecución de procesos para optimizar la CPU.
- Asignar recursos sin causar interbloqueos (deadlocks).
- Facilitar comunicación y creación de procesos.
👥 3. Tipos de Procesos y Relaciones
Tipos de procesos
- Procesos de usuario: creados a partir de órdenes o programas del usuario.
- Procesos de sistema: parte del propio SO (gestión, planificación, E/S, etc.).
Relaciones entre procesos
- Competitivas: compiten por recursos.
- Colaborativas: cooperan compartiendo datos o tareas.
Los procesos cooperativos se agrupan en familias, con relaciones padre–hijo.
Los hijos heredan atributos del padre y pueden compartir recursos entre sí.
🔄 4. Estados de un Proceso
🧩 Modelo de dos estados
- Ejecución: el proceso utiliza la CPU.
- No ejecución: está esperando su turno.
El SO utiliza una cola de procesos para gestionarlos, pero este modelo es limitado.
🧠 Modelo de cinco estados
| Estado | Descripción |
|---|---|
| Nuevo | Definido, pero aún no admitido al sistema. |
| Listo | Preparado para ejecutarse, esperando CPU. |
| Ejecución | Usando el procesador. |
| Bloqueado | Esperando un recurso o evento. |
| Terminado | Finalizó o fue detenido por error o decisión del SO. |
🔁 Transiciones principales
- Nuevo → Listo: el SO admite el proceso.
- Listo ↔ Ejecución: asignación o retiro de CPU.
- Ejecución → Bloqueado: espera de recurso o evento.
- Bloqueado → Listo: recurso disponible.
- Cualquier estado → Terminado: finalización.
El SO utiliza colas:
- Cola de listos.
- Cola(s) de bloqueados (una por evento o recurso).
Puede aplicarse un esquema FIFO o basado en prioridades.
🧮 5. Planificación de Procesos
La planificación define el orden de ejecución para optimizar el rendimiento del sistema.
El planificador selecciona el próximo proceso según criterios de eficiencia.
🔍 Criterios de rendimiento
| Criterio | Definición |
|---|---|
| Utilización del procesador | Tiempo promedio en que la CPU está ocupada. |
| Productividad | Cantidad de trabajos completados por unidad de tiempo. |
| Tiempo de retorno (TR) | Desde el envío hasta la finalización. TR = TS + TE |
| Tiempo de espera (TE) | Tiempo que el proceso pasa esperando recursos o CPU. |
| Tiempo de respuesta | En sistemas interactivos: desde la orden hasta la respuesta. En tiempo real: desde un evento hasta su atención. |
🧭 6. Tipos de Planificadores
🕒 a) Planificador a Largo Plazo (PLP)
- Controla la admisión de nuevos procesos.
- Busca mantener una carga equilibrada.
- Decide la transición Nuevo → Listo.
- Se ejecuta con baja frecuencia, por lo que puede usar algoritmos complejos.
⚡ b) Planificador a Corto Plazo (PCP)
- Decide qué proceso usa la CPU.
- Se invoca con alta frecuencia (por interrupciones, E/S, señales, etc.).
- Controla la transición Listo → Ejecución.
- Su objetivo es maximizar el rendimiento del sistema.
💾 c) Planificador a Medio Plazo (PMP)
- Reintegra procesos suspendidos a la memoria principal.
- Controla la transición Suspendido → Listo.
- Mejora la eficiencia de la memoria y del procesador.
✍️ Conclusión
La gestión de procesos es una de las funciones esenciales del sistema operativo.
Permite controlar la ejecución simultánea, la asignación de recursos y la interacción entre procesos,
buscando siempre maximizar el rendimiento y la estabilidad del sistema.
Posts Relacionados
Otros apuntes que podrían interesarte de esta materia