Vous êtes sur la page 1sur 22

Escalonamento de Processos

a tarefa de decidir qual o processo ir ocupar o processador quando este ficar livre, ou seja a parte do S.O. encarregada de tomar as decises de escolha. Escalonamento Scheduling.

Sistemas Operacionais

Escalonamento de Processos
Execuo Escalonador
Processo Processo

Espera
Processo

Pronto
Processo Processo

Sistemas Operacionais

Escalonamento de Processos
Objetivos:

Manter a CPU ocupada. Balancear a utilizao do processador. Maximizar o throughput e oferecer tempos de resposta razoveis para usurios interativos. Tratar todos os processos igualmente (evitar o starvation).
Sistemas Operacionais

Escalonamento de Processos
Objetivos:

Menor Overhead: Tempo de gerncia (troca dos processos). Equilbrio entre resposta e utilizao. Garantia de prioridades. Tempo de turnaround: Determina o tempo desde a admisso at o trmino do processo.
Sistemas Operacionais

Escalonamento de Processos
O Escalonador decide baseado em uma poltica de escolha utilizando os algoritmos de escalonamento. Problemas com o comportamento de cada um dos processos. Muita I/O ou muita utilizao do processador.

Sistemas Operacionais

Tipos
Escalonamento No-Preemptivo: Estratgia de rodar o processo at o fim (batch), ou seja aps o processamento ganhar a CPU ningum pode interromp-lo. Escalonamento Preemptivo: Estratgia de permitir a suspenso temporria dos processos.
Sistemas Operacionais

No-Preemptivo
Escalonamento First-In-First-Out FIFO O processo que chegar primeiro o primeiro a ser selecionado. Algoritmo simples (possui apenas uma lista). Processos em estado de pronto passam para o fim da lista e so escalonados posteriormente. Uma vez que o processo est com a CPU ele executado at a sua concluso. No se pode prever quando o processo ser executado (depende dos que esto na frente).
Sistemas Operacionais

No-Preemptivo
Escalonamento Shortest-Job-First SJF Tarefas com menor tempo de utilizao so executadas por primeiro. Objetivo de livrar-se do maior nmero de processos o quanto antes. Dificuldade em calcular quanto tempo a tarefa ir utilizar a CPU (produo mais fcil determinar que em ambientes de desenvolvimento).
Sistemas Operacionais

No-Preemptivo
Escalonamento Cooperativo Processo em execuo entrega o processador voluntariamente sem a interveno do S.O. Processos podem entrar em looping e monopolizar a CPU. Usado no Windows 3.1. Processos ficam escutando a fila de mensagens para ver solicitaes de outros processos (se no ouvir, vai at o fim).
Sistemas Operacionais

Preemptivo
Escalonamento Circular (Round Robin) A cada processo atribui-se um intervalo de tempo durante o qual ele poder utilizar o processador (quantum ou time-slice). Se esgotar o seu quantum ele perde o processador (volta para o fim da fila). Manter uma lista de processos prontos. Nenhum processo pode monopolizar a CPU.
Sistemas Operacionais

Preemptivo
Round Robin
Processo corrente

B F

Sistemas Operacionais

Preemptivo
Round Robin Determinao do tamanho do quantum.

Muito pequeno: h sucessivas trocas de contexto baixando a eficincia do processador (overhead). Muito Grande: pode levar a um tempo de resposta no aceitvel.

Sistemas Operacionais

Preemptivo
Escalonamento por Prioridades
Processos devem ser tratados de maneira diferente dos outros. Os processos de maior prioridades so escalonados antes. Sistemas de tempo compartilhado implementam algum tipo de prioridade de forma a dar mais importncia na hora do escalonamento.
Sistemas Operacionais

Preemptivo
Escalonamento por Prioridades
Processos I/O-bond devem ganhar mais tempo que CPU-bond (por esperarem muito). A prioridade pode ser:

Esttica: no modificada durante a existncia do processo. Dinmica: pode ser alterada conforme a necessidade do sistema.
Sistemas Operacionais

Preemptivo
Escalonamento por Prioridades
Todo processo ao sair do estado de espera recebe um acrscimo em sua prioridade. Dessa forma, os processos IO-bond tero mais chances de serem escalonados, e assim, compensar o tempo que passam esperando. Processos CPU-bond no so prejudicados, pois podem executar enquanto processos IObond esperam algum evento.
Sistemas Operacionais

Preemptivo
Escalonamento por Mltiplas Filas
Multi-level queues. Os processos so classificados em funo do tipo de processamento realizado e a cada grupo criado, so aplicados mecanismos de escalonamento distintos. Cada fila possui uma prioridade associada, que s executa quando as prioridades maiores esto vazias.
Sistemas Operacionais

Preemptivo
Escalonamento por Mltiplas Filas
Maior prioridade

Fila Processos do Sistema Fila Processos Interativos Fila Processos Batch


Menor prioridade

Sistemas Operacionais

Preemptivo
Escalonamento por Mltiplas Filas com Realimentao Multi-level feedback queues. Possuem prioridade de execuo mas no necessariamente permanecem at o final de seu processamento. Mecanismo adaptativo, que tem como objetivo ajustar os processos em funo do comportamento do sistema.
Sistemas Operacionais

Preemptivo
Escalonamento por Mltiplas Filas com Realimentao
Maior prioridade Menor quantum

Fila 1 - FIFO Fila 2 - FIFO Fila 3 - Circular


Menor prioridade Maior quantum Sistemas Operacionais
CPU

Preemptivo
Escalonamento de Sistemas de Tempo Real

O fator tempo crtico. No existe o conceito de quantum. Para cada processo atribuda uma prioridade associada a sua importncia dentro do sistema. A prioridade esttica. Quanto maior a importncia de uma tarefa, maior sua prioridade de execuo.
Sistemas Operacionais

Preemptivo
Escalonamento com Mltiplos Processadores

Em sistemas fracamente acoplados, cada processador faz seu prprio escalonamento local. Nos sistemas fortemente acoplados possvel implementar uma nica fila de pronto para todos os processadores.

Sistemas Operacionais

Preemptivo
Escalonamento com Mltiplos Processadores Todos os processos esto presentes nesta nica fila e so escalonados no primeiro processador disponvel. Deve ser implementada a excluso mtua. A excluso mtua do Escalonador pode ser obtida atravs de mecanismos como semforos e monitores.

Sistemas Operacionais

Vous aimerez peut-être aussi