SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
1
Sistemas Operacionais:
Escalonamento de
processos
Escalonamento
• Critérios de escalonamento
• Algoritmos de escalonamento
• Escalonamento em multiprocessadores
• Escalonamento tempo real
2
Características de processos
• Multiprogramação possibilita a máxima
utilização da CPU
• Processo:utilização da CPU e E/S
• Distribuição da utilização da CPU
Algoritmo de escalonamento
• Seleciona entre os processos prontos e na memória,
qual irá ganhar a CPU
• O escalonamento pode ocorrer:
1. Um processo passa do estado executando para o estado espera (p.
exemplo, o processo solicita uma operação de E/S)
2. Um processo passa do estado executando para o estado pronto
3. Um processo passo do estado espera para pronto
4. Um processo é finalizado
• Escalonamento nas alternativas 1 e 4 é denominado
não-preemptivo (nonpreemptive)
• As outras opções são denominadas preemptivo
(preemptive)
3
Critérios para o escalonamento
• Utilização da CPU – utilizar o máximo da CPU
• Throughput – número de processos finalizados em
um dado intervalo de tempo
• Tempo de execução – tempo para finalizar a
execução de um determinado processo no sistema
• Tempo de espera – quantidade de tempo que o
processo ficou na fila de prontos
• Tempo de resposta – tempo entre a requisição e a
saída do primeiro resultado (sistemas interativos)
Otimizações
• Utilização máxima da CPU
• Throughput máximo
• Tempo de execução mínimo
• Tempo de espera mínimo
• Tempo de resposta mínimo
4
FCFS (First-come, first-served)
• Primeiro a chegar, primeiro a ser servido (sistemas
não preeemptivos)
Process Burst Time
P1 24
P2 3
P3 3
• A ordem de chegada dos processos é P1, P2, P3. O gráfico de
Gantt para esse algoritmo é:
• Tempo de espera P1 = 0; P2 = 24; P3 = 27
• Tempo médio de espera: (0 + 24 + 27)/3 = 17
P1 P2 P3
24 27 300
FCFS(2)
• Considerando a ordem de chegada P2, P3, P1
• O gráfico de Gantt
• Tempo de espera P1 = 6; P2 = 0; P3 = 3
• Tempo médio de espera: (6 + 0 + 3)/3 = 3
• Melhor desempenho que o caso anterior
• “Efeito comboio”: todos os processos menores ficam
esperando pelo processo maior utilizar a CPU
P1P3P2
63 300
5
SJF (Shortest Job First)
• Menor tarefa primeiro
• Cada processo é associado com o tempo de utilização
da CPU (normalmente derivado das execuções
anteriores)
• Dois esquemas:
– Não preeemptivo– quando um processo ganha a CPU ele é
executado até o fim do período de utilização da CPU
– Preemptivo– se um processo chega com o tempo de
duração da CPU menor que o tempo restante que do
processo em execução, o escalomanento é realizado.
Shortest-Remaining-Time-First (SRTF)
• SJF– fornece o menor tempo médio de espera para
um dado conjunto de processos (solução ótima)
•
SJF não preemptivo
Process Arrival Time Burst Time
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 5.0 4
• Tempo médio de espera = (0 + 6 + 3 + 7)/4 = 4
P1 P3 P2
73 160
P4
8 12
6
SJF preemptivo
Process Arrival Time Burst Time
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 5.0 4
• Tempo médio de espera= (9 + 1 + 0 +2)/4 = 3
P1 P3P2
42 110
P4
5 7
P2 P1
16
Determinando o tempo de uso da
CPU de um processo
• Estimativas
• Normalmente baseadas nos ciclos de execução
anteriores, utilizando a média exponencial
• α= controla o peso da última execução sobre as
execuções passadas
:Define4.
10,3.
burstCPUnexttheforvaluepredicted2.
burstCPUoflengthactual1.
≤≤
=
=
+
αα
τ 1n
th
n nt
( ) .11 nnn t ταατ −+==
7
Predição do tempo de execução
Utilizando a média exponencial
• α =0
– τn+1 = τn
– A história recente não é considerada
• α =1
– τn+1 = α tn
– Somente a última execução é considerada
• Expandindo a formula:
τn+1 = α tn+(1 - α)α tn -1 + …
+(1 - α )j α tn -j + …
+(1 - α )n +1 τ0
• Desde que α E (1 - α) são menores que 1, cada item
um peso menor que o seu predecessor
8
Escalonamento por prioridades
• Cada processo tem uma prioridade associada (valor inteiro)
• Ganha a CPU o processo com maior prioridade (normalmente,
menor valor = maior prioridade)
– Preemptivo
– Não preemptivo
• SJF é um algoritmo baseado em prioridades, onde a prioridade
do processo é a estimativa do tempo de uso da CPU
• Problema ≡ Starvation (abandono de processos)–processos de
baixa prioridade podem não ganhar a CPU
• Solução≡ Aging (envelhecimento)– durante a execução do
sistema, processos vão ganhando maior prioridade
Round Robin (RR)
• Alocação circular
• Cada processo ganha um pequeno tempo de
CPU (na ordem de milissegundos)
denominado quantum
• Cada processo ganha uma quantidade q de
utilização da CPU
– q grande: FCFS (todos os processos executam até
o FIM)
– q pequeno: haverá desperdício devido ao tempo
necessário para a troca de contexto
9
Simulação do escalonamento RR
Process Burst Time
P1 53
P2 17
P3 68
P4 24
• Gráfico de Gantt:
• Normalmente, o throughput é menor, porém com um
melhor tempo de resposta
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3
0 20 37 57 77 97 117 121 134 154 162
Exercício
• Calcular o tempo médio de processamento
para os seguintes processos utilizando a
política de alocação circular (RR), para q =1,
2, 3, 4, 5, 6
7P4
1P3
3P2
6P1
TempoProcesso
10
Escalonamento com múltiplas filas
• A fila de prontos é separada em várias filas:
– fila para processos interativos
– fila para processos em lote
• Cada fila tem sua política de escalonamento
– RR para processos interativos
– FCFS para processos em lote
• Deve haver um escalonamento entre as filas
– Prioridade: primeiro a fila de processos interativos
(possibilidade de abandono de processos (starvation)
– Fatia de tempo para cada fila
Múltiplas filas e transferência entre
filas
• Processos podem ser transferidos de fila
• Envelhecimento (aging): processo vai ganhando
prioridade com o tempo
• Escalonador com múltiplas filas pode ser definido
através dos seguintes parâmetros:
– Número de filas
– Algoritmos de escalonamento para cada fila
– Método utilizado para aumentar a prioridade do processo
– Método utilizado para diminuir a prioridade do processo
– Método utilizado para determinar qual fila o processo ficará
quanto o mesmo solicita um serviço
11
Escalonamento com múltiplas filas
Escalonamento em
multiprocesadores
• Escolher qual processo pronto vai executar em
qual CPU
• Simétrico
– Todas as estruturas de dados são acessadas por
todos os processadores
• Assimétrico
– Somente um processador tem acesso a estrutura de
dados do núcleo
12
Escalonamento no Linux
• Dois algoritmos: tempo compartilhado e tempo real
• Tempo compartilhado
– Baseado em prioridades(“créditos”) – o processo com mais
crédito é escalonado
– O crédito é subtraído quando um interrupção ocorre
– Quando crédito= 0, outro processo é escolhido
– Quando todos os processos tem crédito= 0, um novo
cálculo dos créditos é realizado
• Baseado em fatores como prioridade e histórico
• Tempo real
– Soft real-time
– Duas classes de algoritmos
• FCFS e RR
• O processo de mais alta prioridade sempre executa

Contenu connexe

Tendances

Sistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosSistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
Luiz Arthur
 
Processos threads senai
Processos threads senaiProcessos threads senai
Processos threads senai
Carlos Melo
 
Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1
Cristiano Pires Martins
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
Michael Soto
 

Tendances (20)

SO-02 Processos
SO-02 ProcessosSO-02 Processos
SO-02 Processos
 
3 escalonamento processos
3 escalonamento processos3 escalonamento processos
3 escalonamento processos
 
Gerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUGerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPU
 
Escalonamento lotérico e fração justa
Escalonamento lotérico e fração justaEscalonamento lotérico e fração justa
Escalonamento lotérico e fração justa
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threads
 
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"
 
Sistemas operacionais 04
Sistemas operacionais   04Sistemas operacionais   04
Sistemas operacionais 04
 
Gerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoGerências de Processos: Sincronização
Gerências de Processos: Sincronização
 
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosSistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
 
Processos threads senai
Processos threads senaiProcessos threads senai
Processos threads senai
 
Gerência de processos
Gerência de processosGerência de processos
Gerência de processos
 
Sistemas operacionais 03
Sistemas operacionais   03Sistemas operacionais   03
Sistemas operacionais 03
 
Cap05 processos e threads
Cap05   processos e threadsCap05   processos e threads
Cap05 processos e threads
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e Threads
 
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)
 
Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
 
Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: Introdução
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
 

En vedette (8)

Teoria das Filas
Teoria das FilasTeoria das Filas
Teoria das Filas
 
Teoria das Filas
Teoria das FilasTeoria das Filas
Teoria das Filas
 
Prova1d
Prova1dProva1d
Prova1d
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threads
 
métodos ordenação C, bolha, selection sort e insertion sort
métodos ordenação C, bolha, selection sort e insertion sortmétodos ordenação C, bolha, selection sort e insertion sort
métodos ordenação C, bolha, selection sort e insertion sort
 
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
 
Gerências de Processos: Threads
Gerências de Processos: ThreadsGerências de Processos: Threads
Gerências de Processos: Threads
 
Tanenbaum Sistemas Operacionais Cap 01
Tanenbaum Sistemas Operacionais Cap 01Tanenbaum Sistemas Operacionais Cap 01
Tanenbaum Sistemas Operacionais Cap 01
 

Similaire à Aula3 escalonamento

So gabarito exerciciosescalonamentocpu-2012
So gabarito exerciciosescalonamentocpu-2012So gabarito exerciciosescalonamentocpu-2012
So gabarito exerciciosescalonamentocpu-2012
Bill Lima
 
2 organização do sistema operativo - sistemas operativos
2   organização do sistema operativo - sistemas operativos2   organização do sistema operativo - sistemas operativos
2 organização do sistema operativo - sistemas operativos
Maria194536
 
Resumo de S.O.
Resumo de S.O.Resumo de S.O.
Resumo de S.O.
dannas_06
 

Similaire à Aula3 escalonamento (20)

ProcessosEscalonamento.pdf
ProcessosEscalonamento.pdfProcessosEscalonamento.pdf
ProcessosEscalonamento.pdf
 
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdfSO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
 
(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05
 
Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no Windows
 
Escalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SPEscalonador Earliest Deadline First - TDC2014SP
Escalonador Earliest Deadline First - TDC2014SP
 
Questionário sobre processos
Questionário sobre processosQuestionário sobre processos
Questionário sobre processos
 
Categorias de Escalonamento e Objetivos do Algorítmo Escalonador
Categorias de Escalonamento e Objetivos do Algorítmo EscalonadorCategorias de Escalonamento e Objetivos do Algorítmo Escalonador
Categorias de Escalonamento e Objetivos do Algorítmo Escalonador
 
(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07
 
Categorias de Escalonamento e Objetivos do Algoritmo de Escalonamento
Categorias de Escalonamento e Objetivos do Algoritmo de EscalonamentoCategorias de Escalonamento e Objetivos do Algoritmo de Escalonamento
Categorias de Escalonamento e Objetivos do Algoritmo de Escalonamento
 
Processos+threads.2pp
Processos+threads.2ppProcessos+threads.2pp
Processos+threads.2pp
 
Process aware interrupt scheduling and accounting
Process aware interrupt scheduling and accountingProcess aware interrupt scheduling and accounting
Process aware interrupt scheduling and accounting
 
Sd06 (si) exclusão mútua
Sd06 (si)   exclusão mútuaSd06 (si)   exclusão mútua
Sd06 (si) exclusão mútua
 
So gabarito exerciciosescalonamentocpu-2012
So gabarito exerciciosescalonamentocpu-2012So gabarito exerciciosescalonamentocpu-2012
So gabarito exerciciosescalonamentocpu-2012
 
Categorias de escalonamento e objetivos do algoritmo de escalonamento
Categorias de escalonamento e objetivos do algoritmo de escalonamentoCategorias de escalonamento e objetivos do algoritmo de escalonamento
Categorias de escalonamento e objetivos do algoritmo de escalonamento
 
2 organização do sistema operativo - sistemas operativos
2   organização do sistema operativo - sistemas operativos2   organização do sistema operativo - sistemas operativos
2 organização do sistema operativo - sistemas operativos
 
bom-1.pdf
bom-1.pdfbom-1.pdf
bom-1.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
 
Escalonamento em 3 Níveis e Alternância Circular
Escalonamento em 3 Níveis e Alternância CircularEscalonamento em 3 Níveis e Alternância Circular
Escalonamento em 3 Níveis e Alternância Circular
 
SincronizacaoDist.pdf
SincronizacaoDist.pdfSincronizacaoDist.pdf
SincronizacaoDist.pdf
 
Resumo de S.O.
Resumo de S.O.Resumo de S.O.
Resumo de S.O.
 

Dernier

Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 

Dernier (20)

Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.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
 
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdf
 
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAEDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
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
 
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
Introdução às Funções 9º ano: Diagrama de flexas, Valor numérico de uma funçã...
 
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
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
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...
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
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
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 

Aula3 escalonamento

  • 1. 1 Sistemas Operacionais: Escalonamento de processos Escalonamento • Critérios de escalonamento • Algoritmos de escalonamento • Escalonamento em multiprocessadores • Escalonamento tempo real
  • 2. 2 Características de processos • Multiprogramação possibilita a máxima utilização da CPU • Processo:utilização da CPU e E/S • Distribuição da utilização da CPU Algoritmo de escalonamento • Seleciona entre os processos prontos e na memória, qual irá ganhar a CPU • O escalonamento pode ocorrer: 1. Um processo passa do estado executando para o estado espera (p. exemplo, o processo solicita uma operação de E/S) 2. Um processo passa do estado executando para o estado pronto 3. Um processo passo do estado espera para pronto 4. Um processo é finalizado • Escalonamento nas alternativas 1 e 4 é denominado não-preemptivo (nonpreemptive) • As outras opções são denominadas preemptivo (preemptive)
  • 3. 3 Critérios para o escalonamento • Utilização da CPU – utilizar o máximo da CPU • Throughput – número de processos finalizados em um dado intervalo de tempo • Tempo de execução – tempo para finalizar a execução de um determinado processo no sistema • Tempo de espera – quantidade de tempo que o processo ficou na fila de prontos • Tempo de resposta – tempo entre a requisição e a saída do primeiro resultado (sistemas interativos) Otimizações • Utilização máxima da CPU • Throughput máximo • Tempo de execução mínimo • Tempo de espera mínimo • Tempo de resposta mínimo
  • 4. 4 FCFS (First-come, first-served) • Primeiro a chegar, primeiro a ser servido (sistemas não preeemptivos) Process Burst Time P1 24 P2 3 P3 3 • A ordem de chegada dos processos é P1, P2, P3. O gráfico de Gantt para esse algoritmo é: • Tempo de espera P1 = 0; P2 = 24; P3 = 27 • Tempo médio de espera: (0 + 24 + 27)/3 = 17 P1 P2 P3 24 27 300 FCFS(2) • Considerando a ordem de chegada P2, P3, P1 • O gráfico de Gantt • Tempo de espera P1 = 6; P2 = 0; P3 = 3 • Tempo médio de espera: (6 + 0 + 3)/3 = 3 • Melhor desempenho que o caso anterior • “Efeito comboio”: todos os processos menores ficam esperando pelo processo maior utilizar a CPU P1P3P2 63 300
  • 5. 5 SJF (Shortest Job First) • Menor tarefa primeiro • Cada processo é associado com o tempo de utilização da CPU (normalmente derivado das execuções anteriores) • Dois esquemas: – Não preeemptivo– quando um processo ganha a CPU ele é executado até o fim do período de utilização da CPU – Preemptivo– se um processo chega com o tempo de duração da CPU menor que o tempo restante que do processo em execução, o escalomanento é realizado. Shortest-Remaining-Time-First (SRTF) • SJF– fornece o menor tempo médio de espera para um dado conjunto de processos (solução ótima) • SJF não preemptivo Process Arrival Time Burst Time P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4 • Tempo médio de espera = (0 + 6 + 3 + 7)/4 = 4 P1 P3 P2 73 160 P4 8 12
  • 6. 6 SJF preemptivo Process Arrival Time Burst Time P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4 • Tempo médio de espera= (9 + 1 + 0 +2)/4 = 3 P1 P3P2 42 110 P4 5 7 P2 P1 16 Determinando o tempo de uso da CPU de um processo • Estimativas • Normalmente baseadas nos ciclos de execução anteriores, utilizando a média exponencial • α= controla o peso da última execução sobre as execuções passadas :Define4. 10,3. burstCPUnexttheforvaluepredicted2. burstCPUoflengthactual1. ≤≤ = = + αα τ 1n th n nt ( ) .11 nnn t ταατ −+==
  • 7. 7 Predição do tempo de execução Utilizando a média exponencial • α =0 – τn+1 = τn – A história recente não é considerada • α =1 – τn+1 = α tn – Somente a última execução é considerada • Expandindo a formula: τn+1 = α tn+(1 - α)α tn -1 + … +(1 - α )j α tn -j + … +(1 - α )n +1 τ0 • Desde que α E (1 - α) são menores que 1, cada item um peso menor que o seu predecessor
  • 8. 8 Escalonamento por prioridades • Cada processo tem uma prioridade associada (valor inteiro) • Ganha a CPU o processo com maior prioridade (normalmente, menor valor = maior prioridade) – Preemptivo – Não preemptivo • SJF é um algoritmo baseado em prioridades, onde a prioridade do processo é a estimativa do tempo de uso da CPU • Problema ≡ Starvation (abandono de processos)–processos de baixa prioridade podem não ganhar a CPU • Solução≡ Aging (envelhecimento)– durante a execução do sistema, processos vão ganhando maior prioridade Round Robin (RR) • Alocação circular • Cada processo ganha um pequeno tempo de CPU (na ordem de milissegundos) denominado quantum • Cada processo ganha uma quantidade q de utilização da CPU – q grande: FCFS (todos os processos executam até o FIM) – q pequeno: haverá desperdício devido ao tempo necessário para a troca de contexto
  • 9. 9 Simulação do escalonamento RR Process Burst Time P1 53 P2 17 P3 68 P4 24 • Gráfico de Gantt: • Normalmente, o throughput é menor, porém com um melhor tempo de resposta P1 P2 P3 P4 P1 P3 P4 P1 P3 P3 0 20 37 57 77 97 117 121 134 154 162 Exercício • Calcular o tempo médio de processamento para os seguintes processos utilizando a política de alocação circular (RR), para q =1, 2, 3, 4, 5, 6 7P4 1P3 3P2 6P1 TempoProcesso
  • 10. 10 Escalonamento com múltiplas filas • A fila de prontos é separada em várias filas: – fila para processos interativos – fila para processos em lote • Cada fila tem sua política de escalonamento – RR para processos interativos – FCFS para processos em lote • Deve haver um escalonamento entre as filas – Prioridade: primeiro a fila de processos interativos (possibilidade de abandono de processos (starvation) – Fatia de tempo para cada fila Múltiplas filas e transferência entre filas • Processos podem ser transferidos de fila • Envelhecimento (aging): processo vai ganhando prioridade com o tempo • Escalonador com múltiplas filas pode ser definido através dos seguintes parâmetros: – Número de filas – Algoritmos de escalonamento para cada fila – Método utilizado para aumentar a prioridade do processo – Método utilizado para diminuir a prioridade do processo – Método utilizado para determinar qual fila o processo ficará quanto o mesmo solicita um serviço
  • 11. 11 Escalonamento com múltiplas filas Escalonamento em multiprocesadores • Escolher qual processo pronto vai executar em qual CPU • Simétrico – Todas as estruturas de dados são acessadas por todos os processadores • Assimétrico – Somente um processador tem acesso a estrutura de dados do núcleo
  • 12. 12 Escalonamento no Linux • Dois algoritmos: tempo compartilhado e tempo real • Tempo compartilhado – Baseado em prioridades(“créditos”) – o processo com mais crédito é escalonado – O crédito é subtraído quando um interrupção ocorre – Quando crédito= 0, outro processo é escolhido – Quando todos os processos tem crédito= 0, um novo cálculo dos créditos é realizado • Baseado em fatores como prioridade e histórico • Tempo real – Soft real-time – Duas classes de algoritmos • FCFS e RR • O processo de mais alta prioridade sempre executa