Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas...

27
Gerência de Recursos Gerência de Recursos Processador Processador Escalonamento e Algoritmos de Escalonamento e Algoritmos de Escalonamento Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas das Profª s Marília Silva / Etelvira Leite

Transcript of Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas...

Page 1: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

Gerência de Recursos Gerência de Recursos ProcessadorProcessador

Escalonamento e Algoritmos de Escalonamento e Algoritmos de EscalonamentoEscalonamento

Disciplina: Sistemas Operacionais

Profº. Helvio Jeronimo Junior

Notas de Aulas das Profªs Marília Silva / Etelvira Leite

Page 2: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

GERÊNCIA DE PROCESSADORGERÊNCIA DE PROCESSADOR

Com o surgimento dos sistemas multiprogramáveis, nos quais múltiplos processos poderiam permanecer na memória principal compartilhando o uso da UCP, a gerência de processador tornou-se importante.

Política de escalonamento pode ser entendida como os critérios utilizados para seleção de qual processo (em estado de pronto) deve fazer a utilização do processador.

Estado d eEsp era

Estado d eExecu çã o

Estado d ePronto

Page 3: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

GERÊNCIA DE PROCESSADORGERÊNCIA DE PROCESSADOR

Cada sistema operacional possui sua política de escalonamento adequada ao seu propósito e as suas características. Sistemas de tempo compartilhado por exemplo, possui requisitos de escalonamento distintos dos sistemas de tempo real.

Função do escalonador (scheduler) – rotina responsável por implementar os critérios da política de escalonamento.

Dispatcher – rotina responsável pela troca de contexto dos processos após o escalonador determinar qual processo deve fazer uso do processador.

Page 4: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

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, com carga de processamento baixa, 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 – nº de processos executados em um determinado intervalo de tempo. Quanto maior for este, maior o nº de tarefas executadas em função do tempo.

CRITÉRIOS DE ESCALONAMENTOCRITÉRIOS DE ESCALONAMENTO

Page 5: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

TEMPO DE PROCESSADOR – tempo que o processador leva em estado de execução durante seu processamento..

TEMPO DE ESPERA – é o tempo total que um processo permanece na fila de pronto durante seu processamento, aguardando para ser executado.

TEMPO DE TURNAROUD – tempo que um processo leva desde sua criação até seu término, levando em consideração todo o tempo gasto na espera para alocação de memória, espera na fila de pronto, processamento na UCP e na fila de espera.

CRITÉRIOS DE ESCALONAMENTOCRITÉRIOS DE ESCALONAMENTO

Page 6: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

TEMPO DE RESPOSTA – é o tempo decorrido entre a requisição ao sistema ou à aplicação e o instante em que a resposta é exibida.

CRITÉRIOS DE ESCALONAMENTOCRITÉRIOS DE ESCALONAMENTO

Políticas de escalonamento em geral, buscam:

Otimizar a utilização do processador e throughput;

Diminuir tempos de turnaround, espera e resposta.

OBSERVAÇÃOOBSERVAÇÃO

Page 7: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

PREEMPÇÃOPREEMPÇÃO

Possibilidade de um sistema operacional interromper um processo em execução e substituí-lo por um outro.

Sistemas operacionais que implementam escalonamento com preempção são mais complexos, contudo possibilitam políticas de escalonamento mais flexíveis.

Page 8: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

ESCALONAMENTO NÃO PREEMPTIVOESCALONAMENTO NÃO PREEMPTIVO

Predominava o processamento em batch.

Quando um processo está em execução, nenhum evento externo pode ocasionar a perda do uso do processador.

O processo somente sai do estado de execução caso termine seu processamento ou execute instruções do próprio código que ocasione uma mudança para o estado de espera.

Page 9: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

ESCALONAMENTO PREEMPTIVOESCALONAMENTO PREEMPTIVO

O sistema operacional pode interromper um processo em execução e passá-lo para o estado de pronto, com o objetivo de alocar outro processo na UCP.

É possível priorizar a execução de processos, como no caso de aplicações de tempo real, onde o fator tempo é crítico.

Atualmente, a maioria dos sistemas operacionais implementam políticas de escalonamento preemptivas que, apesar de tornarem os sistemas mais complexos, possibilitam a implementação dos diversos critérios de escalonamentos.

Page 10: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

ALGORITMOS DE ESCALONAMENTOALGORITMOS DE ESCALONAMENTO

Existem vários algoritmos que são utilizados para a realização do escalonamento, em todos eles, o principal objetivo é designar o processador para um certo processo dentre vários processos existentes, otimizando um ou mais aspectos do comportamento geral do sistema.

Algoritmos de escalonamento: First In First Out (FIFO) Shortest Job First (SJF) Circular Por Prioridades Circular com Prioridades etc.

Page 11: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

ESCALONAMENTO ESCALONAMENTO FIRST-IN-FIRST-OUT FIRST-IN-FIRST-OUT (FIFO)(FIFO)

O processo que chegar primeiro ao estado de pronto é selecionado para a execução.

O escalonador FIFO é do tipo não preemptivo.

U C P

Estado d eC r iação

Estado d eEsp era

Fila dos processos n o estad o d e Pron to

Estado d eTérm ino

Page 12: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

ESCALONAMENTO ESCALONAMENTO FIRST-IN-FIRST-OUT FIRST-IN-FIRST-OUT (FIFO)(FIFO)

Não garante um tempo de resposta rápido, pois é extremamente sensível a ordem de chegada de cada processo e dos antecessores (se existirem).

Se processos que tendem a demorar mais tempo chegarem primeiro, o tempo médio de espera e o turnaround acabam sendo aumentados.

Processos CPU-bound levam vantagem no uso do processador sobre os processos I/O-bound.

Page 13: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

ESCALONAMENTO ESCALONAMENTO FIRST-IN-FIRST-OUT FIRST-IN-FIRST-OUT (FIFO)(FIFO)

Pro cesso A

Pro cesso B

Pro cesso C

10 14 17

Pro cesso A

Pro cesso B

Pro cesso C

4 7 17 u .t.

u .t.

Pro cessoTem p o d e

p ro cessa do r(u .t.)

A

B

C

10

4

3

O tempo médio de espera dos três

processos seria igual a (0+10+14)/3 = 8 u.t

O tempo médio de espera dos três

processos seria igual a (0+4+7)/3 = 3,66 u.t

Page 14: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

ESCALONAMENTO SHORTEST-JOB-FIRST ESCALONAMENTO SHORTEST-JOB-FIRST ((SJFSJF))

O algoritmo seleciona o processo que tiver menor tempo de processador ainda por executar. Desta forma, o processo em estado de pronto que necessitar de menos tempo de UCP para terminar seu processamento é selecionado para a execução.O escalonamento SJF é do tipo não preemptivo.

Processo A

Processo B

Processo C

3 7 17 u .t.

O tempo médio de espera dos três

processos seria igual a (7+3+0)/3 = 3,3 u.t,

e é inferior ao apresentado no

escalonador FIFO.

Page 15: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

ESCALONAMENTO CIRCULARESCALONAMENTO CIRCULAR

É um escalonamento do tipo preemptivo.

Quando um processo passa o estado de execução existe um tempo-limite para o uso contínuo do processador denominado fatia de tempo (time-slice) ou quantum.

Toda vez que um processo é escalonado para execução uma nova fatia de tempo é concedida. Caso a fatia de tempo expire, o sistema operacional interrompe o processo em execução, salva seu contexto e direciona-o para o final da fila de pronto. Esse mecanismo é conhecido como preempção por tempo.

Page 16: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

ESCALONAMENTO CIRCULARESCALONAMENTO CIRCULAR

Preem p ção po r tem p o

U C P

Estado d eC r ia çã o

Estado d eEsp era

Fila do s pro cesso s n o estad o d e Pron to

Estado d eTérm ino

Page 17: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

ESCALONAMENTO CIRCULARESCALONAMENTO CIRCULAR

Page 18: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

ESCALONAMENTO POR PRIORIDADESESCALONAMENTO POR PRIORIDADES

É um escalonamento do tipo preemptivo realizado com base em um valor associado a cada processo denominado prioridade de execução.

O processo com maior prioridade no estado de pronto é sempre escolhido para execução, e processos com valores iguais são escalonados seguindo o critério FIFO.

Se durante a execução de um processo, aparecer um outro na fila de pronto com prioridade maior, o SO deverá interromper o processo corrente, salvar seu contexto e colocá-lo no estado de pronto. Este mecanismo é conhecido como preempção por prioridade.

Page 19: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

ESCALONAMENTO POR PRIORIDADESESCALONAMENTO POR PRIORIDADES

U C P

Esta do d eTérm ino

Fila s do s p ro cesso s n o esta d o d e Pro n to

Pr io r id a d e P1

Pr io r id a d e P2

Pr io r id a d e Pn

Esta do d eC r ia ção

Esta do d eEsp era

Preem p ção po r p r io r id a d e

Page 20: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

ESCALONAMENTO POR PRIORIDADESESCALONAMENTO POR PRIORIDADES

Page 21: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

ESCALONAMENTO ESCALONAMENTO CIRCULAR COM PRIORIDADESCIRCULAR COM PRIORIDADES

Implementa o conceito de fatia de tempo e de prioridade de execução associada a cada processo.

Neste escalonamento, um processo permanece no estado de execução até que termine seu processamento, ou voluntariamente passe para o estado de espera (interrupção por E/S), ou sofra uma preempção por tempo ou prioridade.

A principal vantagem deste escalonamento é permitir um melhor balanceamento no uso do processador, com a possibilidade de diferenciar o grau de importância dos processos através da prioridade (o Windows e o UNIX utilizam este escalonamento).

Page 22: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

ESCALONAMENTO ESCALONAMENTO CIRCULAR COM PRIORIDADESCIRCULAR COM PRIORIDADES

U C P

Estado d eTérm ino

Fila dos processos n o estad o d e Pron to

Pr io r id ad e P1

Pr io r id ad e P2

Pr io r id ad e Pn

Estado d eC r iação

Estado d eEsp era

Preem p ção po r tem p o o u pr io rida de

Page 23: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

ESCALONAMENTO ESCALONAMENTO CIRCULAR COM PRIORIDADESCIRCULAR COM PRIORIDADES

No escalonamento circular com prioridades estáticas , a prioridade definida no contexto de software de cada processo permanece inalterada ao longo da sua existência.

No escalonamento circular com prioridades dinâmicas, é possível que a prioridade de um processo seja alterada dinamicamente pelo administrador do sistema ou, em algumas políticas, pelo sistema operacional.

Page 24: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

EXERCÍCIOSEXERCÍCIOS

1. Considere que cinco processos sejam criados no instante de tempo 0 (P1, P2, P3, P4 e P5) e possuam as características descritas na tabela a seguir:

PROCESSO TEMPO DE UCP PRIORIDADE

P1 10 3

P2 14 4

P3 5 1

P4 7 2

P5 20 5

Page 25: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

EXERCÍCIOSEXERCÍCIOS

1. Desenhe um diagrama ilustrando o escalonamento dos processos e seus respectivos tempos de turnaround, segundo as políticas especificadas a seguir. O tempo de troca de contexto deve ser desconsiderado.

a) FIFO

b) SJF

c) Prioridade (número menor implica prioridade maior)

d) Circular com fatia de tempo igual a 4 u.t.

Page 26: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

EXERCÍCIOSEXERCÍCIOS

2. Existem quatro processos (P1, P2, P3, P4) na fila de pronto, com tempos de UCP estimados em 9, 6, 3 e 5 respectivamente. Em que ordem os processos devem ser executados para minimizar o tempo de turnaround dos processos?

3. O que é política de escalonamento de um sistema operacional?

4. Quais as funções do escalonador?5. Quais os principais critérios utilizados em uma política

de escalonamento?6. Diferencie os tempos de processador, espera,

turnaround e resposta.7. Diferencie os escalonamentos preemptivos e não

preempitivos.

Page 27: Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

Machado, F. B., Maia, L. P. Arquitetura de Sistemas Operacionais. 4ª edição. Rio de Janeiro: LTC, 2011.

Notas de Aulas das Profª. Etelvira Leite e Marília.

BibliografiaBibliografia