• Nenhum resultado encontrado

Aula07 Escalonamento2

N/A
N/A
Protected

Academic year: 2021

Share "Aula07 Escalonamento2"

Copied!
50
0
0

Texto

(1)

Sistemas Operacionais

(2)
(3)

Aula Passada

• Iniciou o estudo de Escalonamento • O que é Escalonar CPU?

• Ciclo de Burst CPU/E-S

• Escalonamento Preemptivo e Não-preemptivo • Despachante

(4)

Burst de CPU e Burst de I/O

Burst de CPU: Tempo gasto utilizando a CPU

Burst de I/O: Tempo gasto utilizado dispositivos de

entrada e saída

• O processos podem ser classificados como: • CPU bound: 


longo burst de CPU e curto burst de I/O

• I/O bound


(5)

Escalonamento não preemptivo

e preemptivo

• Escalonamento não preemptivo: o escalonamento

acontece quando o processo que está utilizando a CPU termina sua execução ou quando libera a

CPU para executar tarefa de I/O.

• Escalonamento preemptivo: o escalonamento

acontece através da interrupção do método que está utilizando a CPU.

(6)

ALGORITMOS DE

ESCALONAMENTO

(7)

Algoritmos de

Escalonamento

• Como dito, o escalonamento de CPU consiste em decidir qual dos

processos da fila de prontos deve ser entregue à CPU.

• Algoritmos:

• Escalonamento First Come First Server - FCFS

• Escalonamento Shortest Job First - SJF

• Escalonamento por prioridade

• Escalonamento Round-Robin

• Escalonamento Multilevel Queue

(8)

First Come First Server

• First Come First Server

• Primeiro a chegar, primeiro a ser atendido

• Esse é o algortimo de escalonamento mais simples • O processo que primeiro requisitar a CPU é o

processo que será atendido

• Facilmente implementado por meio de uma fila

(9)

FILA DE PRONTOS P1 24 P2 3 P3 3 Tempo de Burst

(10)

First Come First Server

P1 P2 P3 0 24 27 30 P1 24 P2 3 P3 3

Qual o tempo de espera médio?!

!

(11)

First Come First Server

P1 P2 P3 0 24 27 30 P1 24 P2 3 P3 3 TE (P1) = 0 TE (P2) = 24 TE (P3) = 27 Tempo de Espera
 Médio ! 17 ms

(12)

FILA DE PRONTOS P1 24 P2 3 P3 3 Tempo de Burst

(13)

First Come First Server

P1 P2 P3 0 3 6 30 P1 24 P2 3 P3 3

(14)

First Come First Server

P1 P2 P3 0 3 6 30 P1 24 P2 3 P3 3 TE (P1) = 6 TE (P2) = 0 TE (P3) = 3 Tempo de Espera
 Médio ! 3 ms

(15)

First Come First Server

• Desvantagens em se utilizar essa abordagem

• O tempo de espera mínimo geralmente não é o

mínimo

• Possui tempos de espera normalmente longos • E o tempo de espera pode variar muito se os

(16)

First Come First Server

• O algoritmo FCFS ele é não preemptivo

• Quando a CPU é alocada a um processo, ele

mantém a CPU até liberá-la, pelo término ou por uma requisição de E/S

(17)

Shortest Job First

• Shortest Job First

• Menor tarefa primeiro

• Quando a CPU estiver disponível, ela será alocada ao

processo que possui menor próximo burst de CPU

• Se forem iguais, utiliza-se FCFS

• Se baseia no fato de que o menor tempo médio é

obtido quando se executa primeiro os processos de menor ciclo de CPU (I/O-bound)

(18)

FILA DE PRONTOS P1 6 P2 8 P3 7 Tempo de Burst

Considere a seguinte execução de processos

P4

(19)

Shortest Job First

P1 P3 P2 0 3 9 24 P1 6 P2 8 P3 7 P4 3 P4 16 TE (P1) = 3 TE (P2) = 16 TE (P3) = 9 TE (P4) = 0 Tempo de Espera
 Médio ! 7 ms E se usássemos o FCFS?

(20)

Shortest Job First

• Neste tipo de escalonamento, os processos I/O-burst são

favorecidos. Por que?

• CPU-Burst curtos

• A grande dificuldade em se usar esse tipo de escalonamento

está no fato de que não é possível determinar exatamente o tempo do próximo burst de CPU de um processo

• normalmente é utilizado em processos hatch

• é possível prever o próximo tempo de burst baseado nos

(21)

Shortest Job First

• O algoritmo SJF apresentado até aqui é não

preembitivo

• O escalonamento só acontece quando o

processo é finalizado ou quando está executando um burst de I/O.

(22)

Shotest Job First

• Podemos alterar o SJF para que ele seja

preembitivo

• Essa algoritmo recebe o nome de SRTF

• Shortest Remaining Time First (menor tempo

restante primeiro)

• O SRTF retira o processo em execução se o novo

processo que chegar tiver burst de CPU menor que o restante do processo em execução

(23)

FILA DE PRONTOS P1 8 | 0 P2 4 | 1 P3 9 | 2 Tempo de Burst

SJF Preempitivo

P4 5 | 3

burst de CPU | ordem de chegada

0 1

(24)

SJF Preemptivo

P1 P2 P3 0 1 5 17 P4 10 TE (P1) = 10 -1 = 9 TE (P2) = 1 - 1 = 0 TE (P3) = 17 - 2 = 15 TE (P4) = 5 - 3 = 2 Tempo de Espera
 Médio ! 6,5 ms

E se usássemos o Não Preemptivo?

P1 8 | 0 P2 4 | 1 P3 9 | 2 P4 5 | 3 P1 26

(25)

Escalonamento por

prioridade

• O algoritmo SJF, visto anteriormente, é um caso

especial do algoritmo de escalonamento por prioridade

• Nesse caso a prioridade é o tempo de burst de CPU • Um prioridade é associada ao processo e a CPU é

alocada para aqueles processos com maior prioridade

• Processos com mesma prioridade são escalonados na

(26)

Escalonamento por

prioridade

• O SJF é um algoritmo por prioridade no qual a prioridade

é o inverso do próximo burst de CPU (previsto). Quanto maior o burst de CPU, menor a prioridade, e vice-versa.

• Normalmente as prioridades são determinadas por

intervalos de 0 a N.

• Não existe uma regra que determine se 0 é de maior ou

menor prioridade. Depende do sistema.

• Vamos considerar que números baixos representam alta

(27)

Escalonamento por prioridade

P5 P2 P3 0 1 6 16 P4 TE (P1) = 6 TE (P2) = 0 TE (P3) = 16 TE (P4) = 18 TE (P5) = 1 Tempo de Espera
 Médio ! 8,2 ms

E como definimos as prioridades?

P1 10 | 2 P2 1 | 0 P3 2 | 3 P4 1 | 4 P1 18 P5 5 | 1 19

(28)

Escalonamento por

prioridade

• As prioridades podem ser definidas por meio

interno ou externo

• Interna: limite de tempo, requisitos de memória,

número de arquivos abertos e a razão entre burst de CPU e burst de I/O

• Externa: importância de um processo, o tipo,

quantidade de fundos pago pelo uso do computador etc.

(29)

Escalonamento por

prioridade

• Assim como no SJF, o escalonamento pode ser

preemptivo ou não preemptivo

• No escalonamento preemptivo, se um processo

com maior prioridade chegar a fila de pronto, o processo em execução é trocado pelo novo

processo.

• No escalonamento não-preemptivo, o processo vai

para o início da fila de pronto e espera o processo em execução finalizar.

(30)

Escalonamento por

prioridade

• Qual o problema dos algoritmos por prioridades?

• Um algoritmo de prioridade pode deixar um processo

de baixa prioridade esperando indefinidamente pela CPU

Esse problema é conhecido como: starvation (ou

bloqueio indefinido)

• Exemplo: desativação do IBM 7094 no MIT 1973

• Encontraram um processo de baixa prioridade iniciado

(31)

Escalonamento por

prioridade

• Qual solução?

• Envelhecimento (aging)

• Na técnica de envelhecimento, aumenta-se

gradualmente a prioridade dos processos que estão esperando no sistema por um longo tempo

(32)

Escalonamento Round-Robin

• Semelhante ao escalonamento FCFS, mas a

preempção é acrescentada para alternar entre os processos.

• É definida uma pequena quantidade de tempo

(quantum de tempo ou fatia de tempo) é definida

• O escalonador percorre a fila de prontos, alocando

a CPU a cada processo por um intervalo de tempo até 1 quantum de tempo

(33)

FILA DE PRONTOS P1 24 P2 3 P3 3 Tempo de Burst

Escalonamento RR - Exemplo

Quantum de tempo: 4ms 0! 1! 2! 3! 4! 5! 6! 7! 8! 9! 10! 11! 12! 13! 14! 15! 16! 17! 18! 19! 20! 21! 22! 23! 24! 25! 26! 27! 28! 29! 30 0! 1! 2! 3! 4! 5! 6! 7! 8! 9! 10! 11! 12! 13! 14! 15! 16! 17! 18! 19! 20! 21! 22! 23! 24! 25! 26! 27! 28! 29! 30

(34)

Escalonamento Round-Robin

P1 P2 P3 0 4 7 10 P1 24 P2 3 P3 3 P1 P1 P1 P1 P1 14 18 22 26 30 TE (P1) = 10 - 4 = 6 TE (P2) = 4 TE (P3) = 7 Tempo de Espera
 Médio ! 5,66 ms

(35)

Escalonamento Round-Robin

• Nenhum processo recebe a CPU por mais de 1

quantum de tempo seguido (ao menos que seja o único processo executável)

• Se o burst CPU ultrapassar 1 quantum de tempo,

esse processo é interrompido e colocado de volta para a fila de prontos

(36)

Escalonamento Round-Robin

• O desempenho do escalonamento RR depende do

tamanho do quantum

• Quantum extremamente grande: RR = FCFS • Quantum extremamente pequeno:

processor sharing (compartilhamento de processos) cria a aparência de que cada n processos possui

seu processador executando a 1/n da velocidade do processador

(37)

Escalonamento Round-Robin

• No algoritmo de escalonamento RR precisamos

considerar a troca de contexto no desempenho tempo do processo = 10 0 6 10 0 1 2 3 4 5 6 7 8 9 10 quantum trocas de contexto 12 6 1 0 1 9

(38)

Escalonamento Round-Robin

• O turnaround também depende do tamanho do

quantum

• Uma regra prática é que 80% dos burst de CPU

(39)

Escalonamento Multilevel

Queue

• Técnica de escalonamento utilizada para casos em

que os processos são organizados em diversos grupos

• Exemplo:

• Processos de primeiro-plano • Processos de segundo-plano

(40)

Escalonamento Multilevel

Queue

• Técnica de escalonamento utilizada para casos em

que os processos são organizados em diversos grupos

• Exemplo:

• Processos de primeiro-plano • Processos de segundo-plano

(41)

Escalonamento Multilevel

Queue

• Por que organizá-los em grupos diferentes?

• Os processos podem possuir requisitos e prioridades diferentes

• Por exemplo:

• No caso de processos de primeiro plano e segundo plano, os processos podem possuir requisitos de tempo de

resposta diferentes.

• Além disso, processos de primeiro plano podem ter

prioridade superior se comparadas com os processos de segundo plano

(42)

Escalonamento Multilevel

Queue

• Cada fila possui seu próprio

algoritmo de escalonamento

• Primeiro plano: RR

• Segundo plano: FCFS • Deve haver um

escalonamento entre as filas

• Definir prioridades

• Dividir o tempo entre as

filas

(43)

Escalonamento Multilevel

Feedback Queue

• No caso do Escalonamento Multilevel, o processo

era atribuído a uma fila permanentemente.

• No caso do Multilevel Feedback Queue, os

processos podem trocar de filas

• Os processos podem mudar de prioridade e

(44)

Escalonamento Multilevel

Feedback Queue

• Organizar os processos de acordo com diferentes

características de burst

• Se um processo utiliza muito burst de CPU, este

processo pode ser movido para uma fila de menor prioridade

Utilizado também para evitar o starvation

• Se um processo espera muito tempo em uma fila de

menor prioridade ele pode ser movido para uma fila de maior prioridade

(45)

Escalonamento Multilevel

Feedback Queue

0 1 2

(46)

Escalonamento Multilevel

Feedback Queue

0 1 2 10 22 Quantum: 8 ms Quantum: 16 ms FCFS

(47)

Escalonamento Multilevel

Feedback Queue

• Para definir um Escalonamento Multilevel Feedback precisamos determinar alguns parâmetros

• O número de filas

• O algoritmo de escalonamento de cada fila

• O método usado para determinar quando mover um processo para uma fila de maior prioridade

• O método usado para determinar quando mover um processo para uma fila de menor prioridade

(48)

Escalonamento Multilevel

Feedback Queue

• É o algoritmo mais genérico aqui estudado • Ele pode ser configurado de acordo com a

necessidade do sistema

• Ele é o mais complexo dada a quantidade de

(49)
(50)

Referências

Referências

Documentos relacionados

Analysis of relief and toponymy of the landscape based on the interpretation of the military topographic survey: Altimetry, Hypsometry, Hydrography, Slopes, Solar orientation,

17 CORTE IDH. Caso Castañeda Gutman vs.. restrição ao lançamento de uma candidatura a cargo político pode demandar o enfrentamento de temas de ordem histórica, social e política

O candidato poderá obter informações e orientações sobre o Simulado Virtual, tais como Editais, processo de inscrição, horário de prova, gabaritos, ranking e resultados

 Não guarde dúvidas, pergunte a sua professora, ela está à disposição (mande mensagem quando precisar). Lembre-se de tirar um tempinho para ler. A pastinha com as

A seleção portuguesa feminina de andebol de sub-20 perdeu hoje 21-20 com a Hungria, na terceira jornada do Grupo C do Mundial da categoria, a decorrer em Koprivnica, na

índios, durante o prazo de validade do Concurso Público, conforme a legislação vigente e conforme consta no Regulamento. 4.8 Os candidatos que desejarem concorrer

INDICADORES AMBIENTAIS ESSENCIAIS: UMA ANÁLISE DA SUA UTILIZAÇÃO NOS RELATÓRIOS DE SUSTENTABILIDADE DAS EMPRESAS DO SETOR DE ENERGIA ELÉTRICA SUL AMERICANO, ELABORADOS

Item Qtde Unid Especificação Empresa Vencedora Valor Licitado Total. 5