Please enable JavaScript.
Coggle requires JavaScript to display documents.
Algoritmos de Escalonamento - Coggle Diagram
Algoritmos de Escalonamento
First Come, First Served (FCFS)
Algoritmo de baixa complexidade
Abordagem não-preemptiva
Processos aptos para execução vão para o final da fila de prontos
Primeiro processo da fila é selecionado para execução
processo executa até
Termina a sua execução;
Realiza uma chamada ao sistema
Processos pequenos podem aguardar muito tempo atrás de processos longos
Favorece processos CPU-bound
problemático para sistemas de tempo compartilhado
Shortest Job First (SJF)
Privilegia processos pequenos para reduzir o tempo médio de espera
abordagem utiliza estimativas para escalonar o processo com o menor tempo restante
Dois esquemas
Não preemptivo
Preemptivo
Ao chegar um novo processo com tempo de CPU menor que o processo atual, ele é escalonado.
Esse esquema é conhecido como
Shortest Remaining Time First (SRTF)
Menor tempo médio de espera para um conjunto de processos
Dificuldade principal
Saber a extensão da próxima requisição de CPU
SJF real é impossível de ser implementado, mas pode-se fazer uma previsão
Previsão é baseada em histórico
Por prioridade
Um número de prioridade é associado a cada processo
A CPU é alocada ao processo com a maior prioridade
pode ser preemptivo ou não preemptivo
Estratégia usada em S.O. de tempo real
Estagnação (starvation)
processos com baixa prioridade podem nunca ser executados
Envelhecimento (aging)
à medida que o tempo passa, aumenta a prioridade do processo
Round-Robin (RR)
Algoritmo típico de sistemas operacionais de tempo compartilhado
Cada processo recebe uma pequena unidade de tempo de CPU
tempo de CPU não deve ser muito grande e nem muito pequeno
Quando o tempo tiver acaba, o processo é interrompido e vai ao final da fila de prontos
Multilevel Queue (Fila Multinível)
Fila de pronto está particionada em duas filas separadas
primeiro plano (interativo)
Round-Robin
segundo plano (batch)
First Come, First Served
Escalonamento precisa ser feito entre as filas
Escalonamento com prioridade fixa
Possibilidade de estagnação
Fatia de tempo
cada fila recebe uma quantidade de tempo de CPU
Multilevel Feedback-Queue (Fila Multinível com Feedback)
Um processo pode mover entre as diversas filas
Envelhecimento (aging)
pode ser implementado dessa forma
definido pelos parâmetros
Número de filas
Algoritmos de escalonamento para cada fila
Método usado para determinar quando fazer o upgrade de um processo
Método usado para determinar quando rebaixar um processo
Método para definir qual fila de processo entrar ao precisar de serviço