Top Banner
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
27

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

Apr 18, 2015

Download

Documents

Internet User
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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