Professional Documents
Culture Documents
Arquitetura de Sistemas Operacionais - Capitulo 10 de Francis Berenger Machado Luiz Paulo Maia
Sumrio
Memria Virtual por Segmentao Memria Virtual por Segmentao com Paginao Swapping em Memria Virtual Thrashing
Introduo
Vantagens...
Maximizar o nmero de processos na memria. Reduzir a fragmentao. Permitir estruturas e dados maiores que a memria.
Endereo virtual 1 Endereo virtual 2 Endereo virtual 3 Endereo virtual 4 Endereo virtual 5
. . .
Endereo virtual V
. . .
Endereo real R
Mapeamento
Memria Virtual
. . .
Memria Principal
. . .
Mapeamento
Um programa no ambiente de memria virtual no faz referncia a endereos fsicos de memria , mas apenas endereos virtuais. No momento da execuo da instruo, o endereo virtual, uma vez solicitado traduzido para um endereo fsico, essa traduo chamada de mapeamento.
Mapeamento
O mecanismo de traduo que realizada por um hardware junto com o sistema operacional se encarrega de manter tabelas de mapeamento exclusivas para cada processo, relacionando endereos virtuais do processo s suas posies na memria real. Se um novo processo executado, o sistema passa a referenciar a tabela do novo processo. Essa troca de tabelas realizada atravs de um registrador.
Mapeamento
Espao de endereamento virtual de A T abela de mapeamento de A
Endereo virtual 1
Tabela de Mapeamento
. . .
Memria P rincipal
P rocesso A
Endereo virtual 1
. . .
P rocesso B
Mapeamento
As tabelas mapeiam blocos de dados cujo tamanho determina o numero de entradas existentes nas tabelas de mapeamento. Quanto maior o bloco, menos entradas nas tabelas de mapeamento e por conseqncia, tabelas de mapeamento que ocupam um espao menor de memria.
Mapeamento
Espao virtual x tamanho do bloco
Tabela de pginas
. . .
Pgina real R
. . . .
Pgina virtual V
Memria Secundria
End. do frame
Desloc.
Mecanismo de traduo
Bit de validade 0
Pag e
P age in
f au
lt
O nmero de page faults gerado por um processo em um determinado intervalo de tempo definido como taxa de paginao do processo.
Memria secundria
Mecanismo do sistema operacional que determina qual pgina ser liberada aps um processo atingir o seu limite de alocao de frames e necessita alocar novas pginas na memria principal.
Arquivo de paginao
Page o
ut
Page in
Working Set
O conceito surgiu com objetivo de reduzir o problema do thrashing e est relacionado ao principio de localidade.
Localidade Espacial: a tendncia de que aps uma referncia a uma posio de memria sejam realizadas novas referncias a endereos prximos. Localidade Temporal: a tendncia de que aps a referncia a uma posio de memria esta mesma memria seja novamente referenciada em um curto intervalo de tempo.
Working Set
A partir da observao do principio da localidade, Peter Denning formulou o conceito de working set que definido como sendo o conjunto das pginas referenciadas por um processo durante determinado intervalo de tempo. Janela do working set ( t)
P2 P3 P2 P8 t1 t2
W(t2, t) tempo
Working Set
P2 P3 P4 P5 P2 P5 P5 P5 P5 P6 t1 ta t2 tb t3
tempo
NRU (Not-Recently-Used): Para implementao desse algoritmo necessrio um bit adicional, conhecido como bit de referncia. O bit indica se a pgina foi utilizada recentemente e est presente em cada entrada da tabela de pginas. FIFO com buffer de pginas: Combina uma lista de pginas alocadas (LPA) com uma lista de pginas livres (LPL). A LPA organiza todas as pginas que esto sendo utilizadas na memria principal, podendo ser implementada como uma lista nica. A LPL organiza todos os frames livres da memria principal.
incio
(a)
(c)
(b)
fim
incio
BR= 0 P3
P5 (a)
P4
P5 (b)
P4
Tamanho de Pgina
Fragmentao interna
Pgina 0 PROGRAM Frag; VAR
Pgina 1
PROCEDURE A;
Pgina 2
END;
Pgina 3
BEGIN
Paginao em um nvel
Tabela de pginas 0 1 Endereo Virtual 2 NPV 20 bits Desloc. 4 Mb 12 bits
(2 -1) 32 bits
20
Tabela diretrio
Tabela de pginas
frame
0 1 2 3
1023
2000
1023
1 0 1
Memria secundria
Campos da TLB
Proteo de Memria
L G
Endereo da pgina/segmento
Bits de proteo
Proteo de Memria
Mecanismo de proteo
LG 00 10 11
Compartilhamento de Memria
Espao de endereamento virtual de A Tabela de mapeamento de A Endereo virtual 1
. . .
Memria Principal
Processo A Pgina
Endereo virtual 1
. . .
Processo B
Segmentao
Procedimento X PROGRAM Segmento; VAR A: ARRAY ... C: ... PROCEDURE X; END; FUNCTION Y ; END; BEGIN END. Varivel C Array A Programa Principal Funo Y
. . .
Desloc.
T abela de segmentos
Desloc.
Campos da ETS
Paginao x segmentao
N um. segmento
N um. pgina
Deslocamento
T abela de segmentos
T abela de pginas
Endereo do frame
Deslocamento
Endereo fsico
Processo F
Processo A Processo B
Processo C
Sw
ap
ou
t
Processo D Processo E
Memria Principal
Processo B Processo A
ap Sw
in
Processo C Processo F
Arquivo de swapping
Processo B Processo D
Thrashing
Excessiva transferncia de pginas e/ou segmentos entre a memria principal e memria secundria Ocorre em dois nveis:
no prprio processo
no sistema
Thrashing
Se existirem mais processos para serem executados que memria real disponvel, a nica soluo a expanso da memria principal.
Este problema no ocorre apenas em sistemas que implementam memria virtual, mas tambm em sistemas com outros mecanismos de gerncia de memria
Alunos:
Rita de Cssia Portugal Gomes Gavinho Dayana Mafilzo Campos Ribeiro Laurence Labuto Saad Turma: 123