A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Escalonamento com prioridades

Apresentações semelhantes


Apresentação em tema: "Escalonamento com prioridades"— Transcrição da apresentação:

1 Escalonamento com prioridades
Quando os processos de um sistema possuem diferentes prioridades, essa prioridade pode ser usada para decidir qual processo será executado a seguir. Sempre que um processo de maior prioridade que o processo atualmente em execução entrar no estado apto deve ocorrer uma preempção A existência de prioridades pressupõem a preempção É possível haver prioridade não-preemptiva Quando 2 processo possuem a mesma prioridade, um critério de desempate deve ocorrer. Ex. A ordem de chegada na fila (FIFO). Sistemas Operacionais 1 1

2 Implementação de escalonador com prioridades
Múltiplas filas associadas ao estado apto Cada fila uma prioridade Pode ter sua própria política de escalonamento (FIFO, SJF, RR) CPU Evento Fila de bloqueados Espera por evento Preempção Fila apto 0 Dispatch Término Fila apto 1 Fila apto n Prioridade 0 Prioridade 1 Prioridade n Sistemas Operacionais 2

3 Algoritmo com múltiplas filas
Um tipo bastante popular é utilizar Fatia de Tempo dentro das filas e prioridade preenptiva entre elas Dentro de uma mesma prioridade, processos dividem o tempo do processador em fatias. Permite favores processos com prioridade elevada, como para processos que executam tarefas do SO. CPU Evento Fila de bloqueados Espera por evento Preempção Fila apto 0 Dispatch Término Fila apto 1 Fila apto n Sistemas Operacionais 3

4 Como definir a prioridade de um processo?
Prioridade estática Prioridade dinâmica Prioridade estática: Um processo é criado com uma determinada prioridade e esta prioridade é mantida durante todo o tempo de vida do processo Prioridade dinâmica: Prioridade do processo é ajustada de acordo com o estado de execução do processo e/ou do sistema Sistemas Operacionais 4 4

5 Implementação de escalonador com prioridades
Exemplo de fila de processos hipotética. Cada processo possui uma prioridade, quanto menor o valor, mais importante é o processo. Sistemas Operacionais 5 5

6 Problemas com prioridades
Um processo de baixa prioridade pode não ser executado Postergação indefinida Processo com prioridade estática pode ficar mal classificado e ser penalizado ou favorecido em relação aos demais Típico de processos que durante sua execução trocam de padrão de comportamento (CPU bound a I/O bound e vice-versa) Solução: Múltiplas filas com realimentação Sistemas Operacionais 6

7 Múltiplas filas com realimentação
Baseado em prioridades dinâmicas Em função do tempo de uso da CPU a prioridade do processo aumenta e diminui Sistema de envelhecimento (agging) evita postergação indefinida CPU Término Fila apto 0 Dispatch Fila apto 1 Fila apto n Possibilidade de trocar de fila Preempção Fila de bloqueados Espera por evento Evento Sistemas Operacionais 7

8 Considerações A partir dos algoritmos básicos é possível fazer inúmeras combinações. Processos background não tem usuário esperando, utiliza-se fatias de tempo maior. Podemos usar FIFO (prever laço infinito com tempo máximo de execução). Sistemas de Tempo Real – prioridade é essencial. Nos SOs atuais utiliza-se muito escalonador por prioridade. Sistemas Operacionais 8


Carregar ppt "Escalonamento com prioridades"

Apresentações semelhantes


Anúncios Google