SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisLuciano Crecente
 
Aula 12 - Escalonamento
Aula 12 - EscalonamentoAula 12 - Escalonamento
Aula 12 - Escalonamentocamila_seixas
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processosComputação Depressão
 
Aula 13 - Algoritmos de Escalonamento
Aula 13 - Algoritmos de Escalonamento Aula 13 - Algoritmos de Escalonamento
Aula 13 - Algoritmos de Escalonamento camila_seixas
 
Aula 1 sistema operacional linux
Aula 1 sistema operacional linuxAula 1 sistema operacional linux
Aula 1 sistema operacional linuxRogério Cardoso
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Leinylson Fontinele
 
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOSistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOMauro Duarte
 
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
 
Gerência de processos
Gerência de processosGerência de processos
Gerência de processosVirgínia
 
2. conceito de processos
2. conceito de processos2. conceito de processos
2. conceito de processosvini_campos
 
Gerências de Processos: Threads
Gerências de Processos: ThreadsGerências de Processos: Threads
Gerências de Processos: ThreadsAlexandre Duarte
 
Arquitetura de um computador
Arquitetura de um computadorArquitetura de um computador
Arquitetura de um computadorFilipe Duarte
 
ApresentaçãO2 Sistema Operacional
ApresentaçãO2  Sistema OperacionalApresentaçãO2  Sistema Operacional
ApresentaçãO2 Sistema OperacionalCláudia Costa
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...Leinylson Fontinele
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introduçãoCleber Ramos
 

Mais procurados (20)

Tipos de Sistemas Operacionais
Tipos de Sistemas OperacionaisTipos de Sistemas Operacionais
Tipos de Sistemas Operacionais
 
Aula 12 - Escalonamento
Aula 12 - EscalonamentoAula 12 - Escalonamento
Aula 12 - Escalonamento
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos
 
Aula 13 - Algoritmos de Escalonamento
Aula 13 - Algoritmos de Escalonamento Aula 13 - Algoritmos de Escalonamento
Aula 13 - Algoritmos de Escalonamento
 
Aula 1 sistema operacional linux
Aula 1 sistema operacional linuxAula 1 sistema operacional linux
Aula 1 sistema operacional linux
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SOSistemas Operacionais - 03 - Tipos e Estrutura dos SO
Sistemas Operacionais - 03 - Tipos e Estrutura dos SO
 
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)
 
Gerência de processos
Gerência de processosGerência de processos
Gerência de processos
 
Tipos de Sistema operacional
Tipos de Sistema operacionalTipos de Sistema operacional
Tipos de Sistema operacional
 
2. conceito de processos
2. conceito de processos2. conceito de processos
2. conceito de processos
 
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)
 
Gerências de Processos: Threads
Gerências de Processos: ThreadsGerências de Processos: Threads
Gerências de Processos: Threads
 
Arquitetura de um computador
Arquitetura de um computadorArquitetura de um computador
Arquitetura de um computador
 
Gerenciamento de memória
Gerenciamento de memóriaGerenciamento de memória
Gerenciamento de memória
 
ApresentaçãO2 Sistema Operacional
ApresentaçãO2  Sistema OperacionalApresentaçãO2  Sistema Operacional
ApresentaçãO2 Sistema Operacional
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introdução
 

Destaque

Mutexes, Monitores e Semáforos
Mutexes, Monitores e SemáforosMutexes, Monitores e Semáforos
Mutexes, Monitores e SemáforosThiago Poiani
 
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
 
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
 
Gerência de Processos: Processos
Gerência de Processos: ProcessosGerência de Processos: Processos
Gerência de Processos: ProcessosAlexandre Duarte
 
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
 

Destaque (20)

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
 
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
 
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
 
Gerência de Processos: Processos
Gerência de Processos: ProcessosGerência de Processos: Processos
Gerência de Processos: 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
 

Semelhante a Sistemas Operacionais I: Escalonamento de CPU

ProcessosEscalonamento.pdf
ProcessosEscalonamento.pdfProcessosEscalonamento.pdf
ProcessosEscalonamento.pdfssuser1d8ddd
 
3 escalonamento processos
3 escalonamento processos3 escalonamento processos
3 escalonamento processosfrteles
 
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
 
Coroutine e concorrência python
Coroutine e concorrência   python Coroutine e concorrência   python
Coroutine e concorrência python Kaueh Moreno
 
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
 
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).pdfMatheusNS1
 
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 OperacionaisAbadia Cardoso
 

Semelhante a Sistemas Operacionais I: 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
 
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
 
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
 
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
 
F oc aula_04
F oc aula_04F oc aula_04
F oc aula_04
 
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
 
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
 

Mais 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
 

Mais 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
 

Último

Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇJaineCarolaineLima
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxMauricioOliveira258223
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTailsonSantos1
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médiorosenilrucks
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 

Último (20)

Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
ATIVIDADE - CHARGE.pptxDFGHJKLÇ~ÇLJHUFTDRSEDFGJHKLÇ
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptx
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 

Sistemas Operacionais I: 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