Escalonador Flashcards
Qual processo deve ser selecionado?
Isso vai depender da política do escalonador
Como os processos são selecionados?
São selecionados através da estrutura de fila dos processos, mas a ordem que eles serão selecionados é definida pela política de seleção do escalonador
throughput e turnaround
Maximizar a produção do sistema (throughput)
– Número de processos executados por unidade de tempo
- Manter o processador ocupado o tempo todo
• Minimizar o tempo de execução (turnaround)
– Tempo total para executar um determinado processo
Quais os objetivos do escalonador? Div, 2 Maxi, 3 Min
Dividir o recurso processador de forma justa entre os processos
Maximizar utilização do processador
Maximizar a produção do sistema (throughput)
Minimizar o tempo de execução (turnaround)
Minimizar tempo de espera
Minimizar tempo de resposta
Nem sempre consegue todos
Quando um processo preemptivo perde processador? e um processo não-preemptivo?
Não-Preemptivo
• Término de execução de um processo
• Execução de uma requisição de E/S ou sincronização
• Liberação voluntária do processador a outro processo
Preemptivo • Interrupção de relógio • Processo de mais alta prioridade esteja pronto para executar (+prioridade +quantum) • termino de execução
O que preemptivo e não-preemptivo?
São tipos de escalonadores
Não-preemptivo é mais utilizado em sistema que tem apenas uma função
• Batch - Fila de processos
• Executa o processo até seu término
• Para de executar se tem uma solicitação de I/O
• Liberação Voluntária
Preemptivo - É mais usado
• Time-Sharing
• Interrupções por relógio
• Processo com mais prioridade tem mais quantum para executar
Cite algoritmos de escalonamento não-preemptivos
FIFO - First-come, first-served (FCFS)
O processo é executado até liberar o processador
Prejudica o I/O bound
O tempo médio de espera na fila de execução ficaria menor se considerasse o de menor valor primeiro
SJF - SHORTEST JOB FIRST
Primeiro se executaos processos de menor ciclos de processador
Processos I/O são favorecidos
A ordenação da fila é custoso para o sistema (mas o tempo médio de espera é menor)
Por que prevemos o futuro?
Prevemos o futuro nos algoritmos de escalonamento não-preemptivos, pois precisamos ajustar a escolha de processos na fila de aptos
Também porque é necessário que tenhamos uma solução não só reativa mas proativa
Na formula
Alfa = 0 -> considera só o passado
Alfo = 1 -> considera só o último ciclo do processador
Alfa = 0,5 -> mais utilizado, considera o mesmo peso para o presente e o passado
escalonador X dispatcher
Escalonador é a politica de seleção
Dispatcher é a troca de contexto
Escalonador longo prazo X curto prazo
Longo-prazo se preocupa com todo o ciclo do processo (só admite processos se tiver recursos para ele até o seu término)
Curto-Prazo se preocupa apenas da fila de aptos para a CPU
Escalonador preemptivo Round Robin
Como é um escalonador preemptivo ele libera um tempo para que os processos utilizem o processador, libera quantum
Vantagem é que ele consegue atender vários processos, um pouco para cada um.
Desvantagem é que ele precisa chavear o contexto de de cada processo várias vezes
É FIFO
Problemas do Round Robin
Dimensionamento do QUANTUM
Processos de I/O são prejudicados (esperam como processos de CPU sendo que são muito rapidos) - Solução é prioridade
Muitas trocas e chaveamento de conexto
Dimensionamento de Quantum
Problema de quem configura o sistema operacional
é um número fixo
Se for muito pequeno, teremos muitas troca de contexto
Se for infinito teremos um FIFO (volta a ser não preemptivo)
Problemas com prioridades de processos
Um processo com baixa prioridade pode não ser executado
Prioridade estática pode favorecer ou penalizar alguns processos
Solução: multiplas filas com realimentação - priodidade é alterada conforme o sistema vai monitorando aquele processo (é custoso)
Prioridade Dinâmica e Prioridade Estática
Estática - mantém a mesma prioridade desde sua criação até seu término
Dinâmica - Ajustada de acordo com o estado de execução do processo (ajuda os processos que tem chance de nunca serem executados)