SlideShare uma empresa Scribd logo
SISTEMAS OPERACIONAIS
ATSLANDS ROCHA
ESCALONAMENTO DE
PROCESSOS
2
ESCALONADOR DE CPU
 Seleciona qual processo da fila de PRONTO vai
ser executado;
 Dois esquemas de escalonamentos:
 Não-preemptivo
O processo é alocado pela CPU e depois
passa para o estado de pronto ou é
terminado.
 Preemptivo
Interrompe a execução do processo para que
outro possa executar.
3
ALGORITMOS DE ESCALONAMENTO
CARACTERÍSTICAS
 A seleção de um algoritmo de escalonamento
envolve:
 1) Utilização da CPU
 A CPU deverá ficar ocupada o máximo
possível;
 2) Número de processos completados por unidade de
tempo
Se a CPU estiver ocupada, o trabalho está
sendo feito.
4
ALGORITMOS DE ESCALONAMENTO
CARACTERÍSTICAS
 A seleção de um algoritmo de escalonamento
envolve:
 3 ) Tempo de retorno: intervalo entre a submissão do
processo até ele concluir
Incluindo o tempo de espera para acessar
memória, execução na CPU e operações de I/
O.
 4) Tempo de espera: soma dos períodos gastos
esperando na fila de prontos.
 5) Tempo de resposta: intervalo de submissão do
processo até a resposta.
5
ALGORITMOS DE ESCALONAMENTO
CARACTERÍSTICAS
 Com o algoritmo selecionado espera-se:
 Maximizar a utilização de CPU;
 Minimizar o tempo de retorno, espera e resposta
(otimizar a média).
6
ESCALONAMENTO
FCFS: FIRST-COME, FIRST
SERVED
 Quem solicita primeiro a CPU, recebe-a primeiro;
 Gerenciada por uma fila FIFO (primeiro que
entra, primeiro que sai);
 Algoritmo mais simples;
 Tempo médio de ESPERA pode ser longo.
7
ESCALONAMENTO
FCFS: FIRST-COME, FIRST
SERVED
 Ex: P1 ->24 ms
P2 -> 3 ms
P3 -> 3 ms
P1 P2 P3
0 24 27 30
8
ESCALONAMENTO
FCFS: FIRST-COME, FIRST
SERVED
 Tempo de espera:
P1 -> 0 ms
P2 -> 24ms (0ms + 24ms)
P3 -> 27 ms (24ms + 3ms)
 Tempo de espera médio: 17ms (0 + 24 + 27)/3
P1 P2 P3
0 24 27 30
9
ESCALONAMENTO
FCFS: FIRST-COME, FIRST
SERVED
 Pode deixar a CPU e dispositivos I/O ociosos;
 Não-preemptivo;
 Problemático em sistemas de tempos
compartilhado, onde deseja-se suprir vários
usuários.
10
ALGORITMO DE
ESCALONAMENTO
SJF: JOB MAIS CURTO
 Associa a cada processo a duração de seu próximo
surto de CPU;
 A CPU é atribuída ao processo que tem o menor
próximo surto de CPU;
 Surtos iguais, usa-se FCFS para desempate.
11
ALGORITMO DE
ESCALONAMENTO
SJF: JOB MAIS CURTO
 Ex: P1 -> 6ms
P2-> 8ms
P3-> 7ms
P4-> 3ms
P4 P1 P3 P2
0 3 9 16 24
12
ALGORITMO DE
ESCALONAMENTO
SJF: JOB MAIS CURTO
 Tempo de espera:
P1 -> 3 ms
P2 -> 16ms
P3 -> 9 ms
P4 -> 0 ms
 Tempo espera médio - 7ms (FCFS seria 10,25 ms)
P4 P1 P3 P2
0 3 9 16 24
13
ALGORITMO DE
ESCALONAMENTO
SJF: JOB MAIS CURTO
 Escalonamento ótimo
 Fornece o tempo médio de espera mínimo!
 Dificuldade: conhecer a duração do próximo surto
(pedido) de CPU!
14
ALGORITMO DE
ESCALONAMENTO
SJF: JOB MAIS CURTO
 Quando um processo chega na fila de prontos e
outro ainda está em execução:
 SJF Não-preemptivo: permite que o processo em
execução termine seu surto de CPU;
 SJF Preemptivo: Se o processo tiver o próximo surto
menor do que o resto do processo que está
executando, este será interrompido.
15
ESCALONAMENTO
SJF: JOB MAIS CURTO
PREEMPTIVO
 Exemplo:
 Processo Instante Chegada Duração Surto
P1 0 8
P2 1 4
P3 2 9
P4 3 5
P1 P2 P4 P1
0 1 5 10 17 26
P3
16
ESCALONAMENTO
SJF: JOB MAIS CURTO
PREEMPTIVO
 Tempo de espera médio Preemptivo: 6,5 ms
 Tempo de espera médio SJF Não-preemptivo seria
7,75 ms
P1 P2 P4 P1
0 1 5 10 17 26
P3
17
ESCALONAMENTO
ESCALONAMENTO POR
PRIORIDADES
 CPU é alocada ao processo com prioridade mais
alta;
 Processo com prioridades iguais são escalonadas
na ordem FCFS.
18
ESCALONAMENTO
ESCALONAMENTO POR
PRIORIDADES
 Exemplo:
P1 -> 10ms com Pri = 3
P2 -> 1 ms com Pri = 1
P3 -> 2 ms com Pri = 4
P4 -> 1ms com Pri = 5
P5 -> 5 ms com Pri = 2
*0 é a maior prioridade!
P2 P5 P1 P3
0 1 6 16 18 19
P4
19
ESCALONAMENTO
ESCALONAMENTO POR
PRIORIDADES
 Tempo de espera médio - 8,2 ms
P2 P5 P1 P3
0 1 6 16 18 19
P4
20
ESCALONAMENTO
ESCALONAMENTO POR
PRIORIDADES
 Preemptivo ou Não-preemptivo
 Quando um processo chega na fila de prontos, sua
prioridade é comparada com a do processo em
execução;
 Não-Preemptivo: Coloca o processo no topo da fila de
pronto;
 Preemptivo: Se a prioridade for maior, o algoritmo
interrompe o processo atual.
21
ESCALONAMENTO
ESCALONAMENTO POR
PRIORIDADES
 Problema: Bloqueio por tempo indefinido
 Alguns processos de baixa prioridade podem esperar
indefinidamente pela CPU.
Ou ele pode ser executado às “2h da manhã
de domingo” ou é perdido em eventuais
falhas do sistema.
 Solução: Envelhecimento
 Exemplo: A cada 15min os processos em espera
sobem 1 ponto na prioridade.
22
ALGORITMO DE ESCALONAMENTO
ROUND-ROBIN (RR)
 Semelhante ao FCFS, mas é PREEMPTIVO;
 Utilização de quantum (fatia de tempo);
 Geralmente, o tempo de espera médio é longo;
 Revezamento circular
 A fila de prontos é tratada como uma fila circular!
23
ALGORITMO DE ESCALONAMENTO
ROUND-ROBIN (RR)
 A fila de prontos é FIFO (First In, First Out);
 Escalonador percorre a fila de pronto e aloca a
CPU a cada processo por um quantum
 Surto de CPU do processo > quantum
Tempo esgota e causa-se uma interrupção.
Há troca de contexto e um novo processo
executa
 Surto de CPU do processo < quantum
CPU é liberada e o próximo da fila executa
24
ALGORITMO DE ESCALONAMENTO
ROUND-ROBIN (RR)
 Ex: P1-> 24 ms
P2-> 3 ms
P3-> 3 ms
Quantum = 4 ms
P1 P2 P3 P1
0 4 7 10 14 18 22 26 30
P1 P1 P1 P1
25
ALGORITMO DE ESCALONAMENTO
ROUND-ROBIN (RR)
 Tempo médio de espera: 5,66
 Nenhum processo recebe quantas* consecutivos (a não ser
que seja o único processo pronto)
* Quantas = plural de quantum
P1 P2 P3 P1
0 4 7 10 14 18 22 26 30
P1 P1 P1 P1
26
ALGORITMO DE ESCALONAMENTO
ROUND-ROBIN (RR)
 DEPENDE do tamanho do quantum
 Se for muito grande, será como o FCFS;
 Se for muito pequeno (Ex: 1 μs), terá muitas trocas de
contextos (desperdício de recursos);
 Regra geral: 80% dos surtos de CPU dos processos deve
ser menor que o quantum.
27
ALGORITMO DE ESCALONAMENTO
ROUND-ROBIN (RR)
0 1 2 3 4 5 6 7 8 9 10
P5 P1
0 6 10
0 10
Quantum = 12 Troca Contexto =0
Quantum = 6 Troca Contexto =1
Quantum = 1
Troca Contexto = 9
ALGORITMO DE ESCALONAMENTO
APLICAÇÕES
 Sistemas em Lote
 Job mais curto primeiro.
 Sistemas Interativos
 Round Robin;
 Classes de prioridades.(?!)
29
ALGORITMO DE ESCALONAMENTO
 Há outra classe de algoritmos para processos
agrupados
 Exemplo de grupos:
Processos de primeiro plano (interativos) e
de segundo plano (batch).
 Os grupos têm diferentes requisitos de tempo de
resposta e prioridades e podem ter necessidades
diferentes de escalonamento.
30
ALGORITMOS DE ESCALONAMENTO
ESCALONAMENTO POR MÚLTIPLAS
FILAS
 Divide a fila de processos PRONTOS em várias
filas separadas;
 Os processos são atribuídos a uma fila com base
em um filtro (tamanho da memória, prioridade,
tipo, etc);
 Os processos não passam de uma fila para outra
 Vantagem: baixo custo de escalonamento;
 Desvantagem: Inflexível.
31
ALGORITMOS DE ESCALONAMENTO
ESCALONAMENTO POR MÚLTIPLAS
FILAS
 Cada fila tem seu próprio algoritmo de
escalonamento
 Ex: Uma fila pode ser escalonada por um algoritmo
RR e outra por FCFS.
 Há escalonamento entre as filas
 Geralmente há escalonamento preemptivo de
prioridade fixa.
Ex: A fila de primeiro plano tem prioridade
absoluta sobre a fila de segundo plano.
32
ALGORITMOS DE ESCALONAMENTO
ESCALONAMENTO POR MÚLTIPLAS
FILAS
Processos interativos
Processos de edição interativa
Processos em batch
Processos secundários
Processos do sistema
Prioridade mais alta
Prioridade mais baixa
33
ALGORITMOS DE ESCALONAMENTO
ESCALONAMENTO POR MÚLTIPLAS
FILAS
 Exemplo:
 Nenhum processo da fila de edição interativa pode
executar a menos que as filas de processos do sistema
e processos interativos estejam vazias;
 Se um processo de interativo entrasse na fila de
prontos enquanto um processo de edição interativa
estiver executando, este é interrompido.
34
ALGORITMOS DE ESCALONAMENTO
ESCALONAMENTO POR MÚLTIPLAS
FILAS
 Há a possibilidade de dividir o tempo entre as
filas
 Cada fila obtém uma parte do tempo de CPU, que
pode ser escalonado entre os vários processos da fila.
Ex: A fila de primeiro plano pode receber
80% da CPU para escalonamento RR entre
seus processos e a fila de segundo plano
recebe 20% para escalonamento FCFS.
35
ALGORITMOS DE ESCALONAMENTO
MÚLTIPLAS FILAS COM
REALIMENTAÇÃO
 Processo pode se mover entre as filas;
 Mais complexo;
 Separa-se os processos com diferentes
características de surto de CPU;
 Se um processo usar tempo de CPU excessivo, é
movido para uma fila de menor prioridade.
36
ALGORITMOS DE ESCALONAMENTO
MÚLTIPLAS FILAS COM
REALIMENTAÇÃO
 Assim, processos de E/S e interativos ficam nas
filas de prioridades mais altas;
 Um processo que espera demais em uma fila de
baixa prioridade pode ser passado para um fila
de maior prioridade;
 Forma de envelhecimento que evita estagnação.
37
ALGORITMOS DE ESCALONAMENTO
MÚLTIPLAS FILAS COM
REALIMENTAÇÃO
Quantum = 16
FCFS
Quantum = 8
38
ALGORITMOS DE ESCALONAMENTO
MÚLTIPLAS FILAS COM
REALIMENTAÇÃO
 Exemplo:
 Um processo entra na fila de prontos e é colocado na
fila 0 (quantum = 8);
 Se não terminar dentro de 8 ms, ele é colocado na fila
1 (quantum = 16);
 Se não completar em 16 ms, é colocado na fila 2;
 A fila 2 funciona de modo FCFS, quando as filas 1 e 2
estiverem vazias.
39
ALGORITMOS DE ESCALONAMENTO
MÚLTIPLAS FILAS COM
REALIMENTAÇÃO
 Exemplo (cont.):
 Assim, processos de surto de 8 ms (ou menos) têm
prioridades mais altas;
 Processos de surto entre 9 e 24 ms também são
atendidos rapidamente (com menor prioridade dos de
8 ms ou menos);
 Processos mais longos caem para fila 2 (FCFS).
40
ALGORITMOS DE ESCALONAMENTO
MÚLTIPLAS FILAS COM
REALIMENTAÇÃO
 Geralmente definido pelos parâmetros:
 Número de filas;
 Algoritmo de escalonamento para cada fila;
 Método para promover um processo para outra fila;
 Método para rebaixar um processo para outra fila;
 Método para selecionar uma fila para um processo.
41
ALGORITMOS DE ESCALONAMENTO
MÚLTIPLOS PROCESSADORES
 Várias CPUs disponíveis, o problema do
escalonamento é mais complexo;
 Utilização de processadores idênticos em termos
de funcionalidade;
 Qualquer processador disponível pode executar
qualquer processo pronto;
 Se for usado uma fila para cada processador, um
processador pode estar ocioso, enquanto outro
está sobrecarregado.
42
ALGORITMOS DE ESCALONAMENTO
MÚLTIPLOS PROCESSADORES
 Solução: Somente uma fila de prontos para todos
os processadores.
 Processos escalonados para qualquer processador
disponível.
 Duas abordagens:
Multiprocessamento simétrico;
Multiprocessamento assimétrico.
43
ALGORITMOS DE ESCALONAMENTO
MÚLTIPLOS PROCESSADORES
 Multiprocessamento simétrico
 Cada processador tem seu escalonamento (seleciona o
processo para executar);
 Deve haver garantia que os processadores não
escolherão o mesmo processo;
 Não deve haver perda de processos na fila.
44
ALGORITMOS DE ESCALONAMENTO
MÚLTIPLOS PROCESSADORES
 Multiprocessamento assimétrico
 Todas as decisões de escalonamento e processamento
de I/O são tratadas por um processador mestre;
 Mais simples.
45
ALGORITMOS DE ESCALONAMENTO
 Escalonamento de tempo real (não-crítico)
 Tempo real não-crítico: processos devem receber
prioridades mais altas que outros processos;
 A prioridade de processos de tempo real não deve
“envelhecer”;
 Desvantagem: Pode causar alocação injusta de
recursos ou resultar na paralisação de outros
processos.
DÚVIDAS?!

Mais conteúdo relacionado

Mais procurados

Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Leinylson Fontinele
 
Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1Cristiano Pires Martins
 
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Leinylson Fontinele
 
Sistemas Operacionais - Aula 9 (Gerencia do Processador)
Sistemas Operacionais - Aula 9 (Gerencia do Processador)Sistemas Operacionais - Aula 9 (Gerencia do Processador)
Sistemas Operacionais - Aula 9 (Gerencia do Processador)
Leinylson Fontinele
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
vini_campos
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
Evandro Júnior
 
Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04
thomasdacosta
 
Dispositivos progamaveis - memórias
Dispositivos progamaveis - memórias Dispositivos progamaveis - memórias
Dispositivos progamaveis - memórias
Alexandre Ferreira
 
Hierarquia de memória
Hierarquia de memóriaHierarquia de memória
Hierarquia de memóriaPAULO Moreira
 
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Leinylson Fontinele
 
Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesaPacc UAB
 
Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no Windows
Fee Kosta
 
Aula sobre Linux.
Aula sobre Linux. Aula sobre Linux.
Aula sobre Linux.
Armando Rivarola
 
Pipeline Técnica de processadores.
Pipeline Técnica de processadores.Pipeline Técnica de processadores.
Pipeline Técnica de processadores.
Cleber Ramos
 
Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Faculdade Mater Christi
 
Arquitetura de um computador
Arquitetura de um computadorArquitetura de um computador
Arquitetura de um computador
Filipe Duarte
 
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Leinylson Fontinele
 
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Leinylson Fontinele
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)
Leinylson Fontinele
 

Mais procurados (20)

Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
 
Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1
 
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)
 
Sistemas Operacionais - Aula 9 (Gerencia do Processador)
Sistemas Operacionais - Aula 9 (Gerencia do Processador)Sistemas Operacionais - Aula 9 (Gerencia do Processador)
Sistemas Operacionais - Aula 9 (Gerencia do Processador)
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Introdução a computação
Introdução a computaçãoIntrodução a computação
Introdução a computação
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04
 
Dispositivos progamaveis - memórias
Dispositivos progamaveis - memórias Dispositivos progamaveis - memórias
Dispositivos progamaveis - memórias
 
Hierarquia de memória
Hierarquia de memóriaHierarquia de memória
Hierarquia de memória
 
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)Sistemas Operacionais - Aula 06 (Estrutura do S.O)
Sistemas Operacionais - Aula 06 (Estrutura do S.O)
 
Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesa
 
Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no Windows
 
Aula sobre Linux.
Aula sobre Linux. Aula sobre Linux.
Aula sobre Linux.
 
Pipeline Técnica de processadores.
Pipeline Técnica de processadores.Pipeline Técnica de processadores.
Pipeline Técnica de processadores.
 
Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)
 
Arquitetura de um computador
Arquitetura de um computadorArquitetura de um computador
Arquitetura de um computador
 
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
 
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
Sistemas Operacionais - Aula 03 (Conceitos de hardware e software)
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)
 

Destaque

curso operador de Micro - Windows xp
curso operador de Micro - Windows xp curso operador de Micro - Windows xp
curso operador de Micro - Windows xp Joao C F
 
Algoritmo de escalonamento Fuzzy Round Robin
Algoritmo de escalonamento Fuzzy Round RobinAlgoritmo de escalonamento Fuzzy Round Robin
Algoritmo de escalonamento Fuzzy Round Robin
Marcos Castro
 
Resumo sistemas operativos - joao marques
Resumo   sistemas operativos - joao marquesResumo   sistemas operativos - joao marques
Resumo sistemas operativos - joao marques
djoaquim7
 
Unix - Sistema Operacional
Unix - Sistema OperacionalUnix - Sistema Operacional
Unix - Sistema Operacional
Prof Anderson Favaro
 
Versões Windows e Gerenciamento de Usuários
Versões Windows e Gerenciamento de UsuáriosVersões Windows e Gerenciamento de Usuários
Versões Windows e Gerenciamento de UsuáriosVirgínia
 
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de OliveiraSistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Wellington Oliveira
 
5 - Padrões de Herança
5 - Padrões de Herança5 - Padrões de Herança
5 - Padrões de Herança
Rodrigo Vianna
 
Sistema Operacional Windows Xp
Sistema Operacional Windows XpSistema Operacional Windows Xp
Sistema Operacional Windows XpSOL RIBEIRO
 

Destaque (8)

curso operador de Micro - Windows xp
curso operador de Micro - Windows xp curso operador de Micro - Windows xp
curso operador de Micro - Windows xp
 
Algoritmo de escalonamento Fuzzy Round Robin
Algoritmo de escalonamento Fuzzy Round RobinAlgoritmo de escalonamento Fuzzy Round Robin
Algoritmo de escalonamento Fuzzy Round Robin
 
Resumo sistemas operativos - joao marques
Resumo   sistemas operativos - joao marquesResumo   sistemas operativos - joao marques
Resumo sistemas operativos - joao marques
 
Unix - Sistema Operacional
Unix - Sistema OperacionalUnix - Sistema Operacional
Unix - Sistema Operacional
 
Versões Windows e Gerenciamento de Usuários
Versões Windows e Gerenciamento de UsuáriosVersões Windows e Gerenciamento de Usuários
Versões Windows e Gerenciamento de Usuários
 
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de OliveiraSistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
 
5 - Padrões de Herança
5 - Padrões de Herança5 - Padrões de Herança
5 - Padrões de Herança
 
Sistema Operacional Windows Xp
Sistema Operacional Windows XpSistema Operacional Windows Xp
Sistema Operacional Windows Xp
 

Semelhante a 3 escalonamento processos

ProcessosEscalonamento.pdf
ProcessosEscalonamento.pdfProcessosEscalonamento.pdf
ProcessosEscalonamento.pdf
ssuser1d8ddd
 
Aula3 escalonamento
Aula3 escalonamentoAula3 escalonamento
Aula3 escalonamentoBruno Rick
 
Gerencia de processo by "slideplayer.com.br"
Gerencia de processo by "slideplayer.com.br"Gerencia de processo by "slideplayer.com.br"
Gerencia de processo by "slideplayer.com.br"
Erickson Carvalho Vaz
 
Escalonamento srtf
Escalonamento srtfEscalonamento srtf
Escalonamento srtf
Edquel B. Prado Farias
 
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdfSO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
Silvano Oliveira
 
(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05
Norton Trevisan Roman
 
Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdfAula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
MatheusNS1
 
So gabarito exerciciosescalonamentocpu-2012
So gabarito exerciciosescalonamentocpu-2012So gabarito exerciciosescalonamentocpu-2012
So gabarito exerciciosescalonamentocpu-2012
Bill Lima
 
Questionário sobre processos
Questionário sobre processosQuestionário sobre processos
Questionário sobre processos
Francisco Soares Lima Filho
 
Regiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas OperacionaisRegiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas Operacionais
Abadia Cardoso
 
Escalonamento
EscalonamentoEscalonamento
Escalonamento
Vanessa Finoto
 
Process aware interrupt scheduling and accounting
Process aware interrupt scheduling and accountingProcess aware interrupt scheduling and accounting
Process aware interrupt scheduling and accounting
Gustavo Carvalho
 
Estudo sistemas operacionais p2
Estudo sistemas operacionais  p2Estudo sistemas operacionais  p2
Estudo sistemas operacionais p2Gustavo Souza
 
Escalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SPEscalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SP
Rafael Moreira
 
(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07
Norton Trevisan Roman
 
Apresentação Sobre Sistemas Operacionais com Orbis OS
Apresentação Sobre Sistemas Operacionais com Orbis OSApresentação Sobre Sistemas Operacionais com Orbis OS
Apresentação Sobre Sistemas Operacionais com Orbis OS
LucasNogueira565696
 

Semelhante a 3 escalonamento processos (20)

ProcessosEscalonamento.pdf
ProcessosEscalonamento.pdfProcessosEscalonamento.pdf
ProcessosEscalonamento.pdf
 
Aula3 escalonamento
Aula3 escalonamentoAula3 escalonamento
Aula3 escalonamento
 
Gerencia de processo by "slideplayer.com.br"
Gerencia de processo by "slideplayer.com.br"Gerencia de processo by "slideplayer.com.br"
Gerencia de processo by "slideplayer.com.br"
 
Escalonamento srtf
Escalonamento srtfEscalonamento srtf
Escalonamento srtf
 
Prova1d
Prova1dProva1d
Prova1d
 
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdfSO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
 
(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05
 
Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdfAula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
Aula 8 - Organização Lógica e Funcional de um Processador (Parte 2).pdf
 
So gabarito exerciciosescalonamentocpu-2012
So gabarito exerciciosescalonamentocpu-2012So gabarito exerciciosescalonamentocpu-2012
So gabarito exerciciosescalonamentocpu-2012
 
Sistemas operacionais 04
Sistemas operacionais   04Sistemas operacionais   04
Sistemas operacionais 04
 
Questionário sobre processos
Questionário sobre processosQuestionário sobre processos
Questionário sobre processos
 
Regiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas OperacionaisRegiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas Operacionais
 
Escalonamento
EscalonamentoEscalonamento
Escalonamento
 
Process aware interrupt scheduling and accounting
Process aware interrupt scheduling and accountingProcess aware interrupt scheduling and accounting
Process aware interrupt scheduling and accounting
 
Processador mips - pipeline
Processador mips - pipelineProcessador mips - pipeline
Processador mips - pipeline
 
Estudo sistemas operacionais p2
Estudo sistemas operacionais  p2Estudo sistemas operacionais  p2
Estudo sistemas operacionais p2
 
Escalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SPEscalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SP
 
(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07
 
Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
 
Apresentação Sobre Sistemas Operacionais com Orbis OS
Apresentação Sobre Sistemas Operacionais com Orbis OSApresentação Sobre Sistemas Operacionais com Orbis OS
Apresentação Sobre Sistemas Operacionais com Orbis OS
 

3 escalonamento processos

  • 2. 2 ESCALONADOR DE CPU  Seleciona qual processo da fila de PRONTO vai ser executado;  Dois esquemas de escalonamentos:  Não-preemptivo O processo é alocado pela CPU e depois passa para o estado de pronto ou é terminado.  Preemptivo Interrompe a execução do processo para que outro possa executar.
  • 3. 3 ALGORITMOS DE ESCALONAMENTO CARACTERÍSTICAS  A seleção de um algoritmo de escalonamento envolve:  1) Utilização da CPU  A CPU deverá ficar ocupada o máximo possível;  2) Número de processos completados por unidade de tempo Se a CPU estiver ocupada, o trabalho está sendo feito.
  • 4. 4 ALGORITMOS DE ESCALONAMENTO CARACTERÍSTICAS  A seleção de um algoritmo de escalonamento envolve:  3 ) Tempo de retorno: intervalo entre a submissão do processo até ele concluir Incluindo o tempo de espera para acessar memória, execução na CPU e operações de I/ O.  4) Tempo de espera: soma dos períodos gastos esperando na fila de prontos.  5) Tempo de resposta: intervalo de submissão do processo até a resposta.
  • 5. 5 ALGORITMOS DE ESCALONAMENTO CARACTERÍSTICAS  Com o algoritmo selecionado espera-se:  Maximizar a utilização de CPU;  Minimizar o tempo de retorno, espera e resposta (otimizar a média).
  • 6. 6 ESCALONAMENTO FCFS: FIRST-COME, FIRST SERVED  Quem solicita primeiro a CPU, recebe-a primeiro;  Gerenciada por uma fila FIFO (primeiro que entra, primeiro que sai);  Algoritmo mais simples;  Tempo médio de ESPERA pode ser longo.
  • 7. 7 ESCALONAMENTO FCFS: FIRST-COME, FIRST SERVED  Ex: P1 ->24 ms P2 -> 3 ms P3 -> 3 ms P1 P2 P3 0 24 27 30
  • 8. 8 ESCALONAMENTO FCFS: FIRST-COME, FIRST SERVED  Tempo de espera: P1 -> 0 ms P2 -> 24ms (0ms + 24ms) P3 -> 27 ms (24ms + 3ms)  Tempo de espera médio: 17ms (0 + 24 + 27)/3 P1 P2 P3 0 24 27 30
  • 9. 9 ESCALONAMENTO FCFS: FIRST-COME, FIRST SERVED  Pode deixar a CPU e dispositivos I/O ociosos;  Não-preemptivo;  Problemático em sistemas de tempos compartilhado, onde deseja-se suprir vários usuários.
  • 10. 10 ALGORITMO DE ESCALONAMENTO SJF: JOB MAIS CURTO  Associa a cada processo a duração de seu próximo surto de CPU;  A CPU é atribuída ao processo que tem o menor próximo surto de CPU;  Surtos iguais, usa-se FCFS para desempate.
  • 11. 11 ALGORITMO DE ESCALONAMENTO SJF: JOB MAIS CURTO  Ex: P1 -> 6ms P2-> 8ms P3-> 7ms P4-> 3ms P4 P1 P3 P2 0 3 9 16 24
  • 12. 12 ALGORITMO DE ESCALONAMENTO SJF: JOB MAIS CURTO  Tempo de espera: P1 -> 3 ms P2 -> 16ms P3 -> 9 ms P4 -> 0 ms  Tempo espera médio - 7ms (FCFS seria 10,25 ms) P4 P1 P3 P2 0 3 9 16 24
  • 13. 13 ALGORITMO DE ESCALONAMENTO SJF: JOB MAIS CURTO  Escalonamento ótimo  Fornece o tempo médio de espera mínimo!  Dificuldade: conhecer a duração do próximo surto (pedido) de CPU!
  • 14. 14 ALGORITMO DE ESCALONAMENTO SJF: JOB MAIS CURTO  Quando um processo chega na fila de prontos e outro ainda está em execução:  SJF Não-preemptivo: permite que o processo em execução termine seu surto de CPU;  SJF Preemptivo: Se o processo tiver o próximo surto menor do que o resto do processo que está executando, este será interrompido.
  • 15. 15 ESCALONAMENTO SJF: JOB MAIS CURTO PREEMPTIVO  Exemplo:  Processo Instante Chegada Duração Surto P1 0 8 P2 1 4 P3 2 9 P4 3 5 P1 P2 P4 P1 0 1 5 10 17 26 P3
  • 16. 16 ESCALONAMENTO SJF: JOB MAIS CURTO PREEMPTIVO  Tempo de espera médio Preemptivo: 6,5 ms  Tempo de espera médio SJF Não-preemptivo seria 7,75 ms P1 P2 P4 P1 0 1 5 10 17 26 P3
  • 17. 17 ESCALONAMENTO ESCALONAMENTO POR PRIORIDADES  CPU é alocada ao processo com prioridade mais alta;  Processo com prioridades iguais são escalonadas na ordem FCFS.
  • 18. 18 ESCALONAMENTO ESCALONAMENTO POR PRIORIDADES  Exemplo: P1 -> 10ms com Pri = 3 P2 -> 1 ms com Pri = 1 P3 -> 2 ms com Pri = 4 P4 -> 1ms com Pri = 5 P5 -> 5 ms com Pri = 2 *0 é a maior prioridade! P2 P5 P1 P3 0 1 6 16 18 19 P4
  • 19. 19 ESCALONAMENTO ESCALONAMENTO POR PRIORIDADES  Tempo de espera médio - 8,2 ms P2 P5 P1 P3 0 1 6 16 18 19 P4
  • 20. 20 ESCALONAMENTO ESCALONAMENTO POR PRIORIDADES  Preemptivo ou Não-preemptivo  Quando um processo chega na fila de prontos, sua prioridade é comparada com a do processo em execução;  Não-Preemptivo: Coloca o processo no topo da fila de pronto;  Preemptivo: Se a prioridade for maior, o algoritmo interrompe o processo atual.
  • 21. 21 ESCALONAMENTO ESCALONAMENTO POR PRIORIDADES  Problema: Bloqueio por tempo indefinido  Alguns processos de baixa prioridade podem esperar indefinidamente pela CPU. Ou ele pode ser executado às “2h da manhã de domingo” ou é perdido em eventuais falhas do sistema.  Solução: Envelhecimento  Exemplo: A cada 15min os processos em espera sobem 1 ponto na prioridade.
  • 22. 22 ALGORITMO DE ESCALONAMENTO ROUND-ROBIN (RR)  Semelhante ao FCFS, mas é PREEMPTIVO;  Utilização de quantum (fatia de tempo);  Geralmente, o tempo de espera médio é longo;  Revezamento circular  A fila de prontos é tratada como uma fila circular!
  • 23. 23 ALGORITMO DE ESCALONAMENTO ROUND-ROBIN (RR)  A fila de prontos é FIFO (First In, First Out);  Escalonador percorre a fila de pronto e aloca a CPU a cada processo por um quantum  Surto de CPU do processo > quantum Tempo esgota e causa-se uma interrupção. Há troca de contexto e um novo processo executa  Surto de CPU do processo < quantum CPU é liberada e o próximo da fila executa
  • 24. 24 ALGORITMO DE ESCALONAMENTO ROUND-ROBIN (RR)  Ex: P1-> 24 ms P2-> 3 ms P3-> 3 ms Quantum = 4 ms P1 P2 P3 P1 0 4 7 10 14 18 22 26 30 P1 P1 P1 P1
  • 25. 25 ALGORITMO DE ESCALONAMENTO ROUND-ROBIN (RR)  Tempo médio de espera: 5,66  Nenhum processo recebe quantas* consecutivos (a não ser que seja o único processo pronto) * Quantas = plural de quantum P1 P2 P3 P1 0 4 7 10 14 18 22 26 30 P1 P1 P1 P1
  • 26. 26 ALGORITMO DE ESCALONAMENTO ROUND-ROBIN (RR)  DEPENDE do tamanho do quantum  Se for muito grande, será como o FCFS;  Se for muito pequeno (Ex: 1 μs), terá muitas trocas de contextos (desperdício de recursos);  Regra geral: 80% dos surtos de CPU dos processos deve ser menor que o quantum.
  • 27. 27 ALGORITMO DE ESCALONAMENTO ROUND-ROBIN (RR) 0 1 2 3 4 5 6 7 8 9 10 P5 P1 0 6 10 0 10 Quantum = 12 Troca Contexto =0 Quantum = 6 Troca Contexto =1 Quantum = 1 Troca Contexto = 9
  • 28. ALGORITMO DE ESCALONAMENTO APLICAÇÕES  Sistemas em Lote  Job mais curto primeiro.  Sistemas Interativos  Round Robin;  Classes de prioridades.(?!)
  • 29. 29 ALGORITMO DE ESCALONAMENTO  Há outra classe de algoritmos para processos agrupados  Exemplo de grupos: Processos de primeiro plano (interativos) e de segundo plano (batch).  Os grupos têm diferentes requisitos de tempo de resposta e prioridades e podem ter necessidades diferentes de escalonamento.
  • 30. 30 ALGORITMOS DE ESCALONAMENTO ESCALONAMENTO POR MÚLTIPLAS FILAS  Divide a fila de processos PRONTOS em várias filas separadas;  Os processos são atribuídos a uma fila com base em um filtro (tamanho da memória, prioridade, tipo, etc);  Os processos não passam de uma fila para outra  Vantagem: baixo custo de escalonamento;  Desvantagem: Inflexível.
  • 31. 31 ALGORITMOS DE ESCALONAMENTO ESCALONAMENTO POR MÚLTIPLAS FILAS  Cada fila tem seu próprio algoritmo de escalonamento  Ex: Uma fila pode ser escalonada por um algoritmo RR e outra por FCFS.  Há escalonamento entre as filas  Geralmente há escalonamento preemptivo de prioridade fixa. Ex: A fila de primeiro plano tem prioridade absoluta sobre a fila de segundo plano.
  • 32. 32 ALGORITMOS DE ESCALONAMENTO ESCALONAMENTO POR MÚLTIPLAS FILAS Processos interativos Processos de edição interativa Processos em batch Processos secundários Processos do sistema Prioridade mais alta Prioridade mais baixa
  • 33. 33 ALGORITMOS DE ESCALONAMENTO ESCALONAMENTO POR MÚLTIPLAS FILAS  Exemplo:  Nenhum processo da fila de edição interativa pode executar a menos que as filas de processos do sistema e processos interativos estejam vazias;  Se um processo de interativo entrasse na fila de prontos enquanto um processo de edição interativa estiver executando, este é interrompido.
  • 34. 34 ALGORITMOS DE ESCALONAMENTO ESCALONAMENTO POR MÚLTIPLAS FILAS  Há a possibilidade de dividir o tempo entre as filas  Cada fila obtém uma parte do tempo de CPU, que pode ser escalonado entre os vários processos da fila. Ex: A fila de primeiro plano pode receber 80% da CPU para escalonamento RR entre seus processos e a fila de segundo plano recebe 20% para escalonamento FCFS.
  • 35. 35 ALGORITMOS DE ESCALONAMENTO MÚLTIPLAS FILAS COM REALIMENTAÇÃO  Processo pode se mover entre as filas;  Mais complexo;  Separa-se os processos com diferentes características de surto de CPU;  Se um processo usar tempo de CPU excessivo, é movido para uma fila de menor prioridade.
  • 36. 36 ALGORITMOS DE ESCALONAMENTO MÚLTIPLAS FILAS COM REALIMENTAÇÃO  Assim, processos de E/S e interativos ficam nas filas de prioridades mais altas;  Um processo que espera demais em uma fila de baixa prioridade pode ser passado para um fila de maior prioridade;  Forma de envelhecimento que evita estagnação.
  • 37. 37 ALGORITMOS DE ESCALONAMENTO MÚLTIPLAS FILAS COM REALIMENTAÇÃO Quantum = 16 FCFS Quantum = 8
  • 38. 38 ALGORITMOS DE ESCALONAMENTO MÚLTIPLAS FILAS COM REALIMENTAÇÃO  Exemplo:  Um processo entra na fila de prontos e é colocado na fila 0 (quantum = 8);  Se não terminar dentro de 8 ms, ele é colocado na fila 1 (quantum = 16);  Se não completar em 16 ms, é colocado na fila 2;  A fila 2 funciona de modo FCFS, quando as filas 1 e 2 estiverem vazias.
  • 39. 39 ALGORITMOS DE ESCALONAMENTO MÚLTIPLAS FILAS COM REALIMENTAÇÃO  Exemplo (cont.):  Assim, processos de surto de 8 ms (ou menos) têm prioridades mais altas;  Processos de surto entre 9 e 24 ms também são atendidos rapidamente (com menor prioridade dos de 8 ms ou menos);  Processos mais longos caem para fila 2 (FCFS).
  • 40. 40 ALGORITMOS DE ESCALONAMENTO MÚLTIPLAS FILAS COM REALIMENTAÇÃO  Geralmente definido pelos parâmetros:  Número de filas;  Algoritmo de escalonamento para cada fila;  Método para promover um processo para outra fila;  Método para rebaixar um processo para outra fila;  Método para selecionar uma fila para um processo.
  • 41. 41 ALGORITMOS DE ESCALONAMENTO MÚLTIPLOS PROCESSADORES  Várias CPUs disponíveis, o problema do escalonamento é mais complexo;  Utilização de processadores idênticos em termos de funcionalidade;  Qualquer processador disponível pode executar qualquer processo pronto;  Se for usado uma fila para cada processador, um processador pode estar ocioso, enquanto outro está sobrecarregado.
  • 42. 42 ALGORITMOS DE ESCALONAMENTO MÚLTIPLOS PROCESSADORES  Solução: Somente uma fila de prontos para todos os processadores.  Processos escalonados para qualquer processador disponível.  Duas abordagens: Multiprocessamento simétrico; Multiprocessamento assimétrico.
  • 43. 43 ALGORITMOS DE ESCALONAMENTO MÚLTIPLOS PROCESSADORES  Multiprocessamento simétrico  Cada processador tem seu escalonamento (seleciona o processo para executar);  Deve haver garantia que os processadores não escolherão o mesmo processo;  Não deve haver perda de processos na fila.
  • 44. 44 ALGORITMOS DE ESCALONAMENTO MÚLTIPLOS PROCESSADORES  Multiprocessamento assimétrico  Todas as decisões de escalonamento e processamento de I/O são tratadas por um processador mestre;  Mais simples.
  • 45. 45 ALGORITMOS DE ESCALONAMENTO  Escalonamento de tempo real (não-crítico)  Tempo real não-crítico: processos devem receber prioridades mais altas que outros processos;  A prioridade de processos de tempo real não deve “envelhecer”;  Desvantagem: Pode causar alocação injusta de recursos ou resultar na paralisação de outros processos.