1 prof. robert gans faculdade pitÁgoras de tecnologia faculdade pitÁgoras – outubro de 2012...

32
1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans [email protected] Gerência do processador (Escalonamento)

Upload: internet

Post on 18-Apr-2015

121 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

1Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

Faculdade PITÁGORAS – Outubro de 2012Prof. Robert Gans

[email protected]

Gerência do processador

(Escalonamento)

Page 2: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

2Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

Objetivos

Este capítulo apresenta:■ Os objetivos do escalonamento de processador.■ Escalonamento preemptivo versus escalonamento não

preemptivo.■ O papel das prioridades no escalonamento.■ Critérios de escalonamento.■ Algoritmos de escalonamento comuns.■ Os conceitos de escalonamento por prazo e de tempo real.

Page 3: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

3Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.1 Introdução

Política de escalonamento de processador■ Determina que processo é executado em um determinado

momento.■ Escalonadores diferentes terão metas distintas:

● Maximizar o rendimento.● Minimizar a latência.● Evitar o adiamento indefinido.● Concluir o processo de acordo com o prazo estabelecido.● Maximizar a utilização do processador.● Privilegiar a execução de aplicações críticas● Balancear o uso da CPU entre processos● Oferecer tempos de resposta razoáveis aos usuários interativos.

Page 4: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

4Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.1 Introdução

Conceitos Importantes: Utilização do processador: corresponde a uma taxa de utilização, que na maioria dos sistemas varia entre 30 e 90%. Uma utilização abaixo dos 30% indicaria um sistema ocioso, enquanto uma taxa de utilização acima dos 90% pode indicar um sistema bastante carregado, próximo da sua capacidade máxima (em alguns casos tal situação pode levar a um crash – travamento do sistema).

 Throughput: é o número de processos executados em um determinado intervalo de tempo. Quanto maior o throughput, maior o número de tarefas executadas em função do tempo. A maximização do throughput é desejada na maioria dos sistemas.

Tempo de Processador: é o tempo que um processo leva no estado de execução, durante seu processamento. As políticas de escalonamento não interferem neste parâmetro, sendo este tempo função apenas do código executável e da entrada/saída de dados.

Page 5: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

5Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.1 Introdução

Conceitos Importantes:

Tempo de Espera (pela CPU): é todo o tempo que o processo permanece na fila de pronto, aguardando a liberação da CPU para ser executado. A redução deste tempo de espera é desejada pela maioria das políticas de escalonamento.

 Tempo de Turnaround: é o tempo total que o processo permaneceu no sistema, desde sua criação até o momento em que é encerrado. São contados os tempos de:

• alocação de memória.• espera na fila de pronto.• interrupção (E/S).

 Tempo de Resposta: é o tempo decorrido entre uma requisição ao sistema e o instante em que a resposta começa a ser exibida. Em sistemas interativos, como aplicações on-line ou acesso à Web, os tempos de resposta devem ser da ordem de apenas poucos segundos.

Page 6: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

6Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.2 Níveis de escalonamento

Escalonamento de alto nível■ Determina que serviços podem disputar os recursos.■ Controla o número de processos admitidos por vez no sistema.

Escalonamento de nível intermediário■ Determina quais processos terão permissão de competir por

processadores.■ Responde a flutuações na carga do sistema.

Escalonamento de baixo nível■ Atribui prioridades.■ Designa processadores a processos.

Page 7: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

7Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.2 Níveis de escalonamento

Page 8: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

8Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.3 Escalonamento preemptivo versus escalonamento não preemptivo

Processos preemptivos■ Podem ser removidos do processador em que estiverem sendo

executados.■ Podem melhorar o tempo de resposta.■ São importantes para ambientes interativos.■ Os processos que sofrem preempção permanecem na memória.

Processos não preemptivos■ São executados até o fim ou até que passem o controle a um

processador.■ Processos insignificantes podem bloquear processos

importantes indefinidamente.

Page 9: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

9Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.4 Prioridades

Prioridades estáticas■ Prioridades permanentes atribuídas a um processo.■ São fáceis de implementar.■ Sua sobrecarga é relativamente baixa.■ Não respondem a mudanças no ambiente.

Prioridades dinâmicas■ Respondem a mudanças.■ Promovem interatividade estável.■ Sua sobrecarga é maior que a das prioridades estáticas.

● Isso ocorre por causa de sua maior responsividade.

Page 10: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

10Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.5 Objetivos de escalonamento

Objetivos diferentes, dependendo do sistema:■ Maximizar o rendimento.■ Maximizar o número de processos interativos cujo tempo de

resposta seja aceitável.■ Minimizar a utilização de recursos.■ Evitar o adiamento indefinido.■ Impor prioridades.■ Minimizar a sobrecarga.■ Garantir previsibilidade.

Page 11: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

11Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.5 Objetivos de escalonamento

Várias metas são comuns à maioria dos escalonadores:

■ Imparcialidade.■ Previsibilidade.■ Escalabilidade.

Page 12: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

12Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.6 Critérios de escalonamento

Processo orientado a processador■ Usa todo o tempo disponível do processador.

Processo orientado a E/S■ Gera uma solicitação de E/S rapidamente e devolve o

processador. Processo em lote

■ Abrange trabalhos que o sistema executará sem interagir com o usuário.

Processos interativos■ Exige continuamente informações do usuário.

Page 13: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

13Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.7 Algoritmos de escalonamento

Algoritmos de escalonamento■ Determinam quando e por quanto tempo cada processo é

executado.■ Tomam decisões sobre:

● Preemptividade.● Prioridade.● Tempo de execução.● Tempo até a conclusão.● Imparcialidade.

Page 14: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

14Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.7.1 Escalonamento primeiro-a-entrar-primeiro-a-sair (FIFO)

Escalonamento FIFO (First In First Out)■ É o esquema mais simples.■ Os processos são despachados de acordo com a hora de

chegada e permanece utilizando o processador até terminar sua execução ou ser interrompido por E/S.

■ Não é preemptível.■ Raramente é usado como algoritmo de escalonamento principal

devido às suas deficiências :

• Dificuldade de se prever o início da execução de um processo, já que a ordem de chegada à fila de pronto deve ser observada à risca.

• Outro problema é quanto aos tipos de processo, onde os CPU-bound levam vantagem no uso do processador em relação aos do tipo I/O-bound, pois o sistema não trata este tipo de diferença.

O escalonamento FIFO foi inicialmente implementado em sistemas monoprogramáveis, sendo ineficiente se aplicado em sistemas interativos de tempo compartilhado.

Page 15: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

15Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

Figura 8.2 Escalonamento primeiro-a-entrar-primeiro-a-sair.

8.7.1 Escalonamento primeiro-a-entrar-primeiro-a-sair (FIFO)

Abaixo, um exemplo de escalonamento utilizando o método FIFO: a ordem de chegada dos processos (A, B, C) na fila de pronto foi obedecida, e, não tendo sido interrompidos por E/S, os processos executaram inteiramente até terminar, de acordo com seus tempos necessários para execução.

OBS: u.t. = Unidades de Tempo

Page 16: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

16Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.7.2 Escalonamento por processo-mais-curto-primeiro (SPF ou SJF Shortest Job First)

O escalonador seleciona o processo cujo tempo de finalização é o menor.

■ Tempo de espera médio menor que no FIFO.● Reduz o número de processos em espera.

■ Variação possivelmente grande dos tempos de espera.■ Não é preemptivo.

● A velocidade do tempo de resposta diminui para as solicitações interativas que estão chegando.

■ Baseia-se na estimativa do tempo de execução até a conclusão.● Pode ser impreciso ou inválido.

■ Não é adequado para os modernos sistemas interativos.

Como exemplo, vamos utilizar os mesmos processos executados no escalonamento FIFO, com seus respectivos tempos de execução em u.t. (unidades de tempo): processo A com 10 u.t., processo B com 8 u.t, e o processo C com 9 u.t. Como neste escalonamento o que importa é o tempo de execução, a nova ordem de escalonamento para utilização da CPU será B, C e A, como segue:

Page 17: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

17Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.7.3 Escalonamento por alternância circular (RR)

Escalonamento por alternância circular(Round-Robin — RR)

■ Baseia-se no FIFO.■ Projetado especialmente para sistemas de tempo

compartilhado.■ Os processos são executados apenas durante um determinado

período denominado intervalo de tempo ou quantum.■ É preemptível. (É conhecido como preempção por tempo)■ Exige que o sistema mantenha vários processos na memória

para diminuir a sobrecarga.■ É usado com freqüência como parte de algoritmos mais

complexos.■ A principal vantagem deste escalonamento é não permitir que

um processo monopolize a CPU■ uma desvantagem é que os processos CPU-bound são

beneficiados no uso do processador em relação aos processos I/O-bound, pois tendem a utilizar totalmente a fatia de tempo recebida.

Page 18: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

18Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

Figura 8.3 Escalonamento por alternância circular.

8.7.3 Escalonamento por alternância circular (RR)

A figura a seguir mostra o escalonamento circular com 3 processos, onde a fatia de tempo é igual a 2 u.t. No exemplo não estão sendo levados em consideração tempos de troca de contexto entre os processos, nem o tempo perdido em operações de E/S. Os processos A, B e C, gastam 10 u.t, 6 u.t e 3 u.t., respectivamente.

Page 19: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

19Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.7.3 Escalonamento por alternância circular (RR)

Tamanho do quantum■ Determina o tempo de resposta a solicitações interativas.■ Quantum muito grande

● Os processos são executados durante longos períodos.● Degenera o FIFO.

■ Quantum muito pequeno● O sistema despende mais tempo chaveando o contexto do que

executando os processos.

■ Tamanho médio● Longo o suficiente para que os processos interativos lancem

solicitações de E/S.● Processos em lote continuam consumindo maior parte do tempo

processado.

Page 20: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

20Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.7.4 Filas multiníveis de retorno

Processos diferentes têm necessidades diferentes.■ Os processos interativos curtos orientados a E/S geralmente

devem ser executados antes dos processos em lote orientados a processador.

■ Os padrões de comportamento não são imediatamente evidentes para o escalonador.

Filas multiníveis de retorno■ Os processos que chegam entram na fila de nível superior e sua

prioridade de execução é maior que a dos processos nas filas inferiores.

■ Os processos longos são continuamente transferidos para os níveis inferiores.

● Atribuem maior prioridade aos processos curtos e aos processos orientados a E/S.

● Os processos longos serão executados quando da conclusão dos processos curtos e orientados a E/S.

■ Os processos de cada fila são atendidos por meio do escalonamento por alternância circular.

● Os processos que entram na fila de nível superior provocam preempção nos processos em execução.

Page 21: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

21Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.7.4 Filas multiníveis de retorno

O algoritmo precisa responder a mudanças no ambiente.

■ Muda os processos para diferentes filas à medida que eles alternam entre o procedimento interativo e em lote.

Exemplo de mecanismo adaptativo:■ Os mecanismos adaptativos provocam uma sobrecarga em

geral compensada por uma percepção mais precisa do comportamento do processo.

Page 22: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

22Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.7.5 Escalonamento por fração justaou

Fair Share Scheduling (FSS)

O FSS controla o acesso do usuário aos recursos do sistema.■ Alguns grupos usuários são mais importantes que outros.■ Garante que os grupos menos importantes não monopolizem os recursos.■ Os recursos que não estão sendo usados são distribuídos de acordo com a

proporção de recursos que cada grupo alocou.■ Atribui-se maior prioridade aos grupos que não atendem às metas de utilização

de recursos.

• Considera não os processos em si, mas os usuários, para que a divisão de CPU seja justa entre eles.

• As frações de tempo de CPU são dadas aos usuários, independentemente do número de processos cada um vai executar

• Ex. Usuário 1 roda processos A, B, C e DUsuário 2 roda processo ESe cada um tiver 50% da CPU, por round-robin

A E B E C E D E A E A E B E ...Se Usuário 1 tiver 66% e Usuário 2 34%

A B E C D E A B E C D E A B ...

Page 23: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

23Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

Figura 8.5 Exempo de não FSS; Escalonador do processo-padrão do UNIX. O escalonador concede o processador aos usuários, cada um deles pode ter muitos processos. (Propriedade da AT&T Archives.Reproduzido com a permissão da AT&T.)

8.7.5 Escalonamento por fração justa

Page 24: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

24Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

Figura 8.6 Escalonador por fração justa. O escalonador por fração justa divide a capacidade de recursos dos sistema em porções, as quais são alocadas por escalonadores de processo designados a vários grupos de fração justa. (Propriedade da AT&T Archives. Reproduzido com a permissão da AT&T.)

8.7.5 Escalonamento por fração justa

Page 25: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

25Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.8 Escalonamento por prioridade

Funciona com base num valor associado a cada processo, denominado prioridade de execução.

O processo com maior prioridade na fila de PRONTO é sempre o escolhido para ocupar o processador, sendo os processos com prioridades iguais escalonados pelo critério FIFO.

Neste escalonamento o conceito da fatia de tempo não existe. Como conseqüência disto, um processo em execução não pode sofrer preempção por tempo.

Neste escalonamento a perda do uso do processador somente ocorrerá no caso de uma mudança voluntária para o estado de espera (interrupção por E/S), ou quando um outro processo de prioridade maior passa (ou chega) para o estado de pronto. Neste caso o sistema operacional interrompe o processo em execução, salva seu contexto e o coloca na fila de pronto, dando lugar na CPU ao processo prioritário.

Este mecanismo é chamado de preempção por prioridadepreempção por prioridade.

Page 26: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

26Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.8 Escalonamento por prioridade

A figura a seguir mostra a execução dos processos A, B e C, com tempos de execução de 10, 4 e 3 u.t. respectivamente, e valores de prioridades de 2, 1 e 3, também respectivamente. Na maioria dos sistemas, valores menores correspondem à MAIOR prioridade. Assim, a ordem de execução será invertida para B, A e C.

Page 27: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

27Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.8 Escalonamento por prioridade

A prioridade de execução faz parte do contexto de software do processo, e pode ser estática (quando não pode ser alterada durante a existência do processo) ou dinâmica (quando pode ser alterada durante a existência do processo). Este escalonamento é muito usado em sistemas de tempo real, com aplicações de controle de processos, controle de tráfego (sinais de trânsito, de trens/metrô, aéreo), robótica, entre outros.

Page 28: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

28Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.9 Escalonamento por prazo

Escalonamento por prazo■ O processo precisa ser concluído em um prazo específico.■ É usado quando um processo precisa ser concluído a tempo,

pois do contrário seria inútil.■ É difícil de implementar.

● Deve programar as solicitações de recursos com antecedência.● Sua sobrecarga é significativa.● O atendimento a outros processos pode degradar.

Page 29: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

29Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.10 Escalonamento de tempo real

Escalonamento de tempo real■ Está relacionado com o escalonamento por prazo.■ Os processos têm restrição de tempo.■ Engloba também tarefas que são executadas

periodicamente.

Duas categorias: (Crítico e não crítico)

A severidade da pena pelo não cumprimento das tarefas num determinado intervalo de tempo é o fator que os distingüe.

■ Escalonamento de tempo real não crítico● Não garante que as restrições de tempo serão cumpridas.● Por exemplo, reprodução de multimídia.

■ Escalonamento de tempo real crítico● As restrições de tempo sempre serão cumpridas.● O não cumprimento do prazo pode ter resultados catastróficos.● Por exemplo, controle de tráfego aéreo.●

● Outra classificação: (Estático e Dinâmico)

Page 30: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

30Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.10 Escalonamento de tempo real (Estático)

Antes de avançarmos veremos alguns conceitos importantes em relação a estes escalonamentos:

Page 31: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

31Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.10 Escalonamento de tempo real (Estático)

■ Escalonamento de tempo real estático■ Não ajusta as prioridades ao longo do tempo.■ Sua sobrecarga é baixa.■ É adequado para sistemas cujas condições mudam raramente.

■ Exemplos de Escalonadores de tempo real estático:■ Escalonamento por taxa monotônica (rate monotonic scheduling – RMS)

● A prioridade do processo eleva-se monotonicamente (linearmente) de acordo com a freqüência com que deve ser executado.

● (Quanto mais frequente, maior a prioridade)■ Escalonamento por taxa monotônica com prazo

● Útil para um processo periódico cujo prazo não é o mesmo que o do seu período.

Page 32: 1 Prof. Robert Gans FACULDADE PITÁGORAS DE TECNOLOGIA Faculdade PITÁGORAS – Outubro de 2012 Prof. Robert Gans robert.gans@gmail.com Gerência do processador

32Prof. Robert Gans

FACULDADE PITÁGORAS DE TECNOLOGIA

8.10 Escalonamento de tempo real (Dinâmico)

Escalonamento de tempo real dinâmico■ Ajusta as prioridades em resposta a situações variáveis.■ Não atribuem prioridades fixas aos processos.■ As decisões de escalonamento são tomadas em tempo de execução e as

prioridades dos processos podem mudar. ■ Sua sobrecarga pode ser significativa, mas deve garantir que

essa sobrecarga não interfira no cumprimento dos prazos.■ As prioridades baseiam-se normalmente no prazo dos

processos.● Prazo-mais-curto-primeiro (Earliest Deadline First - EDF)

→ Algoritmo preemptivo que sempre despacha primeiro o processo cujo prazo é o mais curto.

● Folga-mínima-primeiro→ Semelhante ao EDF, mas baseia sua prioridade na folga, que, por sua

vez, é baseada no prazo do processo e no tempo de execução restante até sua conclusão.