Instrucciones operativas del despachador:Manejo de procesos
Estas instrucciones describen los procedimientos para un despachador operativo al manejar los procesos. Recuerde priorizar los procesos basados en algoritmos de programación predefinidos (por ejemplo, FIFO, SJF, Round Robin).
i. Llegada del proceso:
1. Recibir solicitud de proceso: Al recibir una solicitud de proceso (por ejemplo, de un usuario, llamada del sistema o interrupción de E/S), registre la siguiente información:
* ID de proceso (PID)
* Nivel de prioridad (si corresponde)
* Requisitos de memoria
* Tiempo de explosión de la CPU (estimado, si está disponible)
* Solicitudes de E/S (si se conoce)
2. Compruebe la disponibilidad de recursos: Verifique si los recursos suficientes (tiempo de CPU, memoria, dispositivos de E/S) están disponibles para acomodar el nuevo proceso. Si no, coloque el proceso en una cola (por ejemplo, cola lista, cola bloqueada) de acuerdo con sus necesidades de prioridad y recursos.
3. Asignar recursos (si está disponible): Si los recursos están disponibles, asigne la memoria necesaria, asigne una porción de tiempo (si usa el tiempo en el tiempo) y coloque el proceso en la cola lista.
ii. Ejecución del proceso:
1. Selección de procesos: Seleccione un proceso de la cola lista basada en el algoritmo de programación.
2. Switch de contexto (si es necesario): Si se requiere un interruptor de contexto (cambiar de un proceso a otro), guarde el estado del proceso actual (registros, contador de programa, mapa de memoria) y cargue el estado del proceso seleccionado.
3. Ejecución del proceso: Permita que el proceso seleccionado ejecute su porta de tiempo asignada o hasta que bloquee (por ejemplo, esperando E/S).
4. Bloqueo de procesos: Si un proceso necesita esperar la E/S u otro recurso, muévalo a la cola bloqueada apropiada y suelte la CPU.
iii. Terminación del proceso:
1. Finalización del proceso: Cuando un proceso completa su ejecución, reclame sus recursos asignados (memoria, etc.).
2. Manejo de terminación: Maneje las tareas de limpieza necesarias, como cerrar archivos, lanzar bloqueos y lanzar recursos asignados.
3. Desmontaje de colas: Elimine el proceso terminado de todas las colas.
iv. Manejo de procesos bloqueados:
1. I/o finalización: Cuando se complete una operación de E/S, mueva el proceso correspondiente desde la cola bloqueada de regreso a la cola lista.
2. Disponibilidad de recursos: Cuando el recurso requerido de un proceso bloqueado esté disponible, muévalo de regreso a la cola lista.
V. Manejo de errores:
1. Agotamiento de recursos: Si los recursos están constantemente agotados, considere ajustar las políticas de asignación de recursos o investigar posibles fugas de recursos.
2. Errores de proceso: Manejar errores de proceso (por ejemplo, fallas de segmentación, instrucciones ilegales) de acuerdo con los procedimientos de manejo de errores predefinidos, terminando potencialmente el proceso.
3. Errores del sistema: Si se produce un error del sistema, intente recuperarse con gracia o iniciar los procedimientos de cierre del sistema.
vi. Monitoreo y registro:
1. Mantener el estado del proceso: Realice un seguimiento del estado de todos los procesos (en ejecución, listo, bloqueado, terminado).
2. Eventos de registro: Registre eventos significativos, incluida la creación de procesos, la terminación, las decisiones de programación, la asignación de recursos y los errores. Esto es crucial para la depuración y el análisis de rendimiento.
Estas direcciones proporcionan un marco general. La implementación específica dependerá del algoritmo de diseño y programación del sistema operativo. Siempre consulte la documentación del sistema para obtener instrucciones detalladas y procedimientos específicos.