• Nenhum resultado encontrado

Sistemas Operacionais

N/A
N/A
Protected

Academic year: 2021

Share "Sistemas Operacionais"

Copied!
7
0
0

Texto

(1)

Instituto de Informática

-U

FRGS

Sistemas Operacionais

Gerência do processador

(Escalonamento)

Aula 05

Instituto d e Informática -UFRGS

Introdução

Objetivos de um sistema operacional são:

 Eficiência: relação entre o uso efetivo de um recurso e a quantidade desse recurso disponível no sistema para uso

 Conveniência: qualidade de serviço prestado ao usuário  Não interferência

É comum o compromisso entre eficiência e conveniência

 Duas visões: uma do usuário (conveniência), outra do sistema (eficiência)  Deve ser eficaz: implica “cuidar” da eficiência sem esquecer da conveniência

Noção de escalonamento de recursos

 Processador, memória e dispositivos de E/S

Sistemas Operacionais 2 A. C arissimi -21-mars-1 8

Escalonamento vale tanto para processos como para threads

Instituto d e Informática -UFRGS

Escalonamento

Conceito genérico:

 Ação de selecionar a próxima requisição a ser atendida por um serviço  Cinco eventos: chegada, admissão, seleção, preempção e conclusão

Existem diferentes níveis de escalonamento de processos

 Curto prazo: gerência do processador  Médio prazo : gerência de memória

 Longo prazo : controle de admissão (grau de multiprogramação)

A. C arissimi -21-mars-1 8 seleção término preempção chegada admissão Escalonador Recurso Fila de espera Instituto d e Informática -UFRGS

Níveis de escalonamento

A. C arissimi -21-mars-1 8 apto execução bloqueado término E/S ou sincronização Evento (E/S ou sincronização) dispatcher apto suspenso Bloqueado suspenso Criação Erro! Longo prazo Curto prazo Médio prazo Gerência do processador Gerência do memória Controle de multiprogramação cedência

(2)

Instituto

d

e Informática

-UFRGS

Escalonador de curto prazo

 Escalonamento curto prazo

 Processo de seleção de qual processo (thread) no estado apto usará a CPU Algoritmo de escalonamento: COMO a

escolha é feita  Despachante (dispatcher):

 responsável pela troca de contexto  Latência: tempo para parar um processo

e iniciar o próximo Sistemas Operacionais 5 A. C arissimi -21-mars-1 8 apto execução bloqueado término E/S ou sincronização Evento dispatcher P2 P1 Salva contexto de P1 Despachante recupera contexto de P2 Escalonador (política) Modo usuário Modo núcleo P1 Salva contexto de P2 Despachante recupera contexto de P1 Cedência Instituto d e Informática -UFRGS

Gerência do processador

O escalonador é executado QUANDO um processo

 é criado*

 de executando vai para bloqueado  de executando retorna para apto  de bloqueado passa para apto*  termina a execução

Conceito de preempção

 Retirada involuntária (cedência) de um processo do estado “executando”  Pode ser por tempo ou por prioridade

 Escalonadores preemptivos e não preemptivos (cedência voluntária)

Sistemas Operacionais 6 A. C arissimi -21-mars-1 8 apto executando bloqueado término E/S ou sincronização Evento Cedência

*se o escalonador for preemptivo por prioridade CPU livre d e Informática -UFRGS

QUEM chama o escalonador?

Interrupção de software (chamada de sistema)

 Término

 Liberação voluntária da CPU  Operação de E/S

 Primitiva de sincronização

Interrupção de hardware

 Tempo

 Conclusão da operação de E/S

Escalonadores

 Não preemptivo ou cooperativo: apenas via interrupção de software  Preemptivo: interrupção de software e interrupção de hardware

C arissimi -21-mars-1 8 d e Informática -UFRGS

Objetivos gerais do escalonamento

Sistemas não interativos (em lote ou batch)

Maximizar o número de tarefas por unidade de tempo (vazão ou throughput)Minimizar o tempo entre submissão e término (tempo de retorno ou turnaround)Minimizar o tempo no estado apto (tempo de espera ou waiting time)

 Manter a CPU ocupada a maior parte do tempo

Sistemas interativos

Responder rapidamente as requisições (tempo de resposta ou response time)  Satisfazer as expectativas dos usuários (proporcionalidade, ou seja, tempo

esperado para executar uma tarefa)

Sistemas de tempo real

 Cumprir prazos no atendimento de eventos  Previsibilidade ou determinismo C arissimi -21-mars-1 8 Ainda: Justiça Respeitar políticas locais

(3)

Instituto

d

e Informática

-UFRGS

Ciclo de CPU e ciclo de E/S

Processo realiza ciclos de CPU e de E/S na sua execução

 Classificação de acordo com a duração relativa desses ciclos

Limitado por CPU (CPU bound): possui longos ciclos de uso da CPULimitado por E/S (I/O bound): possui curtos ciclos de uso da CPU e faz E/S

Objetivo é mesclar adequadamente processos CPU bound e I/O bound

 “Sucesso” do escalonador

 Uso eficiente do processador e dos recursos de E/S (sobreposição dos ciclos)

Sistemas Operacionais 9 A. C arissimi -21-mars-1 8 CPU CPU

Pi CPU E/S CPU

E/S E/S PJ (espera) Instituto d e Informática -UFRGS

Algoritmos de escalonamento

Algoritmos básicos de escalonamento

First Come, First ServedShortest Job First  Por prioridade  Round-Robin

 Múltiplas filas e múltiplas filas com realimentação

Há outros

 Variações e combinação dos algoritmos básicos  Tempo real (fora do contexto da disciplina)

Sistemas Operacionais 10 A. C arissimi -21-mars-1 8 apto executando bloqueado término E/S ou sincronização Evento Instituto d e Informática -UFRGS

First Come, First served (FCFS)

Implementado por uma fila em política FIFO

 Processos que entram em “apto” são postos no final da fila

 Seleciona para execução o processo “apto” que está na frente da fila

Escalonador do tipo não preemptivo

Vantagens e desvantagens

 Simples de implementar  Tempo médio de espera variável  Efeito comboio

Processos I/O bound esperam (em apto) por um CPU bound  Subutilização de I/O

 Processos saem do bloqueado e esperam sua vez no estado apto

A. C arissimi -21-mars-1 8 Instituto d e Informática -UFRGS

Exemplo: First-Come, First-Served (FCFS)

 Ordem de chegada: P1, P2, P3  Diagrama de Gantt:  Tempo de espera : P1= 0; P2=24; P3=27  Tempo médio: (0 + 24 +27)/3 = 17 P1 P2 P3 24 27 30 0

Processo Ciclo CPU

P1 24 P2 3 P3 3  Ordem de chegada: P2, P3, P1  Diagrama de Gantt:  Tempo de espera : P1= 6; P2=0;P3=3  Tempo médio: (6+ 0 +3)/3 = 3 P1 P3 P2 6 3 30 0 A. C arissimi -21-mars-1 8 apto executando bloqueado término E/S ou sincronização Evento

(4)

Instituto

d

e Informática

-UFRGS

Shortest Job First (SJF)

Empregado em sistemas de lote (batch) antigos

Tarefa (job): “pacote fechado” (processamento e E/S)

Ordena crescentemente a lista de “aptos” pela duração da tarefa

 É um tipo de prioridade

Pode ser não preemptivo ou preemptivo

 Depende o que acontece com a tarefa que chega no “apto” com uma duração menor do que a tarefa que está usando o processador

Versão preemptiva: Shortest Remaining Time First (SRTF)

Vantagens e desvantagens

 Algoritmo ótimo (tempo de espera)  Conhecer previamente a duração da tarefa

Sistemas Operacionais 13 A. C arissimi -21-mars-1 8 Instituto d e Informática -UFRGS  Não preemptivo  Diagrama de Gantt:

 Tempo médio de espera:

=(0+ (8-1) + (12-3) + (17-2))/4 = 7,75

Exemplo: Shortest Job First (não preemptivo)

P1 P2 P4

12 26

0

P3

8 17

Processo Chegada Duração tarefa

P1 0 8 P2 1 4 P3 2 9 P4 3 5  Preemptivo  Diagrama de Gantt:

 Tempo médio de espera:

=(0+(1-1)+(5-3)+(10-1)+(17-2))/4 = 6.5 P1 P2 P4 5 26 0 P3 1 10 P1 17 Sistemas Operacionais 14 A. C arissimi -21-mars-1 8 apto executando bloqueado término E/S ou sincronização Evento d e Informática -UFRGS

Evolução do Shortest Job First

Um processo tem ciclos de CPU e de E/S

 Ordenar a lista de “aptos” baseado no ciclo de CPU, não na duração total  Vantagem sobrepor processamento com operações E/S (multiprogramação)

Estratégia é ordenar crescentemente a lista de “aptos” em função

do próximo ciclo de CPU

Seria algo do tipo Shortest Next CPU burst

Desvantagem continua

 como conhecer o ciclo futuro de uso do processador?

C

arissimi

-21-mars-1

8

Fazer estimativa de uso futuro baseado no comportamento passado Solução possível de Informática -UFRGS C arissimi -21-mars-1 8

Prevendo o futuro...

Pode ser feito utilizando os tempos de ciclos já passados e

realizando uma média exponencial

Forma simplificada:

 Tempo_futuro_estimado = tempo_ultimo_ciclo + tempo_passado

Fator

 fornece importância para o passado recente (último ciclo)

ou para a história (ciclos passados)

(5)

Instituto d e Informática -U FRGS Sistemas Operacionais 17 A. C arissimi -21-mars-1 8

Exemplo de “previsão do futuro”

Parâmetros: =0.5 0=10

Ciclo de CPU:

Real: 6 4 6 4 13 13 13

Previsto: 10 8 6 6 5 9 11 12 (valores truncados) Ciclo real Previsto n+1 Previsto n Instituto d e Informática -UFRGS

Escalonamento por prioridade

Prioridade é um valor numérico usado para ordenar processos

 Não há regra fixa para interpretar se menor valor é maior ou menor prioridade  Em caso empate usa um critério de desempate (tie-break)

Prioridade definida de forma

 Externa: fixa ,ou estática, via programa ou configuração  Interna: dinâmica, em função de consumo de recursos

Pode ser não preemptivo ou preemptivo

 Depende do que é feito quando processo de maior prioridade chega no apto

Problema com prioridades: inanição (starvation)

Solução paliativa: envelhecimento (agging)

 Aumento (incremental) temporário de prioridade até processo ser executado, após execução retorna a prioridade original

Sistemas Operacionais 18 A. C arissimi -21-mars-1 8 Instituto de Informática -UFRGS  Diagrama de Gantt:

 Tempo médio de espera: =(0 + 1 + 6 + 16 + 18)/5 = 8,2

Exemplo: por prioridade

Processo Ciclo CPU Prioridade

P1 10 3 P2 1 1 P3 2 4 P4 1 5 P5 5 2 A. C arissimi -21-mars-1 8 Menor valor, maior prioridade apto executando bloqueado término E/S ou sincronização Evento Instituto d e Informática -UFRGS

Round Robin (RR)

FCFS com preempção por tempo

 Implementação por uma fila circular (política FIFO)

Cada processo recebe um tempo máximo para usar a CPU

Fatia de tempo (quantum ou time slice)

Ao terminar o quantum é retirado da CPU e volta a fila de aptos

Problema: dimensionamento do quantum q

q →∞ : degringola para política FCFS (FIFO)

q ≈ 0 : excesso de chaveamento de contexto (perda de eficiência)  Eficiência versus conveniência

A.

C

arissimi

-21-mars-1

(6)

Instituto d e Informática -U FRGS

Dimensionamento do quantum

Sistemas Operacionais 21 A. C arissimi -21-mars-1 8 q q q e e

...

e N *(q + e) Eficiência Conveniência q’

...

N *(q´ + e) q´ ≈ e q >> e

Solução: quantum variável Solução: quantum variável

e e e

q = quantum; e = escalonador + dispachter

Instituto d e Informática -U FRGS  Diagrama de Gantt:

 Tempo médio de espera: =(0+ 4 + 7 + 6)/3 = 5,66

Exemplo: Round Robin

Processo Ciclo CPU

P1 24 P2 3 P3 3 Sistemas Operacionais 22 A. C arissimi -21-mars-1 8

quantum = 4 apto executando

bloqueado término E/S ou sincronização Evento d e Informática -UFRGS

Escalonamento multinível

 Quando os processos podem ser classificados em grupos

Exemplo: foreground x background; interativos x tempo real, sistema interativos x batch... C arissimi -21-mars-1 8 CPU Evento

Fila de bloqueados Espera por evento Preempção Fila apto 0 Dispatch Término Fila apto 1 Fila apto n Prioridade 0 Prioridade 1 Prioridade n executando  Cada grupo é associado a uma fila

 Prioridades diferentes  Busca um processo da

primeira fila de mais alta prioridade não vazia

 Cada fila pode ter uma política diferente

 Pode ser não preemptivo ou preemptivo

 Não é propriamente uma política

d

e Informática

-UFRGS

Escalonamento multinível com realimentação

C arissimi -21-mars-1 8 CPU Evento

Fila de bloqueados Espera por evento Preempção Fila apto 0 Dispatch Término Fila apto 1 Fila apto n Prioridade 0 Prioridade 1 Prioridade n executando  Baseado em prioridades dinâmicas

 Pode ser preemptivo ou não preemptivo

 Aspectos a definir  Quantidade de filas

 Algoritmo de escalonamento por fila

Método para fazer o upgrade e o downgrade da prioridade  Fila de entrada do processo

(7)

Instituto

d

e Informática

-UFRGS

Um ajuste a ser feito...

Escalonamento por fração justa (fair share)

Um escalonador deve ser justo com os usuários do sistema

 Tomar decisões baseados só em processos leva a injustiças

 Ex: usuário 1 com 9 processos e usuário 2 com 1 processo. O usuário 1 potencialmente usaria 90% do processador.

Solução:

 Considerar o proprietário do processo como parte do procedimento da política de escalonamento

 Dois usuários devem receber 50% do processador independente do número de processos que cada um deles detém

Sistemas Operacionais 25 A. C arissimi -21-mars-1 8 Instituto d e Informática -UFRGS Sistemas Operacionais 26 A. C arissimi -21-mars-1 8

Leituras complementares

A. Tanenbaum. Sistemas Operacionais Modernos (3

a

edição),

Pearson Brasil, 2010.

 Capítulo 2: seção 2.4

A. Silberchatz, P. Galvin; Sistemas Operacionais com Java. (7

a

edição). Campus, 2008.

 Capítulo 5 (seções 5.1 a 5.5)

R. Oliveira, A. Carissimi, S. Toscani; Sistemas Operacionais. Editora

Bookman 4

a

edição, 2010

Referências

Documentos relacionados

Ao analisarmos a relação entre os diferentes níveis de atividade física e as condições físicas de saúde dos idosos participantes do estudo, encontrou-se que os idosos

A massa seca de lâmina total (MSLT) apresentou diferença (P<0,05) entre as médias em relação às diferentes alturas de resíduo e de corte tanto para a produção total como para

Quando tratamos de constitucionalismo, estamos tratando da necessidade de limitação e controle dos abusos do poder do Estado e das autoridades constituídas, assim

cabendo salientar que por vezes, há a entrega de guias diferentes, relativas a divida ativa de anos passados juntamente com a do ano corrente. O Vereador ANTÔNIO

Franciso Gonzalez, no CAM-CCBC (Centro de Medição e Arbitragem da Câmara de Comércio Brasil-Canadá), em São Paulo. realizado no Brasil) “Masterclass” sobre Contratos

Esta orientação para o som como fundamento e horizonte poderia dis- tanciar Taborn do património histórico do piano, seja o do jazz como o mais lato que definiu a metalinguagem do

ABNT NBR 14725-3: Produtos químicos: Informações sobre segurança, saúde e meio ambiente: Parte 3: Rotulagem. ASSOCIAÇÃO BRASILEIRA DE

Mostramos diferentes abordagens da Teoria dos Traços Fonológicos Distintivos para representação das consoantes líquidas e adotamos a proposta de Avery e Rice (1991), que postulam o