BLOQUE DE CONTROL DE PROCESOS
El "bloque de control de procesos" en un sistema operativo es una estructura fundamental encargada de administrar y controlar los procesos que se ejecutan en el sistema. Un proceso en un sistema operativo es una instancia en ejecución de un programa, y el bloque de control de procesos se encarga de administrar todos los aspectos relacionados con la creación, ejecución y finalización de estos procesos
Administración de procesos:
- Creación: El bloque de control de procesos maneja la creación de nuevos procesos en el sistema operativo. Esto implica asignar recursos como memoria, identificadores únicos y otros recursos necesarios para la ejecución del proceso.
- Planificación de la CPU: Administra la asignación del tiempo de CPU a cada proceso. Esto implica decidir qué proceso se ejecutará en la CPU en un momento dado y durante cuánto tiempo.
- Sincronización: Controla el acceso a recursos compartidos entre procesos para evitar condiciones de carrera y garantizar la coherencia de los datos.
- Comunicación interprocesos: Facilita la comunicación y el intercambio de datos entre procesos que se ejecutan en el sistema operativo.
- Suspensión y reanudación: Gestiona la suspensión y reanudación de procesos según sea necesario, por ejemplo, cuando un proceso espera la finalización de una operación de entrada/salida.
Administración de recursos:
- Memoria: Controla la asignación y liberación de memoria para los procesos.
- E/S (Entrada/Salida): Gestiona las operaciones de entrada/salida de los procesos, coordinando las solicitudes de acceso a dispositivos de E/S.
- CPU: Supervisa el uso de la CPU por parte de los procesos y aplica políticas de planificación de la CPU para optimizar el rendimiento del sistema.
Información del proceso:
- Identificación: Cada proceso se identifica mediante un identificador único, y el bloque de control de procesos mantiene información sobre cada proceso, como su estado, prioridad, identificación y otros atributos relevantes.
- Control de estado: Registra y actualiza el estado de cada proceso, como en ejecución, listo, bloqueado, suspendido, etc.
Gestión de errores y excepciones:
- Manejo de errores: Gestiona las condiciones de error que pueden ocurrir durante la ejecución de un proceso y toma medidas adecuadas para manejarlos, como la terminación controlada del proceso o la notificación al usuario.
- Manejo de excepciones: Controla las excepciones que pueden surgir durante la ejecución de un proceso y proporciona mecanismos para manejarlas, como el manejo de interrupciones de hardware o excepciones de software.