Escalonador Flashcards
(16 cards)
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)
Unix, Linux e Windows
Unix
- Multiplas filas com realimentação
- Round Robin
- Prioridades Avaliadas 1x por segundo
LINUX
- Prioridade estática E prioridade dinâmica
- Prioridade definida pelo usuário (com privilégios especiais)
FIFO e RR