Sie sind auf Seite 1von 28

Escalonamento de Processos

Instituto Federal da Bahia


Campus Salvador
INF009 - Sistemas Operacionais
Prof Flvia Maristela

Porque necessrio escalonar?


Processos precisam ser executados!
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

Pronto

Executando

Bloqueado

Terminado

Tipos de algoritmo de escalonamento


Preemptivo:
Execuo de um processo dura um tempo pr-determinado
Quando o tempo acaba, o processo interrompido.
No-preemptivo:
Processo fica em execuo at que:
Termine
Libere a CPU VOLUNTARIAMENTE
Seja bloqueado por falta de recurso

O que afeta o desempenho de um algoritmo


de escalonamento?
Cada processo possui informaes que permitem definir

precisamente seu estado.

Tais informaes definem o contexto do processo

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

Ilustrao da troca de contexto


Restaura o
contexto de P3

preempo

Processo 1

Dispatcher
(P1)

Escalonador

Dispatcher
(P3)

Processo 3
tempo

Salvar o contexto Verificar qual o prximo


processo a ser executado
de P1

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:
Processo

Custo de
execuo

Instante de
chegada

A
B
C
D

12
8
15
5

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

FCFS

5
15
8
12

Processo

Custo de
execuo

Instante de
chegada

12

t=0

t=3

15

t=5

t = 10

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

5
15
8
12

Processo

Custo de
execuo

12

15

Escalonamento em sistemas de propsito


geral
Alternncia circular (Round-Robin)
Processos executam dentro de uma fatia de tempo predefinida

(quantum)
Preemptivo
Simples
Justo
Amplamente utilizado
Tamanho do quantum pode ser um problema

Escalonamento em sistemas de
propsito geral
Round-Robin
Fazer o escalonamento para os seguintes processos considerando
um quantum = 3
Processo

Custo de
execuo

Instante de
Chegada

A
B
C
D

12
8
15
5

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

Round-Robin

Custo de
execuo

Instante de
chegada

12

t=0

t=0

15

t=0

t=0

3 2

3
3

Processo

3
3

2
3

3
tempo

Round-Robin
Fazer o escalonamento Round-Robin para o seguinte conjunto de

tarefas
Processo

Custo de
execuo

Prioridade

Instante de
Chegada

A
B

12
8

3
4

t=0
t=0

C
D

15
5

2
1

t=0
t=0

Podemos implementar o algoritmo de Round-Robin usando


prioridade?

Round-Robin
Fazer o escalonamento Round-Robin para o seguinte conjunto de

tarefas
Processo

Custo de
execuo

Instante de
Chegada

A
B

12
8

t=0

C
D

15
5

t=5

t=3

t = 10

Round-Robin
Processo

Custo de
execuo

Instante de
chegada

12

t=0

t=3

15

t=5

t = 10

3
3

3 2

3
3

Qual a diferena quando os processos


so ativados em instantes diferentes?

3
3

2
3

3
tempo

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!

Escalonamento em sistemas de propsito


geral
Prioridade
Fazer o escalonamento para os seguintes processos

Processo

Custo de
execuo

A
B
C
D

12
8
15
5

Instante de Prioridade
Chegada

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

3
4
2
1

Prioridade
Processo

Custo de
execuo

Instante de
Chegada

Prioridade

12

t=0

t=0

15

t=0

t=0

5
15
8
12
tempo

Escalonamento em sistemas de propsito


geral
Prioridade
Fazer o escalonamento para os seguintes processos

Processo

Custo de
execuo

A
B
C
D

12
8
15
5

Instante de Prioridade
Chegada

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

3
4
2
1

Escalonamento em sistemas de propsito


geral
Filas Mltiplas
Processos executam dentro de uma fatia de tempo predefinida
(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

Para a prxima aula


Exerccio no quadro!
Descrever um exemplo para o escalonamento de Filas

Mltiplas
Pensar num escalonamento para o algoritmo de prioridade
no qual nos instantes de chegada sejam diferentes.

Das könnte Ihnen auch gefallen