¿Qué es un Proceso?
Un proceso es un programa en ejecución. Incluye el código ejecutable, datos, recursos asignados y estados del proceso. El sistema operativo es responsable de crear, gestionar y eliminar procesos, garantizando que cada uno reciba los recursos necesarios para su ejecución.
Estados de un Proceso
El proceso ha sido creado pero aún no está listo para ejecución.
El proceso está preparado para ejecutarse cuando se le asigne tiempo de CPU.
El proceso se está ejecutando en la CPU.
El proceso espera a que ocurra un evento (I/O, etc).
El proceso ha completado su ejecución o fue terminado.
Algoritmos de Planificación
First Come First Served: el primero en llegar es el primero en ejecutarse.
Shortest Job First: se ejecuta primero el proceso más corto.
Cada proceso obtiene una cantidad fija de tiempo (quantum) de CPU.
Los procesos con mayor prioridad se ejecutan primero.
Sincronización de Procesos
La sincronización es crucial para evitar que múltiples procesos accedan simultáneamente a recursos compartidos, lo que podría causar inconsistencias o conflictos de datos.
Mecanismo de sincronización basado en contadores.
Mutual Exclusion: permite acceso exclusivo a un recurso.
Situación donde dos procesos se bloquean mutuamente indefinidamente.
Resultado no determinístico cuando procesos acceden datos simultáneamente.
Video explicativo
Si el video no aparece, puedes buscar una opción corta en español: Resultados en YouTube.