Você está na página 1de 5

Porque necessrio escalonar?

Processos precisam ser executados

Escalonamento de Processos

Processos concorrem a CPU Escalonador:


Componente (implementao) do sistema operacional Determina a ordem de execuo dos processos baseado num algoritmo de escalonamento L a fila que contm os processos no estado pronto e os ordena para execuo

O que provoca o escalonamento?


Novo

Tipos de algoritmo de escalonamento


Preemptivo:
Execuo de um processo dura um tempo prdeterminado Quando o tempo acaba, o processo interrompido.

Pronto

Executando

No-preemptivo:
Processo fica em execuo at que:
Bloqueado Terminado

Termine Libere a CPU VOLUNTARIAMENTE Seja bloqueado por falta de recurso

O que afeta a performance de um algoritmo de escalonamento?


Cada processo possui informaes que permitem definir precisamente seu estado.
Tais informaes definem o contexto do processo

Ilustrao da troca de contexto


preempo

Troca de Contexto
Mecanismo que permite ao escalonador interromper uma tarefa, e execut-la posteriormente, sem corromper seu estado. Separao do escalonamento
Escalonamento = Poltica + Mecanismo

Processo 1

Dispatcher (P1)

Escalonador

Dispatcher (P3)

Processo 3
tempo

Verificar qual o prximo Salvar o contexto de P1 Restaura processo a ser executadoo contexto de P3

Qual o objetivo do escalonamento?


DEPENDE do tipo de sistema operacional
Lote:
No possui usurios aguardando pode ser preemptivo ou no No possui muita troca de contexto OBJETIVOS:
melhorar o throughput (vazo) melhorar o turnaround (tempo entre submisso e finalizao) manter a CPU ocupada

Qual o objetivo do escalonamento?


Propsito Geral:
Possuem usurios interagindo Precisam ser preemptivos OBJETIVOS
melhorar o tempo mdio de resposta atender as expectativas dos usurios

Tempo real:
Em geral so preemptivos OBJETIVO:
cumprir requisitos lgicos cumprir requisitos temporais

Qual o objetivo do escalonamento?


Independente do tipo de sistema operacional, TODOS os algoritmos de escalonamento precisam atender a alguns critrios:
Justia (fairness) Aplicao da poltica de escalonamento Equilbrio (balance) entre as partes do sistema

Escalonamento para sistemas em lote


FCFS (ou FIFO)
Primeiro processo da fila de pronto o escolhido para executar. No-preemptivo Fcil de entender Fcil de programar Justo Processos de baixo custo de execuo podem esperar muito tempo para ser executado

Escalonamento para sistemas em lote


FCFS (ou FIFO)
Fazer o escalonamento para os seguintes processos:

FCFS

Processo

Processo

Custo de execuo

Instante de chegada

Custo de execuo

Instante de chegada

5 15 8

A B C D

12 8 15 5

t=0 t=3 t=5 t = 10

A B C D

12 8 15 5

t=0 t=3 t=5 t = 10

12

Escalonamento para sistemas em lote


Menor Job Primeiro
O job de menor custo de execuo executa primeiro. No-preemptivo Fcil de entender Fcil de programar Justo Para ser adequado, requer que todos os jobs estejam disponveis simultaneamente

Escalonamento para sistemas em lote


Menor Job Primeiro
Fazer o escalonamento para os seguintes processos

Processo

Custo de execuo

A B C D

12 8 15 5

SJF Shortest Job First


Escalonamento em sistemas de propsito geral


Prioridade
Processos tem diferentes prioridade de execuo Preemptivo Baseado nos ciclos da CPU ou quantum Prioridade pode ser atribuda estaticamente ou dinamicamente Pode ser implementado considerando filas de prioridades A implementao de filas pode representar um problema!

Processo 5 15 8

Custo de execuo

A B C D
12

12 8 15 5

Escalonamento em sistemas de propsito geral


Prioridade
Fazer o escalonamento para os seguintes processos
Processo Custo de execuo Instante de Prioridade Chegada t=0 t=0 t=0 t=0
Processo

Prioridade
Custo de execuo Instante de Chegada Prioridade

A B C D
5 15

12 8 15 5

t=0 t=0 t=0 t=0

3 4 2 1

A B C D

12 8 15 5

3 4 2 1

8 12
tempo

Escalonamento em sistemas de propsito geral


Prioridade
Fazer o escalonamento para os seguintes processos
Processo Custo de execuo Instante de Prioridade Chegada

Escalonamento em sistemas de propsito geral


Filas Mltiplas
Processos executam dentro de uma fatia de tempo predefinida (quantum quantum) Preemptivo Justo Tamanho do quantum varivel trocas de contexto. Adaptvel para diferentes tamanhos de processo Os processos so promovidos a medida que o tempo passa

A B C D

12 8 15 5

t=0 t=3 t=5 t = 10

3 4 2 1