Buscar

UNIDADE 09 Gerencia de Processador

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Unidade 09 – Gerência do Processador 1
INSTITUTO DE CIÊNCIAS EXATAS E NATURAIS
FACULDADE DE COMPUTAÇÃO
BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO
SISTEMAS OPERACIONAIS
Unidade 09: 
Gerência de Processador
Professor: Dr. Josivaldo Araújo
josivaldo@ufpa.br
Unidade 09 – Gerência do Processador 2
Objetivos desta Unidade...
� Introduzir o escalonamento da CPU, que é a base
dos sistemas operacionais multiprogramados;
� Descrever os algoritmos de escalonamento da
CPU;
Unidade 09 – Gerência do Processador 3
Introdução
� Múltiplos processos podem permanecer na
memória principal (estado de pronto);
� Estabelecer critérios para determinar qual
processo será escolhido;
� Os critérios utilizados compõem a chamada
política de escalonamento;
� Base da gerência do processador e da
multiprogramação em um sistema operacional.
Unidade 09 – Gerência do Processador 4
� Manter a CPU ocupada a maior parte do tempo;
� Balancear o uso da CPU entre processos;
� Privilegiar a execução de aplicações críticas;
� Maximizar o throughput;
� Oferecer tempos de resposta razoáveis para
usuários interativos;
� E vale a lembrança:
• Processos – unidades de alocação de recursos;
• Threads – unidades de escalonamento;
Funções Básicas
Unidade 09 – Gerência do Processador 5
� Escalonamento:
Funções Básicas
Unidade 09 – Gerência do Processador 6
� Depende das características de cada S.O., e a escolha
de um algoritmo específico pode favorecer uma
classe de processos em vez de outra;
� Critérios que devem ser considerados:
� Utilização do processador: É desejável que fique
ocupado a maior parte do tempo.
� Throughput: O número de processos concluídos
em um determinado intervalo de tempo (a
maximização é desejada).
� Tempo de processador: Tempo que um processo
leva no estado de execução durante seu
processamento.
Critérios de Escalonamento
Unidade 09 – Gerência do Processador 7
� Tempo de espera: Tempo que um processo
permanece na fila de pronto.
� Tempo de turnaround: Tempo que um processo
leva desde a sua criação até o seu término.
� Tempo de resposta: É o tempo decorrido entre uma
requisição ao sistema e o intante em que a resposta
é exibida.
Critérios de Escalonamento
� É desejável a maximização da utilização da CPU e do
throuhgput;
� E a minimização do tempo de turnaround, do tempo
de espera e do tempo de resposta;
Unidade 09 – Gerência do Processador 8
� Preempção: Possibilidade do sistema operacional
interromper um processo em execução e substituí-lo
por outro;
� S.O. que implementam escalonamento com
preempção são mais complexos, contudo possibilitam
políticas de escalonamento mais flexíveis;
• Escalonamento não-preemptivo: Quando um processo
está em execução nenhum evento externo pode
ocasionar a perda do uso do processador (tipicamente
processamento batch);
• Escalonamento preemptivo: O S.O. pode interromper
um processo em execução e passá-lo para o estado de
pronto;
Tipos de Escalonamento
Unidade 09 – Gerência do Processador 9
1. Escalonamento FIFO (First-In-First-Out)
� Quando a CPU está livre, ela é alocada para o
processo no início da fila;
� É do tipo não-preemptivo;
� Processo ocupa a CPU até liberá-la, seja pelo
encerramento ou ao solicitar I/O;
Tipos de Escalonamento
Unidade 09 – Gerência do Processador 10
Tipos de Escalonamento
� Processos CPU-bound levam vantagem no uso do
processador sobre processos I/O-bound;
1. Escalonamento FIFO (First-In-First-Out)
Unidade 09 – Gerência do Processador 11
Tipos de Escalonamento
� Desvantagem: 
� O tempo médio de espera neste tipo de
escalonamento, geralmente é muito longo;
• Tempo de espera: 0 + 10 + 14 = 24/3 = 8 u.t. 
1. Escalonamento FIFO (First-In-First-Out)
Unidade 09 – Gerência do Processador 12
Tipos de Escalonamento
� Desvantagem:
� Não se preocupa em melhorar o tempo médio de
espera dos processos;
� É problemático para sistemas de tempo
compartilhado;
• Tempo de espera: 0 + 4 + 7 = 11/3 = 3,7 u.t. 
1. Escalonamento FIFO (First-In-First-Out)
Unidade 09 – Gerência do Processador 13
� O algoritmo de escalonamento seleciona o processo
(pronto) que tiver o menor tempo de processador ainda
por executar;
� É possível prever o tempo com base no seu
comportamento passado;
δn+1 = αtn + (1 - α)δn
Tipos de Escalonamento
2. Escalonamento SJF (Shortest-Job-First)
Tempo do processador 
utilizado no último 
escalonamento
Tempo estimado que 
será utilizado no 
escalonamento seguinte
Unidade 09 – Gerência do Processador 14
� Processo em execução libera voluntariamente a
CPU;
� Verifica a fila de mensagens periodicamente;
� Problema: Um programa pode permanecer por um
longo período de tempo alocando o processador.
� Exemplo: primeiros sistemas MS-Windows
Tipos de Escalonamento
3. Escalonamento Cooperativo
Unidade 09 – Gerência do Processador 15
� É um escalonamento do tipo Preemptivo, projetado
especialmente para sistemas de tempo
compartilhado;
� Quando um processo passa para o estado de
execução, existe um tempo limite (quantum de tempo)
para o uso contínuo da CPU.
Tipos de Escalonamento
4. Escalonamento Circular (Round-Robin)
Unidade 09 – Gerência do Processador 16
Tipos de Escalonamento
� Exemplo com três processos: quantum de tempo é 
igual a 2 u.t.
4. Escalonamento Circular (Round-Robin)
Unidade 09 – Gerência do Processador 17
Tipos de Escalonamento
4. Escalonamento Circular (Round-Robin)
Processos I/O podem 
não utilizar todo o 
quantum de tempo;
Unidade 09 – Gerência do Processador 18
� Os processos da fila auxiliar possuem preferência no
escalonamento em relação à fila de pronto;
� A CPU só seleciona processos na fila de pronto
quando a fila auxiliar estiver vazia;
Tipos de Escalonamento
5. Escalonamento Circular Virtual
Unidade 09 – Gerência do Processador 19
� O processo com maior prioridade no estado de
pronto é sempre o escolhido para execução.
Tipos de Escalonamento
6. Escalonamento por Prioridades
Unidade 09 – Gerência do Processador 20
Tipos de Escalonamento
6. Escalonamento por Prioridades
� Pode ou ter a preempção: Se tiver, a CPU é retirada 
do processo que está sendo executado;
� Se não tiver, o processo com maior prioridade
apenas é colocado no início da fila;
Unidade 09 – Gerência do Processador 21
Tipos de Escalonamento
6. Escalonamento por Prioridades
� Problema: Em um sistema de computação
muito carregado, um fluxo constante de
processos de prioridade mais alta pode
impedir que um processo de prioridade
mais baixa consiga usar a CPU.
� Solução: Conhecida como Envelhecimento.
� É uma técnica que aumenta
gradualmente a prioridade dos
processos que esperam por muito
tempo;
Unidade 09 – Gerência do Processador 22
� Implementa o conceito de fatia de tempo e de
prioridade de execução associada a cada processo.
� Processos I/O-bound devem receber prioridades mais
altas que as dos processos CPU-bound;
Tipos de Escalonamento
7. Escalonamento Circular com Prioridades
Unidade 09 – Gerência do Processador 23
Tipos de Escalonamento
7. Escalonamento Circular com Prioridades
Compartilha o 
processador de uma 
forma mais igualitária;
Unidade 09 – Gerência do Processador 24
� Existem diversas filas de processos em estado de
pronto, cada qual com uma prioridade específica;
� Os processos são associados às filas em função de
características próprias.
Tipos de Escalonamento
8. Escalonamento por Múltiplas Filas
Unidade 09 – Gerência do Processador 25
Tipos de Escalonamento
9. Escalonamento por Múltiplas Filas com 
Realimentação
� É semelhante ao escalonamento por múltiplas filas,
porém os processos podem trocar de filas durante
seu processamento;
� O escalonamento de um processo em uma fila
ocorreapenas quando todas as outras filas de
prioridades mais altas estiverem vazias;
� O processo quando criado, entra no final da fila de
maior prioridade, porém a cada preempção por
tempo, o processo é redirecionado para uma fila de
menor prioridade;
Unidade 09 – Gerência do Processador 26
Tipos de Escalonamento
9. Escalonamento por Múltiplas Filas com 
Realimentação
Unidade 09 – Gerência do Processador 27
Conclusão
� O escalonamento da CPU é a tarefa de selecionar
um processo em espera na fila e alocar a CPU para
ele;
� Os diferentes tipos de escalonadores podem ser
implementados de forma isolada ou em conjunto
para obter um melhor desempenho do sistema;
� Os sistemas operacionais que dão suporte a
threads no nível de kernel devem alocar threads –
e não processos – para execução;

Outros materiais