La gestión de procesos es una de las funciones más críticas de un sistema operativo, ya que es el mecanismo que permite la ejecución concurrente de programas y la utilización eficiente de la UCP y otros recursos.
Gestión de Procesos
Concepto de Proceso
Un proceso, también conocido como tarea, representa una instancia de un programa en ejecución. Es la unidad de trabajo más pequeña que puede ser planificada y gestionada individualmente por un sistema operativo. El sistema operativo tiene la responsabilidad de controlar todos los procesos activos y asignarles los recursos del sistema de acuerdo con las políticas de diseño establecidas.
La ejecución de procesos en un entorno multitarea se apoya en dos conceptos fundamentales:
Interrupción
Es una señal enviada al sistema que indica la existencia de otra actividad pendiente que requiere atención.
Cambio de contexto
Es la operación mediante la cual el procesador, al atender una interrupción, decide cambiar de un proceso a otro basándose en criterios preestablecidos.
Para reanudar el trabajo de un proceso en el punto donde se interrumpió, es imprescindible guardar toda la información de su estado actual y liberar parte de la memoria para la nueva actividad. A esta estructura importante donde se alamcenan estos datos importantes se denomina BCP (Bloque de Control de Procesos).
Bloque de Control de Procesos
Es el mecanismo central que hace posible la ilusión de ejecución concurrente. Sin el BCP, el sistema operativo carecería de la información de estado necesaria para realizar cambios de contexto de manera eficiente, lo que haría inviable la multiprogramación.
El BCP actúa como la "memoria" del estado transitorio de un proceso, permitiendo que la CPU sea compartida eficazmente entre múltiples tareas.