Esta aplicación de la consola se basa en el primer servicio, por primer servicio (FCFS), el trabajo más corto primero (SJF) y los algoritmos de programación SRTF (tiempo restante más corto). Actualmente está en desarrollo para incluir más algoritmos, y aún no se ha implementado una función de gráfico Gantt.
La lógica central del algoritmo FCFS es sencilla. El primer proceso siempre tiene un tiempo de espera de 0. El tiempo de espera de un proceso se calcula en función del tiempo de explosión del proceso anterior y el tiempo de espera del proceso anterior. La orden de ejecución sigue el orden de llegada.
El algoritmo SJF se basa en una condición basada en la condición, mientras que el bucle para clasificar los procesos entrantes mientras otros procesos aún se ejecutan. Asegura que el tiempo de explosión de un proceso se convierta en cero, lo que indica su finalización, antes de pasar al siguiente proceso. El algoritmo prioriza los tiempos de explosión más cortos, con el objetivo de minimizar los tiempos de espera.
El algoritmo SRTF es una versión preventiva del algoritmo SJF. Selecciona el proceso con el tiempo restante más corto para la ejecución. Si un nuevo proceso llega con un tiempo de explosión más corto que el proceso de ejecución actualmente, el algoritmo SRTF evitará el proceso actual y cambiará al nuevo proceso más corto.
El programa ha sido diseñado utilizando un enfoque orientado a objetos para mejorar la reutilización y la simplicidad. Las clases clave incluyen:
Clase Process :
AvgWTTAT para calcular y mostrar el tiempo de espera promedio y el tiempo de respuesta para una variedad de procesos.Clases de algoritmo de programación:
Schedule estática.Process , aplican el algoritmo de programación respectivo y actualizan los tiempos de espera y respuesta para cada proceso.Para usar el programa de programación de procesos:
Siéntase libre de explorar el código, modificarlo e implementar algoritmos o características de programación adicionales según sus requisitos.