Simular o escalonamento de processos de um Sistema Operacional conforme os seguintes itens:
O software deve possuir um menu para manipular as diversas opções;
Criação de processos com informações: PID, Nome, Tipo (CPU-bound ou IO-bound), determinada prioridade (alta-3, média-2, baixa-1) e quantidade de tempo de UCP (1 até 10).
Processos com prioridade maior alta (número 3) devem ser atendidos primeiro, ou seja, entrar no estado de execução ao invés dos processos com prioridades menores.
O software deve possuir no mínimo duas filas, de espera e pronto (esta última pode ter mais filas conforme as prioridades). Crie também uma fila para os processos finalizados (os quais acabaram o seu tempo de UCP).
Cada processo pode entrar em 4 estados possíveis: pronto, execução, espera e finalizado.
Imprimir as filas atuais de pronto e de espera, e o processo em execução.
Crie uma opção para que o próximo processo da fila seja escalonado (mudar para o estado de execução). Quando o próximo processo for escalonado, o processo anterior que estava em execução do tipo CPU-bound deve ir para uma fila de pronto, ou caso seja IO-bound, para uma fila de espera.
O estado atual dos processos deve ser salvo em um arquivo, podendo ser recuperado ao inicializar novamente o programa.