Home > Artigos > Exemplos e Mini-Programas >
Exemplo de Simulador de escalonamento de processos de S.O
Publicado por jmayer13 em 17/09/2012 - 6.800 visualizações
Escalonamento de processos é uma atividade organizacional feita pelo escalonador da CPU que possibilita executar vários processos de forma mais viável e concorrente.
Este programa simula este escalonamento através de alguns dos principais algoritmos escalonadores (FIFO, SJF-preemptivo, PRIORIDADE-preemptivo e RR).
+Dados de Entrada
-numero de processos
-burst time de cada processo (tempo de execução)
-tempo de chegada de cada processo *prioridade (quando necessário)
+Saída
-tempo de espera de cada processo
-tempo de espera médio de cada algoritmo
-turnaround médio de cada algoritmo
-mostrar qual algoritmo teve o melhor maior desempenho
+Implementar os algoritmos
-FIFO
-STF preemptivo
-PRIORIDADE preemptivo
-RR(quantum definido pelo usuário)
Classe Principal- esta classe cria a interface para o usuário inserir os dados dos processos.
Não foi aplicado um controle do usuário sofisticado para não deixar o programa muito grande.
Classe que calcula o escalonamento, é a implementação dos algoritmos escalonadores.
Depois de pegar os dados da tabela o programa define o tempo total e o número de processos, a partir de um somatório e do número de linhas da tabela respectivamente.
Primeiro é criado um vetor que representa o gráfico de Gantt do respectivo processo e é a partir dele que é definido todo o resto. Depois para determinar os tempos de espera e turnaround de cada processo é feita uma busca da primeira aparição do processo, e é subtraído o tempo atual do tempo de chegada para determinar o tempo de espera. Por fim é determinado o tempo de turnaround que é o tempo de espera mais o tempo de execução.
No caso do RR também é necessário ter um controle do quantum, para que não haja um quantum incompleto oque levaria a um erro.
Para os tempos médios primeiro é somado o tempo de espera de todos os processos, este tempo é dividido pelo número de processos para assim determinar o tempo médio de espera, no caso do tempo médio de turnaround primeiro é somado o tempo total de todos os processos e só dai é dividido pelo número de processos.
Classe que apresenta os resultados, tempos dos processos e circunda o melhor tempo.
----------------------
- Ajustando as informações de horário de verão no Java
- Problemas
- Netbeans, problema quando executa.
- GOS - grid operating sytem
- Preciso de ajuda para Escalonador
- Programação Concorrente
- Windows 8: como o logotipo do Windows mudou
- Simulador de Processador
- Ubuntu Mobile OS
- Ajudem por favor: Escalonamento...

