Este é um exemplo simples de uma simulação de um algoritmo de escalonamento de processos.
O objetivo é mostrar algumas estruturas que podem ser usadas para entender o que pode ser simulado. Vocês não precisam seguir isso a fundo, é só uma direção. Também é parte da avaliação vocês entenderem o que é relevante para simular no algoritmo, então entendam esse código como um uma ajuda, não como um "tem que ser assim".
Nessa simulação, foram simulados:
- uma execução de processos, com processos entrando em um determinado tempo, com algum tempo de execução;
- a fila de pronto;
- o ciclo de execução;
- o processo;
- o escalonamento e armazenamento dos dados de "benchmarking" a cada ciclo
e outros detalhes principais. Lembre-se: para seu algoritmo, podem existir outras necessidades.
Também mostro como pensar na apresentação que pode ser tanto por linha de comando, quanto por algum outro mecanismo de exibição (por exemplo, aqui, em uma página web).