Vous êtes sur la page 1sur 7

Introduo

Instituto de Informtica - UFRGS

Sistemas Operacionais
Alocao de memria Algoritmos para alocao local
Instituto de Informtica - UFRGS

! Constataes sobre o uso de memria


! Cada processo necessita de um conjunto mnimo de pginas para executar eficientemente ! O conjunto de pginas necessrias dinmica, isto , evolui com a execuo do processo

! O objetivo manter o conjunto timo de pginas de um processo em memria


! Cada processo tem um comportamento (caracterstica local)
A. Carissimi -10-mai-07

! Premissa: a falta de pgina de um processo no pode ser resolvida reduzindo o conjunto de pginas de outro processo

Aula 19

Sistemas Operacionais

Algoritmos locais de substituio de pginas


! Algoritmo timo ! Modelo de conjunto de trabalho (working set) ! Mtodo de freqncia de falta de pginas

Algoritmo timo
! Ajusta o nmero de pginas em memria de acordo com as futuras referncias ! Princpio bsico:
! Pgina P acessada no instante de tempo t ! Se pgina P no ser acessada nas prximas referncias, ela pode ser removida da memria " Define um janela de tempo ( t; t + ) " Tamanho da janela + 1 acessos
A. Carissimi -10-mai-07

Instituto de Informtica - UFRGS

Instituto de Informtica - UFRGS

A. Carissimi -10-mai-07

! Fator uma constante de projeto de sistema ! No realizvel devido a necessidade de conhecimento do futuro

Sistemas Operacionais

Sistemas Operacionais

Modelo working-set
! Aproximao do algoritmo timo que estima o futuro com base no passado ! Baseado no princpio da localidade ! Idia manter em memria, em um instante t, o conjunto de pginas acessadas por um processo no intervalo (t - ; t)
Instituto de Informtica - UFRGS

Problemas com working set


! Estimar o valor de
! = valor pequeno: no abrange toda a localidade do processo ! = valor grande: abrange vrias localidades " = : abrange todo o programa

! Custo da implementao em tempo de processamento


Instituto de Informtica - UFRGS

! constante do projeto do sistema

= 10 unidades
A. Carissimi -10-mai-07

! Working set recalculado a cada referncia ! Para reduzir o custo emprega-se aproximaes baseadas no bit de referncia em data de acesso (time stamp)
A. Carissimi -10-mai-07

...2 6 1 5 7 7 7 7 5 1 6 2 3 4 1 2 3 4 4 4 4 3 4 3 4 4 4 1 3 2 3 4...
WS={1, 2, 5, 6, 7} t1 WS={ 3,4} t2
5

Sistemas Operacionais

Sistemas Operacionais

Definio e manuteno do working set (aproximao 1)


! Aproximao baseada na consulta peridica do bit de referncia
! Aumento da freqncia de interrupo e do nmero de bits de referncia melhora a preciso da aproximao

Definio e manuteno do working set (aproximao 2)


! Baseada no bit de referncia e no tempo de acesso ! A cada referncias:
se (bit_referncia = 1) ento {bit_referncia = 0;
tempo_acesso = tempo_atual;}
Instituto de Informtica - UFRGS

! Tamanho da janela x n ! Pgina eliminada do working set quando chega a zero


Instituto de Informtica - UFRGS

referncias
Bit de referncia
A. Carissimi -10-mai-07

seno {toff = tempo_atual - tempo_acesso; se (toff > tmax ) Remove pgina do WS;}
referncias

t0

t1

t2

Shift-register (n bits)

A. Carissimi -10-mai-07

descarte

t0
Sistemas Operacionais

t1

t2
8

Sistemas Operacionais

Mtodo de freqncia de falta de pginas (FFP)


! A cada falta de pginas avalia o conjunto de pginas residentes em memria
! Remove da memria todas as pginas no referenciadas durante ti - ti-1 > onde ti o instante de tempo do acesso em que ocorre a falta de pgina ! Carrega na memria a pgina faltante
Instituto de Informtica - UFRGS

Mtodo da freqncia de falta de pginas

! Se a taxa alta, processo necessita de mais frames ! Se a taxa baixa, processo libera frames
A. Carissimi -10-mai-07

Instituto de Informtica - UFRGS


9

! Efeito prtico o estabelecimento de uma taxa de falta de pginas

A. Carissimi -10-mai-07

Sistemas Operacionais

Sistemas Operacionais

10

Thrashing
! Situao que ocorre quando um processo no possui um nmero mnimo adequado de frames alocados para sua execuo
! Provoca uma alta taxa de falta de pginas (page fault)

Conseqncias do thrashing (1)


! Queda de desempenho
! Baixa taxa de uso do processador para execuo de processos de usurios ! Sistema operacional pode pensar que est faltando processos aptos para execuo e permite a criao/adio de novos processos " Escalonador de mdio e longo prazo ! Adio de processos implica em maior necessidade de frames " Agrava a situao (efeito bola de neve)

! Um processo est em thrashing quando ele passa a maior parte de seu tempo de processamento paginando que executando
Instituto de Informtica - UFRGS Instituto de Informtica - UFRGS
11

A. Carissimi -10-mai-07

A. Carissimi -10-mai-07

Sistemas Operacionais

Sistemas Operacionais

12

Conseqncias do thrashing (2)


! Existe um ponto onde o grau de multiprogramao compromete o desempenho do sistema ! Efeito do thrashing pode ser limitado atravs de alocao local mas ainda afeta o desempenho global devido ao tratamento de page-fault
! Soluo evitar que o sistema entre em thrashing
Instituto de Informtica - UFRGS Instituto de Informtica - UFRGS

Preveno do thrashing
! Memria virtual baseada no princpio da localidade ! Thrashing sempre que:
! da memria necessria a localidade > memria fsica disponvel (frames)

! Soluo providenciar os frames necessrios a execuo do processo


! Baseado nos algoritmos de alocao

A. Carissimi -10-mai-07

Sistemas Operacionais

13

A. Carissimi -10-mai-07

Sistemas Operacionais

14

Usando working set para controlar thrashing


! Define-se WSSi como o working set size do processo Pi ! WSSi a quantidade total de frames necessrios no sistema em um dado instante ! Thrashing ocorre quando WSSi > m (quantidade de frames)
! Suspende um ou mais processos para evitar essa situao
Instituto de Informtica - UFRGS Instituto de Informtica - UFRGS

Usando FFP para controlar thrashing


! Thrashing a alta falta de pginas
! Objetivo controlar a taxa de faltas de pginas para manter dentro de um limite razovel

! Se muitos processos apresentam alta taxa de falta de pginas o escalonador (mdio prazo) seleciona processo(s) para o estado de suspenso

A. Carissimi -10-mai-07

Sistemas Operacionais

15

A. Carissimi -10-mai-07

Sistemas Operacionais

16

Poltica de controle de carga


! Problema: como balancear a taxa global de falta de pginas do sistema e o grau de multiprogramao? ! Controle da carga a poltica para manter um nmero de processos ativos sem prejudicar o desempenho global do sistema ! Como decidir quando aumentar ou diminuir o grau de multiprogramao?
! Baseado na taxa de paginao " Regra L=S (tempo mdio entre page faults/tempo mdio de atendimento) " regra 50% (disco usado metade do tempo para paginao) ! Qual processo deve sofrer swap se necessrio diminuir o grau de multiprogramao?

Escolhendo o processo vtima


! Critrios possveis:
! ! ! ! ! O processo de menor prioridade O processo que provocou a falta de pgina O ltimo processo que executou O menor processo O maior processo

Instituto de Informtica - UFRGS

Instituto de Informtica - UFRGS

! O melhor critrio dependente do sistema e de sua aplicao


A. Carissimi -10-mai-07

A. Carissimi -10-mai-07

Sistemas Operacionais

17

Sistemas Operacionais

18

Fatores adicionais
! Pr-paginao ! Seleo do tamanho da pgina ! Estrutura do programa

Pr-paginao
! Consiste em trazer para a memria todo o working-set de um processo
! Possvel para caso em que processos que esto realizando transies dos estados bloqueado/suspenso para apto

Instituto de Informtica - UFRGS

Instituto de Informtica - UFRGS

! Custo da pr-paginao deve ser menor que custo de tratamento de falta de pginas
! Qual frao () de pginas carregadas pela pr-paginao so efetivamente utilizadas? " Vale a pena: se o custo de trazer (1- ) pginas menor que o tratamento de falta de pginas.

A. Carissimi -10-mai-07

Sistemas Operacionais

19

A. Carissimi -10-mai-07

Sistemas Operacionais

20

Fatores a considerar na definio do tamanho de pginas


! Fragmentao ! Tamanho de estruturas internas do sistema operacional
! e.g.: tabela de pginas

Influncia do tamanho de pginas no sistema (1)


! Menor a pgina, menor a quantidade de fragmentao interna ! Menor a pgina, maior a quantidade de pginas que podem ser mantidas na memria principal
! Execuo tende a deixar em memria apenas as pginas que so necessrias (localidade) " Com muitas pginas, tendncia reduzir a taxa de page-fault

Instituto de Informtica - UFRGS

Instituto de Informtica - UFRGS

! Custo das operaes de E/S ! Localidade

! Menor a pgina, maior a quantidade de pginas por processo


! Tabela de pginas maior, ou seja, mais necessidade de memria
A. Carissimi -10-mai-07

A. Carissimi -10-mai-07

Sistemas Operacionais

21

Sistemas Operacionais

22

Influncia do tamanho de pginas no sistema (2)


! ! ! ! ! Maior a pgina, melhora a taxa de acerto da TLB Maior a pgina, menor a tabela de pgina Maior a pgina, maior a fragmentao interna Maior a pgina, maior o tempo de page-in/page-out Maior a pgina, tendncia a desperdiar a memria pois mantm alm das referncia necessrias, outras no utilizadas
! Conseqncia um aumenta na taxa de page-faults
A. Carissimi -10-mai-07

Estrutura do programa
! Exemplo
! Vetor A[1024, 1024] de inteiros ! Cada linha armazenada em uma pgina

! Programa 1 (1024 x 1024 page faults)


for j := 1 to 1024 do for i := 1 to 1024 do A[i,j]=0;

Instituto de Informtica - UFRGS

Instituto de Informtica - UFRGS

! Compilador reorganiza o cdigo para evitar page-faults


! Estrutura de dados ! Pilha
A. Carissimi -10-mai-07

! Programa 2 (1024 page faults)


for i := 1 to 1024 do for j := 1 to 1024 do A[i,j]=0;

Sistemas Operacionais

23

Sistemas Operacionais

24

Leituras complementares
! R. Oliveira, A. Carissimi, S. Toscani Sistemas Operacionais Editora Sagra-Luzzato, 2001.
! Captulo 7, sees 7.4 e 7.5

! A. Silberchatz, P. Galvin Operating System Concepts AddisonWesley.


Instituto de Informtica - UFRGS

! Captulo 9, sees 9.6 a 9.8

A. Carissimi -10-mai-07

Sistemas Operacionais

25

Vous aimerez peut-être aussi