SlideShare une entreprise Scribd logo
1  sur  30
Sistemas Operacionais I
Gerências de Processos: Escalonamento
de CPU
Prof. Alexandre Duarte : http://alexandrend.com
Centro de Informática | Universidade Federal da Paraíba
Estes slides são baseados no material que acompanha o livro Operating
Systems Concepts de Silberschatz, Galvin and Gagne
Objetivos
 Introduzir o conceito de escalonamento de
CPU, base para os sistemas operacionais
multiprogramados
 Descrever vários algoritmos de escalonamento
de CPU
 Discutir os critérios de avaliaç ão para
selecionar um algoritmo de escalonamento de
CPU para um determinado sistema
Conceitos básicos
 Utilizaç ão máxima de
CPU é obtida com
multiprogramaç ão
 Ciclos de rajadas de
CPU–E/S
 A execuç ão de um
processo é um ciclo
de rajadas alternadas
de CPU e espera por
E/S
Histograma com as durações dos
picos de CPU
Escalonador de CPU
 Seleciona um entre os processos em memó ria prontos para
executar e aloca a CPU para ele
 O escalonamento de CPU pode ocorrer quando um
processo:
1. muda do estado executando para esperando
2. muda do estado executando para pronto
3. muda do estado esperando para pronto
4. é finalizado
 O escalonamento nas condições 1 e 4 é dito não-premptivo
 Em 2 e 3 é dito preemptivo
Despachante
 O mó dulo despachante transfere o controle da
CPU para o processo selecionado pelo
escalonador de curto prazo, o que envolve:
 trocar contexto
 alterar para o modo usuário
 fazer um salto para o endereç o de memó ria correto
para que o processo seja reiniciado
 Latência de despacho: é o tempo necessário
para o despachante para um processo e reiniciar
um outro
Critérios de escalonamento
 Utilizaç ão de CPU: manter a CPU o mais ocupada possível
 Vazão: # de processos que concluem sua execuç ão por unidade
de tempo
 Tempo de retorno: quantidade necessária de tempo para
executar um processo
 Tempo de espera: quantidade de tempo que um processo
aguardou na fila de prontos
 Tempo de resposta: quantidade de tempo entre a requisiç ão de
execuç ão de um programa e a produç ão da primeira resposta
(sistemas de compartilhamento de tempo)
Critérios de otimização para algoritmos de
escalonamento
 Utilizaç ão máxima de CPU
 Vazão máxima
 Tempo de retorno mínimo
 Tempo de espera mínimo
 Tempo de resposta mínimo
“Primeiro a Entrar, Primeiro a ser Atendido”
(FCFS)
Suponha que os processo cheguem na ordem: P1 , P2 , P3
Seriam escalonados como a seguir
Tempos de espera: P1 = 0; P2 = 24; P3 = 27
Tempo de espera médio: (0 + 24 + 27)/3 = 17
Continuando com o FCFS
Agora, suponha que os processos cheguem na ordem P2 , P3 , P1
O escalonamento seria
 Tempos de espera: P1 = 6;P2 = 0; P3 = 3
 Tempo de espera médio: (6 + 0 + 3)/3 = 3
 Muito melhor que no caso anterior!!!
 “Efeito comboio” atrás de um processo longo!
Menor Job Primeiro (SJF)
 Associa a cada processo a duraç ão do seu
pró ximo pico de CPU
 Usa essas duraç ões para escalonar o
processo com a menor duraç ão de pico de
CPU
 SJF é ó timo: dáo menor tempo médio de
espera para um dado conjunto de processos
 A dificuldade reside em saber qual seráa duraç ão
do pró ximo pico de CPU!
Exemplo do SJF
O SJF escalonaria da seguinte forma:
 Tempo de espera médio = (3 + 16 + 9 + 0) / 4 = 7
Determinando a duração do próximo
pico de CPU
Podemos apenas
estimar a duraç ão!
Uma estratégia é
utilizar a duraç ão dos
picos anteriores e
prever a duraç ão do
pró ximo pico pela
média exponencial:
Escalonamento por prioridade
 Cada processo recebe um nível de prioridade
 A CPU é alocada para o processo com a maior prioridade
(menor valor númerico)
 Preemptivo
 Não-preemptivo
 O SJF é um algoritmo de escalonamento por prioridade onde
a prioridade é a duração do pró ximo pico de CPU
 SJF com preempç ão = SRJF
 Problema ≡ Starvation : processos de baixa prioridade
podem nunca rodar
 Solução ≡ Envelhecimento : a medida que o tempo passa
a prioridade dos processos aumenta
Round Robin (RR)
 Cada processo recebe uma pequena quantidade de tempo
de CPU (quantum), usualmente entre 10 e 100
milissegundos.
 Depois que esse tempo de esgota o processo é interrompido e
inserido no fim da fila de prontos.
 Se existem n processos na fila de prontos e o quantum é q,
então cada processo recebe 1/n do tempo de CPU em
pedaços de tamanho máximo q.
 Nenhum processo espera mais que do que (n-1)q unidades de
tempo
 Desempenho
 q grande ⇒ FIFO
 q pequeno ⇒ q precisa ser grande em relaç ão ao tempo de
troca de contexto, caso contrário o overhead serámuito grande
Exemplo: RR com quantum = 4
 O escalonamento seria
 Geralmente apresenta um tempo de retorno médio
maior do que o do SFJ mas melhor tempo de
resposta
Duração do quantum e trocas de contexto
O tempo de retorno varia com o quantum
Filas de vários níveis
 A fila de prontos é particionada em várias filas
separadas
 Cada fila tem seu pró prio algoritmo de escalonamento
 Processos interativos: RR
 Processos de lote: FCFS
 O escalonamento precisa ser feito também entre as
filas
 Prioridade fixa: escalona todos da primeira fila para depois
passar para a pró xima.
 Possibilidade de haver starvation.
 Fatia de tempo: cada fila recebe uma fatia de tempo da
CPU para dividir entre seus processos
 80% do tempo para processos interativos utilizando RR
 20% para processos de lote utilizando FCFS
Escalonamento com várias filas
Filas com feedback
 Um processo pode mudar de fila
 Forma de implementar envelhecimento
 Escalonador de várias filas com feedback é definido
pelos seguintes parâmetros:
 número de filas
 algoritmo de escalonamento para cada fila
 método para determinar em que fila um processo deve ser
inserido
 método para determinar quando promover um processo
 método para determinar quando rebaixar um processo
Exemplo de escalonamento com
várias filas com feedback
 Três filas
 Q0 – RR com quantum de 8 milissegundos
 Q1 – RR com quantum de 16 milissegundos
 Q2 – FCFS
 Escalonamento
 Um novo job entra na fila Q0 e é servido em ordem FIFO.
Quando ele recebe a CPU, em tem 8 milissegundos. Se
ele não terminar é então movido para a fila Q1.
 Os jobs da fila Q1 também são servidos em ordem FIFO,
recebendo 16 milissegundos adicionais. Se ainda assim
não terminar é movido para a fila Q2.
Exemplo de escalonamento com
várias filas com feedback
Escalonamento de threads
 Distinç ão entre threads do usuário e threads do
núcleo
 Nos modelos muitos-para-um e muitos-para-
muitos a biblioteca de threads escalona threads do
usuário para rodar em LWPs
 Conhecido como escopo de disputa de processo
pois a competição pela CPU ocorre dentro do
processo
 Threads do núcleo são escalonados diretamente
para a CPU, resultando em um escopo de
disputa de sistema uma vez que a competiç ão
envolve todas as threads do sistema
Escalonamento com múltiplos
processadores
 O escalonamento de CPU é mais complexo quando múltiplas CPUs estão
disponíveis
 Processadores homogêneos em um multiprocessador
 Multiprocessamento assimé trico: apenas um processador acessa as
estruturas de dados do sistema, diminuindo a necessidade de
compartilhamento de dados
 Multiprocessamento simé tricos: cada processador faz o seu pró prio
escalonamento
 todos os processos ficam em uma fila de prontos comum
 cada processador pode ter sua pró pria fila de prontos
 Afinidade com o processador: o processo tem afinidade com o
processador no qual ele estáexecutando
 afinidade leve
 afinidade forte
NUMA e escalonamento de CPU
Processadores com múltiplos
núcleos
 A tendência atual é incluir múltiplos núcleos de
processamento em um mesmo chip
 Mais rápido e consome menos energia
 Múltiplas threads por núcleo também é uma
tendência
 Enquanto recupera dados da memó ria para uma
thread (queda de memó ria) aproveita para
executar uma outra
Múltiplos núcleos e múltiplas
threads
Avaliação de algoritmos
 Modelagem determinística: recebe um carga
de trabalha pré-determinada e mede o
desempenho de cada algoritmo para essa
carga de trabalho
 Modelos de filas
 Simulaç ões
 Implementaç ão
Avaliação de algoritmos de escalonamento
através de simulação

Contenu connexe

Tendances

Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisAbnel Junior
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threadsPaulo Fonseca
 
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
 
Gerência de Processos: Processos
Gerência de Processos: ProcessosGerência de Processos: Processos
Gerência de Processos: ProcessosAlexandre Duarte
 
Resumo de S.O.
Resumo de S.O.Resumo de S.O.
Resumo de S.O.dannas_06
 
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 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 OliveiraWellington Oliveira
 
Operating System 3
Operating System 3Operating System 3
Operating System 3tech2click
 
Gestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosGestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosMarvin Romero
 
Processos threads senai
Processos threads senaiProcessos threads senai
Processos threads senaiCarlos Melo
 
Planificación de la CPU
Planificación de la CPUPlanificación de la CPU
Planificación de la CPUFernanda Soto
 
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
 
Silberschatz sistemas operacionais
Silberschatz   sistemas operacionaisSilberschatz   sistemas operacionais
Silberschatz sistemas operacionaisDeryk Sedlak
 

Tendances (20)

Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Cs8493 unit 2
Cs8493 unit 2Cs8493 unit 2
Cs8493 unit 2
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threads
 
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)
 
Gerência de Processos: Processos
Gerência de Processos: ProcessosGerência de Processos: Processos
Gerência de Processos: Processos
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Rtos Concepts
Rtos ConceptsRtos Concepts
Rtos Concepts
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Resumo de S.O.
Resumo de S.O.Resumo de S.O.
Resumo de S.O.
 
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 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
 
Operating System 3
Operating System 3Operating System 3
Operating System 3
 
Gestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosGestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas Operativos
 
Processos threads senai
Processos threads senaiProcessos threads senai
Processos threads senai
 
Storage Management
Storage ManagementStorage Management
Storage Management
 
Planificación de la CPU
Planificación de la CPUPlanificación de la CPU
Planificación de la CPU
 
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
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Silberschatz sistemas operacionais
Silberschatz   sistemas operacionaisSilberschatz   sistemas operacionais
Silberschatz sistemas operacionais
 
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)
 

En vedette

Gerências de Processos: Threads
Gerências de Processos: ThreadsGerências de Processos: Threads
Gerências de Processos: ThreadsAlexandre Duarte
 
Mutexes, Monitores e Semáforos
Mutexes, Monitores e SemáforosMutexes, Monitores e Semáforos
Mutexes, Monitores e SemáforosThiago Poiani
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsEvandro Júnior
 
2009 1 - sistemas operacionais - aula 6 - escalonamento de processos
2009 1 - sistemas operacionais - aula 6 - escalonamento de processos2009 1 - sistemas operacionais - aula 6 - escalonamento de processos
2009 1 - sistemas operacionais - aula 6 - escalonamento de processosComputação Depressão
 
Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: IntroduçãoAlexandre Duarte
 
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicosComputação Depressão
 
Aula3 escalonamento
Aula3 escalonamentoAula3 escalonamento
Aula3 escalonamentoBruno Rick
 
Otimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesOtimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesMauro Duarte
 
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosSeminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosRobson Ferreira
 
Perdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesPerdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesMauro Duarte
 
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosSistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosLuiz Arthur
 
Porque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesPorque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesMauro Duarte
 
As armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesAs armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesMauro Duarte
 
00 apresentação desenvolvimento em redes de computadores
00   apresentação desenvolvimento em redes de computadores00   apresentação desenvolvimento em redes de computadores
00 apresentação desenvolvimento em redes de computadoresMauro Duarte
 
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
01   Desenvolvimento em Redes de Computadores - Comandos Básicos01   Desenvolvimento em Redes de Computadores - Comandos Básicos
01 Desenvolvimento em Redes de Computadores - Comandos BásicosMauro Duarte
 

En vedette (20)

Gerências de Processos: Threads
Gerências de Processos: ThreadsGerências de Processos: Threads
Gerências de Processos: Threads
 
Mutexes, Monitores e Semáforos
Mutexes, Monitores e SemáforosMutexes, Monitores e Semáforos
Mutexes, Monitores e Semáforos
 
Escalonamento de processos
Escalonamento de processosEscalonamento de processos
Escalonamento de processos
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
2009 1 - sistemas operacionais - aula 6 - escalonamento de processos
2009 1 - sistemas operacionais - aula 6 - escalonamento de processos2009 1 - sistemas operacionais - aula 6 - escalonamento de processos
2009 1 - sistemas operacionais - aula 6 - escalonamento de processos
 
Gabarito ano2004
Gabarito ano2004Gabarito ano2004
Gabarito ano2004
 
Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: Introdução
 
Pseudoparalelismo
PseudoparalelismoPseudoparalelismo
Pseudoparalelismo
 
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
 
Causalidade e Abdução
Causalidade e AbduçãoCausalidade e Abdução
Causalidade e Abdução
 
Aula3 escalonamento
Aula3 escalonamentoAula3 escalonamento
Aula3 escalonamento
 
Os pássaros
Os pássarosOs pássaros
Os pássaros
 
Otimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesOtimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril Borges
 
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosSeminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
 
Perdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesPerdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril Borges
 
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosSistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
 
Porque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesPorque tanta pressa - Caril Borges
Porque tanta pressa - Caril Borges
 
As armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesAs armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril Borges
 
00 apresentação desenvolvimento em redes de computadores
00   apresentação desenvolvimento em redes de computadores00   apresentação desenvolvimento em redes de computadores
00 apresentação desenvolvimento em redes de computadores
 
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
01   Desenvolvimento em Redes de Computadores - Comandos Básicos01   Desenvolvimento em Redes de Computadores - Comandos Básicos
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
 

Similaire à Gerências de Processos: Escalonamento de CPU

ProcessosEscalonamento.pdf
ProcessosEscalonamento.pdfProcessosEscalonamento.pdf
ProcessosEscalonamento.pdfssuser1d8ddd
 
3 escalonamento processos
3 escalonamento processos3 escalonamento processos
3 escalonamento processosfrteles
 
Aula 13 - Algoritmos de Escalonamento
Aula 13 - Algoritmos de Escalonamento Aula 13 - Algoritmos de Escalonamento
Aula 13 - Algoritmos de Escalonamento camila_seixas
 
Algoritmo de escalonamento Fuzzy Round Robin
Algoritmo de escalonamento Fuzzy Round RobinAlgoritmo de escalonamento Fuzzy Round Robin
Algoritmo de escalonamento Fuzzy Round RobinMarcos Castro
 
(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05Norton Trevisan Roman
 
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
 
Escalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SPEscalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SPRafael Moreira
 
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
 
Coroutine e concorrência python
Coroutine e concorrência   python Coroutine e concorrência   python
Coroutine e concorrência python Kaueh Moreno
 
Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no WindowsFee Kosta
 
Algoritimos de Escalonamento
Algoritimos de EscalonamentoAlgoritimos de Escalonamento
Algoritimos de EscalonamentoJunior Cesar
 
Aula Simulação por Eventos Discretos
Aula Simulação por Eventos DiscretosAula Simulação por Eventos Discretos
Aula Simulação por Eventos DiscretosAntonio Marcos Alberti
 
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.pdfSilvano Oliveira
 

Similaire à Gerências de Processos: Escalonamento de CPU (20)

ProcessosEscalonamento.pdf
ProcessosEscalonamento.pdfProcessosEscalonamento.pdf
ProcessosEscalonamento.pdf
 
3 escalonamento processos
3 escalonamento processos3 escalonamento processos
3 escalonamento processos
 
Sistemas operacionais 04
Sistemas operacionais   04Sistemas operacionais   04
Sistemas operacionais 04
 
Aula 13 - Algoritmos de Escalonamento
Aula 13 - Algoritmos de Escalonamento Aula 13 - Algoritmos de Escalonamento
Aula 13 - Algoritmos de Escalonamento
 
Processos+threads.2pp
Processos+threads.2ppProcessos+threads.2pp
Processos+threads.2pp
 
Algoritmo de escalonamento Fuzzy Round Robin
Algoritmo de escalonamento Fuzzy Round RobinAlgoritmo de escalonamento Fuzzy Round Robin
Algoritmo de escalonamento Fuzzy Round Robin
 
(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05
 
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"
 
Escalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SPEscalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SP
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)
 
Prova1d
Prova1dProva1d
Prova1d
 
Coroutine e concorrência python
Coroutine e concorrência   python Coroutine e concorrência   python
Coroutine e concorrência python
 
Sistemas operacionais 03
Sistemas operacionais   03Sistemas operacionais   03
Sistemas operacionais 03
 
Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no Windows
 
Processador mips - pipeline
Processador mips - pipelineProcessador mips - pipeline
Processador mips - pipeline
 
Unix - Robert
Unix - RobertUnix - Robert
Unix - Robert
 
Unix - Sistema Operacional
Unix - Sistema OperacionalUnix - Sistema Operacional
Unix - Sistema Operacional
 
Algoritimos de Escalonamento
Algoritimos de EscalonamentoAlgoritimos de Escalonamento
Algoritimos de Escalonamento
 
Aula Simulação por Eventos Discretos
Aula Simulação por Eventos DiscretosAula Simulação por Eventos Discretos
Aula Simulação por Eventos Discretos
 
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
 

Plus de Alexandre Duarte

Táticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosTáticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosAlexandre Duarte
 
Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Alexandre Duarte
 
Escolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaEscolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaAlexandre Duarte
 
Ciência da Computação como Ciência
Ciência da Computação como CiênciaCiência da Computação como Ciência
Ciência da Computação como CiênciaAlexandre Duarte
 
Metodologia da Pesquisa Científica: Introdução
Metodologia da Pesquisa Científica:  IntroduçãoMetodologia da Pesquisa Científica:  Introdução
Metodologia da Pesquisa Científica: IntroduçãoAlexandre Duarte
 
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerGráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerAlexandre Duarte
 
Panorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBPanorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBAlexandre Duarte
 
Sumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisSumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisAlexandre Duarte
 
Correlação e Classificação
Correlação e ClassificaçãoCorrelação e Classificação
Correlação e ClassificaçãoAlexandre Duarte
 
Sumarização Estatística 2D
Sumarização Estatística 2DSumarização Estatística 2D
Sumarização Estatística 2DAlexandre Duarte
 
Sumarização Estatística 1D
Sumarização Estatística 1DSumarização Estatística 1D
Sumarização Estatística 1DAlexandre Duarte
 
Preparação e Limpeza de Dados
Preparação e Limpeza de DadosPreparação e Limpeza de Dados
Preparação e Limpeza de DadosAlexandre Duarte
 
Introdução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosIntrodução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosAlexandre Duarte
 
Introdução ao Projeto de Surveys
Introdução ao Projeto de SurveysIntrodução ao Projeto de Surveys
Introdução ao Projeto de SurveysAlexandre Duarte
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Alexandre Duarte
 
Introdução à Analise de Dados - aula 3 - Agregação de Dados
Introdução à Analise de Dados - aula 3 - Agregação de DadosIntrodução à Analise de Dados - aula 3 - Agregação de Dados
Introdução à Analise de Dados - aula 3 - Agregação de DadosAlexandre Duarte
 

Plus de Alexandre Duarte (20)

Projeto de Experimentos
Projeto de ExperimentosProjeto de Experimentos
Projeto de Experimentos
 
Táticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosTáticas para Projeto de Experimentos
Táticas para Projeto de Experimentos
 
Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Fazer Ciência é Difícil!
Fazer Ciência é Difícil!
 
Atividades Científica
Atividades CientíficaAtividades Científica
Atividades Científica
 
Escolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaEscolhendo um Projeto de Pesquisa
Escolhendo um Projeto de Pesquisa
 
Ciência da Computação como Ciência
Ciência da Computação como CiênciaCiência da Computação como Ciência
Ciência da Computação como Ciência
 
Metodologia da Pesquisa Científica: Introdução
Metodologia da Pesquisa Científica:  IntroduçãoMetodologia da Pesquisa Científica:  Introdução
Metodologia da Pesquisa Científica: Introdução
 
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerGráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
 
Panorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBPanorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPB
 
Agrupamento com K-Means
Agrupamento com K-MeansAgrupamento com K-Means
Agrupamento com K-Means
 
Sumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisSumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis Nominais
 
Correlação e Classificação
Correlação e ClassificaçãoCorrelação e Classificação
Correlação e Classificação
 
Sumarização Estatística 2D
Sumarização Estatística 2DSumarização Estatística 2D
Sumarização Estatística 2D
 
Sumarização Estatística 1D
Sumarização Estatística 1DSumarização Estatística 1D
Sumarização Estatística 1D
 
Transformação de Dados
Transformação de DadosTransformação de Dados
Transformação de Dados
 
Preparação e Limpeza de Dados
Preparação e Limpeza de DadosPreparação e Limpeza de Dados
Preparação e Limpeza de Dados
 
Introdução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosIntrodução ao Projeto de Experimentos
Introdução ao Projeto de Experimentos
 
Introdução ao Projeto de Surveys
Introdução ao Projeto de SurveysIntrodução ao Projeto de Surveys
Introdução ao Projeto de Surveys
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01
 
Introdução à Analise de Dados - aula 3 - Agregação de Dados
Introdução à Analise de Dados - aula 3 - Agregação de DadosIntrodução à Analise de Dados - aula 3 - Agregação de Dados
Introdução à Analise de Dados - aula 3 - Agregação de Dados
 

Dernier

Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxMarcosLemes28
 
Missa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdfMissa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdfFbioFerreira207918
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdLeonardoDeOliveiraLu2
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptxJssicaCassiano2
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...MariaCristinaSouzaLe1
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmicolourivalcaburite
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docPauloHenriqueGarciaM
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Centro Jacques Delors
 
tensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptxtensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptxgia0123
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022LeandroSilva126216
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do séculoBiblioteca UCS
 
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedAula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedJaquelineBertagliaCe
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...PatriciaCaetano18
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...azulassessoria9
 
INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa paraAndreaPassosMascaren
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024azulassessoria9
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...andreiavys
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfJuliana Barbosa
 

Dernier (20)

Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
Missa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdfMissa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdf
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introd
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
tensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptxtensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptx
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de LedAula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
Aula 67 e 68 Robótica 8º ano Experimentando variações da matriz de Led
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
INTERTEXTUALIDADE atividade muito boa para
INTERTEXTUALIDADE   atividade muito boa paraINTERTEXTUALIDADE   atividade muito boa para
INTERTEXTUALIDADE atividade muito boa para
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 

Gerências de Processos: Escalonamento de CPU

  • 1. Sistemas Operacionais I Gerências de Processos: Escalonamento de CPU Prof. Alexandre Duarte : http://alexandrend.com Centro de Informática | Universidade Federal da Paraíba Estes slides são baseados no material que acompanha o livro Operating Systems Concepts de Silberschatz, Galvin and Gagne
  • 2. Objetivos  Introduzir o conceito de escalonamento de CPU, base para os sistemas operacionais multiprogramados  Descrever vários algoritmos de escalonamento de CPU  Discutir os critérios de avaliaç ão para selecionar um algoritmo de escalonamento de CPU para um determinado sistema
  • 3. Conceitos básicos  Utilizaç ão máxima de CPU é obtida com multiprogramaç ão  Ciclos de rajadas de CPU–E/S  A execuç ão de um processo é um ciclo de rajadas alternadas de CPU e espera por E/S
  • 4. Histograma com as durações dos picos de CPU
  • 5. Escalonador de CPU  Seleciona um entre os processos em memó ria prontos para executar e aloca a CPU para ele  O escalonamento de CPU pode ocorrer quando um processo: 1. muda do estado executando para esperando 2. muda do estado executando para pronto 3. muda do estado esperando para pronto 4. é finalizado  O escalonamento nas condições 1 e 4 é dito não-premptivo  Em 2 e 3 é dito preemptivo
  • 6. Despachante  O mó dulo despachante transfere o controle da CPU para o processo selecionado pelo escalonador de curto prazo, o que envolve:  trocar contexto  alterar para o modo usuário  fazer um salto para o endereç o de memó ria correto para que o processo seja reiniciado  Latência de despacho: é o tempo necessário para o despachante para um processo e reiniciar um outro
  • 7. Critérios de escalonamento  Utilizaç ão de CPU: manter a CPU o mais ocupada possível  Vazão: # de processos que concluem sua execuç ão por unidade de tempo  Tempo de retorno: quantidade necessária de tempo para executar um processo  Tempo de espera: quantidade de tempo que um processo aguardou na fila de prontos  Tempo de resposta: quantidade de tempo entre a requisiç ão de execuç ão de um programa e a produç ão da primeira resposta (sistemas de compartilhamento de tempo)
  • 8. Critérios de otimização para algoritmos de escalonamento  Utilizaç ão máxima de CPU  Vazão máxima  Tempo de retorno mínimo  Tempo de espera mínimo  Tempo de resposta mínimo
  • 9. “Primeiro a Entrar, Primeiro a ser Atendido” (FCFS) Suponha que os processo cheguem na ordem: P1 , P2 , P3 Seriam escalonados como a seguir Tempos de espera: P1 = 0; P2 = 24; P3 = 27 Tempo de espera médio: (0 + 24 + 27)/3 = 17
  • 10. Continuando com o FCFS Agora, suponha que os processos cheguem na ordem P2 , P3 , P1 O escalonamento seria  Tempos de espera: P1 = 6;P2 = 0; P3 = 3  Tempo de espera médio: (6 + 0 + 3)/3 = 3  Muito melhor que no caso anterior!!!  “Efeito comboio” atrás de um processo longo!
  • 11. Menor Job Primeiro (SJF)  Associa a cada processo a duraç ão do seu pró ximo pico de CPU  Usa essas duraç ões para escalonar o processo com a menor duraç ão de pico de CPU  SJF é ó timo: dáo menor tempo médio de espera para um dado conjunto de processos  A dificuldade reside em saber qual seráa duraç ão do pró ximo pico de CPU!
  • 12. Exemplo do SJF O SJF escalonaria da seguinte forma:  Tempo de espera médio = (3 + 16 + 9 + 0) / 4 = 7
  • 13. Determinando a duração do próximo pico de CPU Podemos apenas estimar a duraç ão! Uma estratégia é utilizar a duraç ão dos picos anteriores e prever a duraç ão do pró ximo pico pela média exponencial:
  • 14. Escalonamento por prioridade  Cada processo recebe um nível de prioridade  A CPU é alocada para o processo com a maior prioridade (menor valor númerico)  Preemptivo  Não-preemptivo  O SJF é um algoritmo de escalonamento por prioridade onde a prioridade é a duração do pró ximo pico de CPU  SJF com preempç ão = SRJF  Problema ≡ Starvation : processos de baixa prioridade podem nunca rodar  Solução ≡ Envelhecimento : a medida que o tempo passa a prioridade dos processos aumenta
  • 15. Round Robin (RR)  Cada processo recebe uma pequena quantidade de tempo de CPU (quantum), usualmente entre 10 e 100 milissegundos.  Depois que esse tempo de esgota o processo é interrompido e inserido no fim da fila de prontos.  Se existem n processos na fila de prontos e o quantum é q, então cada processo recebe 1/n do tempo de CPU em pedaços de tamanho máximo q.  Nenhum processo espera mais que do que (n-1)q unidades de tempo  Desempenho  q grande ⇒ FIFO  q pequeno ⇒ q precisa ser grande em relaç ão ao tempo de troca de contexto, caso contrário o overhead serámuito grande
  • 16. Exemplo: RR com quantum = 4  O escalonamento seria  Geralmente apresenta um tempo de retorno médio maior do que o do SFJ mas melhor tempo de resposta
  • 17. Duração do quantum e trocas de contexto
  • 18. O tempo de retorno varia com o quantum
  • 19. Filas de vários níveis  A fila de prontos é particionada em várias filas separadas  Cada fila tem seu pró prio algoritmo de escalonamento  Processos interativos: RR  Processos de lote: FCFS  O escalonamento precisa ser feito também entre as filas  Prioridade fixa: escalona todos da primeira fila para depois passar para a pró xima.  Possibilidade de haver starvation.  Fatia de tempo: cada fila recebe uma fatia de tempo da CPU para dividir entre seus processos  80% do tempo para processos interativos utilizando RR  20% para processos de lote utilizando FCFS
  • 21. Filas com feedback  Um processo pode mudar de fila  Forma de implementar envelhecimento  Escalonador de várias filas com feedback é definido pelos seguintes parâmetros:  número de filas  algoritmo de escalonamento para cada fila  método para determinar em que fila um processo deve ser inserido  método para determinar quando promover um processo  método para determinar quando rebaixar um processo
  • 22. Exemplo de escalonamento com várias filas com feedback  Três filas  Q0 – RR com quantum de 8 milissegundos  Q1 – RR com quantum de 16 milissegundos  Q2 – FCFS  Escalonamento  Um novo job entra na fila Q0 e é servido em ordem FIFO. Quando ele recebe a CPU, em tem 8 milissegundos. Se ele não terminar é então movido para a fila Q1.  Os jobs da fila Q1 também são servidos em ordem FIFO, recebendo 16 milissegundos adicionais. Se ainda assim não terminar é movido para a fila Q2.
  • 23. Exemplo de escalonamento com várias filas com feedback
  • 24. Escalonamento de threads  Distinç ão entre threads do usuário e threads do núcleo  Nos modelos muitos-para-um e muitos-para- muitos a biblioteca de threads escalona threads do usuário para rodar em LWPs  Conhecido como escopo de disputa de processo pois a competição pela CPU ocorre dentro do processo  Threads do núcleo são escalonados diretamente para a CPU, resultando em um escopo de disputa de sistema uma vez que a competiç ão envolve todas as threads do sistema
  • 25. Escalonamento com múltiplos processadores  O escalonamento de CPU é mais complexo quando múltiplas CPUs estão disponíveis  Processadores homogêneos em um multiprocessador  Multiprocessamento assimé trico: apenas um processador acessa as estruturas de dados do sistema, diminuindo a necessidade de compartilhamento de dados  Multiprocessamento simé tricos: cada processador faz o seu pró prio escalonamento  todos os processos ficam em uma fila de prontos comum  cada processador pode ter sua pró pria fila de prontos  Afinidade com o processador: o processo tem afinidade com o processador no qual ele estáexecutando  afinidade leve  afinidade forte
  • 27. Processadores com múltiplos núcleos  A tendência atual é incluir múltiplos núcleos de processamento em um mesmo chip  Mais rápido e consome menos energia  Múltiplas threads por núcleo também é uma tendência  Enquanto recupera dados da memó ria para uma thread (queda de memó ria) aproveita para executar uma outra
  • 28. Múltiplos núcleos e múltiplas threads
  • 29. Avaliação de algoritmos  Modelagem determinística: recebe um carga de trabalha pré-determinada e mede o desempenho de cada algoritmo para essa carga de trabalho  Modelos de filas  Simulaç ões  Implementaç ão
  • 30. Avaliação de algoritmos de escalonamento através de simulação