Escolar Documentos
Profissional Documentos
Cultura Documentos
Memoria
Memoria
registradores
Memria cache
Memria principal
Disco eletrnico
Disco magntico
Disco ptico
Fita magntica
Gerenciamento
13
de
Memria
vos que compem o sistema hierrquico de memria deve ser suportado pelo sistema operacional da forma mais transparente e segura possvel. Com esta estrutura possvel alcanar os
seguintes marcos:
1. decrscimo no custo global do sistema por bit armazenado;
2. aumento da capacidade global de armazenamento;
3. melhoria do desempenho (tempo de acesso);
4. reduo do nmero de acessos memria principal.
a) Registradores
Localizados no interior da UCP, servem de memria (buffer) para as operaes internas a UCP e so de acesso exclusivo ao processo corrente. Resumem-se a alguns poucos registradores, cujo nmero e tamanho depende da arquitetura interna de hardware da UCP. So
de tamanho fixo e normalmente idntico ao da palavra de memria.
b) Cache
uma memria RAM de tamanho reduzido e com velocidade de acesso bem mais elevada do que a da memria principal. utilizada com o objetivo de acelerar a execuo dos
processos possibilitando acesso mais rpido quelas palavras mais freqentemente referenciadas e, com isto, explorar o princpio da localidade de referncia dos dados e dos programas.
A cache geralmente localizada dentro da UCP, compartilhando da arquitetura interna
e dos barramentos desta. Funcionalmente, a cache se situa entre os registradores e a memria
principal e, assim, toda operao de leitura (ou escrita) na memria tem sua execuo, primeiramente, tentada na memria cache (fig. VII.2).
CPU
CACHE
MP
OU
UCP
palavras
Cache
blocos
MP
14
VII
Antonio G. Thom
Cap.
O uso da cache otimiza o acesso memria principal, geralmente muito mais lenta, por
esta servir UCP em grande parte dos acessos e evitar assim, a ida at a MP. O tempo de
acesso nestes casos passa a ser dado pela seguinte expresso:
onde,
tma
tc
tmp
hit
Assim, se por exemplo, um computador possui memria principal com tempo de acesso
da ordem de 1.5s e memria cache com tempo de acesso da ordem de 0.1s. O tempo necessrio para ler 1000 bytes com taxas de hit respectivamente de 0%, ou seja, 100% de acesso
memria principal, e de 85%, ser:
a) tma1 = 1000 * (0.1 + 1.5) = 1.6ms e
b) tma2 = 1000 * (0.1+ 0.15 * 1.5) = 325s
Outras medidas de desempenho so eficincia de acesso (T1/Tma) e de custo (Cs). Em
outras palavras:
T1
=
Tma
1
hit + (1 hit )
T2
T1
onde,
Tma
T1
T2
hit
Observe que quanto mais T1/Tma se aproxima de 1, maior ser o grau de eficincia do
sistema.
e
C S + C2 S2
Cs = 1 1
S1 + S2
onde,
Cs
C1
C2
S1
S2
Gerenciamento
15
de
Memria
A eficincia agora est direo da proximidade de Cs com C2, uma vez que C1 tende a
ser muito maior que C2. Isto geralmente requer que S1 seja muito menor que S2.
O projeto de uma memria cache envolve os seguintes aspectos:
1.
2.
3.
4.
5.
Tamanho da cache
Unidade de transferncia com a MP
Funo de alocao
Algoritmo de substituio
estratgia para operaes de escrita
MP
Cache
Tag
Bloco
Bloco de comprimento K
Bloco de
k palavras
palavra
16
VII
Antonio G. Thom
Cap.
CACHE
CPU
MP
write
CPU
CACHE
read
write
MP
CPU
MP
write
CACHE
CPU
read
MP
write
Figura VII.7 - Esquema de write-back com hit, (a) escreve apenas na CACHE tantas vezes
quantas necessrias, (b) escreve (copia) o dado na MP uma nica vez ao final do processamento ou quando necessrio para abrir espao na Cache
Gerenciamento
17
de
Memria
CPU
CACHE
MP
write
bits/clula
1
8
12
16
24
32
48
60
18
VII
Antonio G. Thom
Cap.
e) Memria Secundria
Prov flexibilidade (memria virtual), segurana (backup) e maior capacidade de armazenamento ao sistema. Inclui os seguintes dispositivos:
discos magnticos fitas magnticas discos pticos -
Registrador Fence
SO
Processo do
usurio
Espao
livre
Gerenciamento
19
de
Memria
registrador fence
add fence
PROCESSO
S
MEMO
address
N
Address
Violation
SO
Registrador Fence
rea livre
Usurio
20
VII
Antonio G. Thom
Cap.
SO
255K
Mod.
Principal
Usurio
510K
1M
Mod.
A
200K
Mod.
B
230K
SO
Partio #1
Partio #2
Partio #3
Gerenciamento
21
de
Memria
C
ou
6Kb
1.5Kb
Part #2 8 Kb
3Kb
Part #3 5Kb
22
VII
Antonio G. Thom
Cap.
ficado na figura VII.15 abaixo, os espaos iam se tornando cada vez menores e, por no serem
contguos, no podiam ser reagrupados para execuo de novos processos.
O tratamento deste problema veio com a introduo da tcnica de compactao. Porm com a restrio de um custo computacional mais elevado.
SO
4Kb
D
5Kb
Proc A
fragmentos
Proc B
2Kb
Proc C
SO
4Kb
sada de B
4Kb
Proc A (3K)
Proc A (3K)
Proc B (5K)
6 Kb
1Kb
Proc C (7K)
Proc C (7K)
SO
SO
4Kb
sada de B
Proc A (3K)
10Kb
Proc B (5K)
1Kb
Proc C (7K)
Proc A (3K)
Proc C (7K)
Gerenciamento
23
de
Memria
Envolve a relocao de todas as parties ocupadas, eliminando assim todos os espaos vazios entre elas e criando uma nica rea livre e contgua de memria. Esta soluo reduz
o problema da fragmentao, porm a complexidade do seu algoritmo e o custo computacional
para sua operacionalizao podem torn-lo invivel (fig. VII.17).
b.3.1) Estratgias para Escolha da Partio
A escolha da partio pelo SO merece cuidado especial uma vez que reflete no nvel de
fragmentao gerado e no desempenho global do sistema. Trs estratgias bsicas so comumente adotadas: best-fit; worst-fit e first-fit. O SO mantm uma lista de reas livres, com o endereo e o tamanho de cada uma.
Best-fit - alocada a partio que deixa a menor rea livre (fragmentao). A tendncia da memria ficar cada vez mais com pequenas reas no contguas, tornando mais crtico o problema da fragmentao.
Worst-fit - alocada a partio que deixa a maior rea livre. Tem a tendncia de
deixar espaos livres maiores e no provocar fragmentaes to pequenas como no
caso do best-fit.
First-fit - alocada a partio de endereo mais baixo. Apresenta grandes chances
de permitir a existncia de parties maiores nos endereos mais elevados.
VII.3 Swapping
A tcnica de swapping veio para tentar minorar o problema da insuficincia de memria
para a execuo dos processos em ambiente multiprogramado. Consiste na transferncia automtica de todo um processo da MP para o disco (swap out) e vice-versa, do disco para a MP
(swap in), conforme exemplificado na figura VII.18 abaixo.
Memria
Disco
Swap out
B
X
Z
Swap in
24
VII
Antonio G. Thom
Cap.
O conceito de swapping permitiu um maior compartilhamento da MP e, consequentemente, um maior throughput. Seu maior problema o elevado custo das operaes de E/S
(swap in/out).
instruo
reg. base
cod
endereo
+
end. memria
Gerenciamento
25
de
Memria
Espao Virtual
Espao Real
Mapeamento
26
VII
Antonio G. Thom
Cap.
Observe que neste esquema de memria virtual, cada referncia a memria se converte,
na melhor das hipteses, em dois acessos a memria principal, um para leitura da page table e
outra para acesso ao dado propriamente dito. Na ocorrncia de um page fault, alm dos acessos acima referenciados, tem-se o acesso ao disco para carga dos dados e, antes disso, se necessrio, o salvamento de algum dado em memria para abertura de espao.
nr. da pgina
virtual
deslocamento
Endereo Virtual
Page Table
infos. gerais
a nvel proc
end do frame
Valid e modified
bits
endereo fsico
end do frame
deslocamento
memria principal
frame
frame
byte
Gerenciamento
27
de
Memria
28
VII
Antonio G. Thom
Cap.
A
B
C
D
A
0
1
0
0
(a)
B C
0 0
0 1
0 0
0 0
D
0
1
0
0
A
0
1
0
1
(b)
B C
0 0
0 1
0 0
1 1
D
0
0
0
0
A
0
0
0
0
(c)
B C
1 1
0 1
0 0
1 1
D
1
0
0
0
A
0
1
0
0
(d)
B C
0 1
0 1
0 0
0 1
D
1
1
0
0
2
3
1
Gerenciamento
29
de
Memria
analisa os bist "R" e "M" (modified bit) de todas as pginas do working set e as classifica em
04 grupos:
classe 1:
classe 2:
classe 3:
classe 4:
30
VII
Antonio G. Thom
Cap.
Tabela de Smbolos
Texto Fonte
(a)
Esquema unidimensional
de endereamento virtual
Tabela de Constantes
Pilha de Chamadas
( b ) Esquema multidimensional
seg. 0
seg.
1
Tab.
Smbo
Fonte
seg.
2
Tab.
Ctes.
seg.
3
seg.
4
rvo
re
Pilha
los
Gerenciamento
31
de
nr. do segmento
virtual
deslocamento
Memria
Endereo Virtual
Segment Table
infos. gerais
a nvel proc
end do seg.
Valid e modified
bits
end do seg.
endereo
fsico
deslocamento
memria principal
Segmento
segmento
byte
f) Segmentao_com_Paginao
Conceitualmente a reunio das tcnicas de segmentao e de paginao. O processo
logicamente segmentado (como na tcnica de segmentao) e agora, dentro de cada segmento
ele subdividido em pginas de tamanho fixo.
O endereo virtual agora formado por um nmero de segmento, um nmero de pgina e um deslocamento (offset) dentro da pgina. O mapeamento requer uma etapa a mais do
que o necessrio para as duas tcnicas anteriores, conforme pode ser visto na figura VII.25 a
seguir.
Fazendo-se uma anlise das 3 estratgias de organizao do esquema virtual, pode-se
constatar que:
32
VII
Antonio G. Thom
Cap.
segmento
page
offset
endereo virtual
page table
page table
end. frame
segment table
endereo fsico
frame
offset
W
0
0
1
descrio
sem acesso
apenas leitura
leitura e gravao
Gerenciamento
33
de
Memria
A utilizao de cdigo reentrante no s otimiza a ocupao da MP, uma vez que evita
a coexistncia de cpias idnticas de um mesmo trecho de programa na memria, mas tambm
melhora o desempenho dos programas, uma vez que reduz a paginao ou segmentao destes
pelo fato do programa reentrante permanecer residente em memria.
Processo A
Memria Principal
frame reentrante
Pgina do
Processo
Reentrante
Page Table A
Processo B
frame reentrante
Page Table B