Este aplicativo de console é baseado no primeiro a chegar, primeiro a serve (FCFS), mais curto trabalho de trabalho (SJF) e SRTF (mais curto tempo restante primeiro). Atualmente, está em desenvolvimento incluir mais algoritmos, e um recurso de gráfico de Gantt ainda está para ser implementado.
A lógica principal do algoritmo FCFS é direta. O primeiro processo sempre tem um tempo de espera de 0. O tempo de espera de um processo é calculado com base no tempo de estouro do processo anterior e no tempo de espera do processo anterior. A ordem de execução segue a ordem de chegada.
O algoritmo SJF depende de um loop de condição para classificar processos de entrada, enquanto outros processos ainda estão em execução. Ele garante que a hora de estouro de um processo se torne zero, indicando sua conclusão, antes de passar para o próximo processo. O algoritmo prioriza os tempos de explosão mais curtos, com o objetivo de minimizar os tempos de espera.
O algoritmo SRTF é uma versão preventiva do algoritmo SJF. Ele seleciona o processo com o menor tempo restante para a execução. Se um novo processo chegar com um tempo mais curto do que o processo de execução atualmente, o algoritmo SRTF antecipará o processo atual e mudará para o novo processo mais curto.
O programa foi projetado usando uma abordagem orientada a objetos para melhorar a reutilização e a simplicidade. As principais classes incluem:
Classe Process :
AvgWTTAT para calcular e exibir o tempo médio de espera e o tempo de resposta para uma variedade de processos.Agenda aulas de algoritmo:
Schedule estática.Process , aplicam o respectivo algoritmo de agendamento e atualizam os tempos de espera e reviravolta para cada processo.Para usar o programa de agendamento de processos:
Sinta -se à vontade para explorar o código, modificá -lo e implementar algoritmos ou recursos de agendamento adicionais conforme seus requisitos.