Experimento utilizando simulador de sistema operacional sosim
PROPOSTA DE TRABALHO: ESCALONAMETO POR PRIORIDADES E O PROBLEMA DO “STARVATION “ OU FOME
Em Sistemas Operacionais Interativos os algoritmos de escalonamento visando melhor aproveitamento do sistema computacional, em um primeiro momento parecem de fácil solução com o escalonamento por alternância circular (round-robim), onde os processos ao serem criados entram numa fila circular e aos mesmos é atribuído fatia de tempo iguais . Algumas questões surgem quanto a este sistema: Como evitar que processos I/Obound fiquem em desvantagem em relação aos processos CPU-bound? Ou que fique em espera indefinida processos de baixa prioridade? Com o experimento abaixo, definidos em cenários distintos, queremos mostrar que o Algoritmo de Escalonamento Circular Por prioridades Dinâmicas oferece uma solução ao problema do Starvation.Para visualizar o problema ,supomos a partir da criação de 4 cenários em que o processo de incremento das prioridades com o uso do mecanismo de Aging a starvation será evitado.
CENARIO 1 : ESCALONAMENTO CIRCULAR POR PRIORIDADES ESTÁTICAS(CONTROLE DO EXPERIMENTO)
Processo 1 : CPU-bound , prioridade 0; Processo 2 : CPU-bound , prioridade 0; Processo 3 : I/O-bound ,prioridade O;
Neste cenário o processo 3 I/O bound (em amarelo na figura 1), apesar de utilizar-se de somente de 12% do tempo médio total da CPU , assume a CPU quando e escalonado pelo Sistema Operacional , pois possui prioridade igual aos demais processos CPU-bound.
Fig. 1
Fig.2
Na figura 2 vemos outro parâmetro do sistema importante, que é o Througput do sistema , que no cenário 1 como mostra, é de 0,52 processos por segundo.
Cenário 2 Escalonamento circular por prioridades dinâmicas
Fig3 Processos com escalonamento por prioridades (com prioridade dinâmica)
No cenário 2 , o processo I/O bound, com o uso do escalonamento por prioridades , com prioridades dinâmicas , melhora a sua performance, com