Académique Documents
Professionnel Documents
Culture Documents
Sistemas Operacionais
Alocao de memria Algoritmos para alocao local
Instituto de Informtica - UFRGS
! Premissa: a falta de pgina de um processo no pode ser resolvida reduzindo o conjunto de pginas de outro processo
Aula 19
Sistemas Operacionais
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
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
= 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
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
! Se a taxa alta, processo necessita de mais frames ! Se a taxa baixa, processo libera frames
A. Carissimi -10-mai-07
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)
! 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
Preveno do thrashing
! Memria virtual baseada no princpio da localidade ! Thrashing sempre que:
! da memria necessria a localidade > memria fsica disponvel (frames)
A. Carissimi -10-mai-07
Sistemas Operacionais
13
A. Carissimi -10-mai-07
Sistemas Operacionais
14
! 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
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
! 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
A. Carissimi -10-mai-07
Sistemas Operacionais
21
Sistemas Operacionais
22
Estrutura do programa
! Exemplo
! Vetor A[1024, 1024] de inteiros ! Cada linha armazenada em uma pgina
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. Carissimi -10-mai-07
Sistemas Operacionais
25