aso – machado/maia – complem. por sidney lucena (unirio) 9/1 arquitetura de sistemas...
TRANSCRIPT
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/1
Arquitetura de Sistemas Arquitetura de Sistemas OperacionaisOperacionais
Francis Berenger MachadoFrancis Berenger MachadoLuiz Paulo MaiaLuiz Paulo Maia
Complementado por Sidney Lucena (Prof. UNIRIO)Complementado por Sidney Lucena (Prof. UNIRIO)
Capítulo 9Capítulo 9Gerência de MemóriaGerência de Memória
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/2
Conceitos Básicos
• Funções Básicas da Gerência de Memória:
– manter o maior número possível de processos em memória, maximizando o compartilhamento da CPU e demais recursos;
– maximizar o compartilhamento de espaço da memória;
– executar programas com requisitos de memória além da capacidade física da RAM;
– proteção das áreas de memória ocupadas por cada processo.
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/3
Alocação Contígua Simples
M em ór ia Pr in cip a l
Sistem aO peracion a l
Á rea p a rap rog ram a
• Maneira mais simples: alocação contígua da memória.
• Registrador delimita as áreas do Sist. Op. e do usuário (proteção).
• Uso ineficiente do espaço, somente um usuário ocupando-o.
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/4
Alocação Contígua Simples
M em ór ia Pr in cip a l
Reg istrad o rSistem a
O peracion a l
Á rea p a rap rog ram a
M em ór ia Pr in cip a l
Sistem aO peracion a l
Program ad o u su á r io
Á rea l ivre
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/5AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
Técnica de Overlay • A técnica de overlay permite que módulos independentes de
um mesmo programa sejam carregados numa mesma área de memória em momentos diferentes.
• Áreas de overlay definidas pelo programador.
• Expande limites da memória principal.
• Não possui compartilhamento por usuário.
M em ória Pr in cip a l
C ad astra m en to
Im pressão
Sistem a O p eracion a l2 Kb
3 Kb
4 Kb
4 Kb
2 Kb
2 Kb1 Kb
M ódu lo p rincip a l
Á rea d e ove rlay
Á rea l ivre
Á rea n ãou til izada
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/6AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
Alocação Particionada Estática
M em ória Pr in cipa l
Sistem a O p eracion a l
2 Kb
5 Kb
8 Kb
Pa rtiçã o 1Pa rtiçã o
Tab ela de pa rtiçõ es
Tam a nh o
1 2 Kb
2 5 Kb
3 8 Kb
Pa rtiçã o 2
Pa rtiçã o 3Program as a serem executado s:
AE
3 Kb
D
6 Kb
C
1 Kb
B
4 Kb 2 Kb
• Memória é dividida em partições fixas, cada processo ocupará uma determinada partição estabelecida na inicialização do sistema.
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/7
Alocação Particionada Estática Absoluta
M em ória Prin cip a l
Sistem a O p eracion a l
2 Kb
5 Kb
8 Kb
Pa rtiçã o 1
Pa rtiçã o 2
Pa rtiçã o 3
A
B
D
C
E
3 Kb
6 Kb
1 Kb
4 Kb
2 Kb
• Compiladores geram códigos absolutos, ou seja, todas as referências a endereços são posições físicas na memória principal.
• Programas só podem ser executados em partição determinada.
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/8
Alocação Particionada Estática Relocável
M em ór ia Prin cip a l
Sistem a O p eracion a l
2 Kb
5 Kb
8 Kb
Program a C
Program a A
Program a B
ED
6 Kb 3 Kb
• Compiladores geram códigos relocáveis, ou seja, todas as referências a endereços são posições relativas ao início do código
• Programas podem ser executados em qualquer partição
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/9
Tabela de Alocação de Partições
• P/manter controle das partições, é gerada uma tabela de alocação.
M em ória Pr in cipa l
Sistem a O p eracion a l
1
2
3
Program a C
Á rea l ivre
Program a B
Pa rtiçã o Tam a nh o Livre
1 2 Kb N ão
2 5 Kb Sim
3 8 Kb N ão
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/10
Proteção na Alocação Particionada
M em ória Pr in cip a l
Sistem a O p eracion a l En dereço in icia l
En dereço fin a l
• Proteção se dá através de registradores que armazenam limites inferior e superior de cada partição.
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/11
Fragmentação Interna
M em ória Pr in cip a l
Sistem a O p eracion a l
1 Kb
3 Kb
5 Kb
Program a C
Program a A
Program a E
BD
6 Kb 4 Kb
• Com um processo por partição, espaço interno não utilizado em cada partição é desperdiçado.
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/12
Alocação Particionada Dinâmica
M em ória Pr in cipa lM em ór ia Pr in cipa l
Sistem a O p era cio n a lSistem a O p era cio n a l
4 Kb
1 Kb
3 Kb
5 Kb
2 Kb
15 K b
Program a C
Program a B
Program a A
Program a EBA
2 Kb
E
3 Kb
C
1 Kb 4 Kb
• Partições são alocadas dinamicamente de acordo com os
requisitos de memória dos programas.
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/13
Fragmentação Externa
M em ória Prin cip a l
Sistem a O p eracion a l
4 Kb
3 Kb
5 Kb
Program a C
Program a A
D
6 Kb
• Término dos processos deixa espaços que podem ser
insuficientes para novos programas.
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/14
Solução para a Fragmentação Externa
M em ória Pr in cipa lM em ór ia Pr in cipa l
Sistem a O p eracion a lSistem a O p eracion a l
8 Kb
4 Kb
3 Kb
5 Kb5 Kb
Program a C
Program a AProgram a A
• Reunir espaços adjacentes conforme os programas terminam.
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/15
Solução para a Fragmentação Externa
M em ória Pr in cip a lM em ór ia Pr in cip a l
Sistem a O p eracion a l
Relo caçã o
Sistem a O p eracion a l
4 Kb
3 Kb
12 K b
5 Kb
Program a C
Program a C
Program a A
Program a A
• Relocação dinâmica de todas as partições ocupadas, eliminando
espaços entre elas e criando uma única área livre contígua.
• Algoritmo complexo que consome recursos do sistema.
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/16
Estratégias de Alocação de Partição
M em ória Pr in cip a l
Sistem a O p eracion a l
4 Kb
3 Kb
5 Kb
Program a C
Program a A
Á rea s l ivresÁ rea l ivre 1
Á rea l ivre 2
Á rea l ivre 3
Tam a nh o
1 4 Kb
2 5 Kb
3 3 Kb
• SOs mantêm uma lista de áreas livres e implementam,
basicamente, três estratégias de alocação que tentam evitar ou
diminuir o problema de fragmentação externa.
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/17
Estratégias de Alocação - Best-Fit
M em ór ia Pr in cipa l
Sistem a O p eracion a l
4 Kb
3 Kb
5 Kb
Progra m a C
Progra m a A
F
1 Kb
Sistem a O p eracion a l
2 Kb
Program a C
Program a F
Program a A
Á rea l ivre
• Partição escolhida é aquela em que o programa deixa o menor
espaço sem utilização.
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/18
Estratégias de Alocação -Worst-Fit
M em ór ia Pr in cipa l
Sistem a O p eracion a l
4 Kb
3 Kb
5 Kb
Program a C
Program a A
F
1 Kb
Sistem a O p eracion a l
4 Kb
Program a C
Program a A
Á rea l ivre
Program a F
(b ) W orst- fi t
• Partição escolhida é aquela em que o programa deixa o maior
espaço sem utilização.
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/19
Estratégias de Alocação - First-Fit
M em ór ia Pr in cipa l
Sistem a O p eracion a l
4 Kb
3 Kb
5 Kb
Program a C
Program a A
F
1 Kb
Sistem a O p era cio na l
3 Kb
Pro gram a C
Pro gram a A
Á rea livre
Pro gram a F
• Partição escolhida é primeira livre de tamanho suficiente
para carregar o programa.
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/20
Swapping
• Problema: e se não houver memória RAM suficiente para acomodar todos os processos?
• Solução: realizar uma troca de processos, ou swapping.
– Um dos processos em RAM é deslocado para uma memória secundária (swap out) e dá lugar ao “novo” processo (swap in).
– Opta-se por remover o processo em wait com menos chance de ser executado (possivelmente pode optar por um processo em ready).
– Uma área do disco passa a ser usada como memória secundária (área de swap).
– Mais tarde, o processo swapped out é escalonado e, então, swapped in, voltando a ser executado.
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/21
Swapping
• Necessário haver relocação dinâmica.
• Permite maior compartilhamento.
• Custo elevado p/operações de swap in e swap out.
• Problema: não havendo espaço para crescimento ou relocação, e/ou a área de swap estiver cheia, o processo poderá ficar em estado de espera ou ser terminado.
M em ória Pr in cip a l
M em ór ia Pr in cip a l
Sistem aO peracion a l
Sistem aO peracion a l
Program a A
Program a A
Program a G
Á rea LivreSw ap in
Sw ap ou t
A rq u ivod e Sw ap
Program a E
Program a E
Program a B
Program a H
H
B
B
AS
O –
Mac
hado
/Mai
a –
com
plem
. por
Sid
ney
Luc
ena
(UN
IRIO
)
9/22
Relocação Dinânica
En dereço dem em ória
En dereço in cia ld a p a rtição
Reg istrad o r d e Relocaçã o Instru çã o
En dereçoC ód ig o d eop eraçã o