Escolar Documentos
Profissional Documentos
Cultura Documentos
Alocao
Introduo
Atribuio de Endereos, Carregamento Dinmico, Ligao
Dinmica
Espao de Endereamento Fsico versus Lgico
Alocao Contgua Simples
Overlay
Alocao Particionada
Fragmentao Externa e Interna
Gerncia de Memria com Mapeamento de Bits
Gerncia de Memria com Listas Ligadas
Algoritmos de Alocao de Parties
Swapping
UAL
PC
UC
Parmetros
Registrador
Resultado
Registrador
Memria
Principal
Programa
Fonte
compilador ou
montador
tempo de
compilao
Cdigo
Objeto
Gerncia de Memria - Alocao
Em tempo de carga
cdigo relocvel: quando no se
conhece em tempo de
compilao a posio em que o
programa ser armazenado.
Ex.:
Compilador: 14 bytes do
Cdigo
Objeto
ligador
incio
Carregador: 74000 + 14
Cdigo
Relocvel
Cd Obj
de outros
mdulos
tempo
de carga
Biblioteca
de sistema
carregador
Em tempo de execuo
Biblioteca
de sistema
carregador
h a necessidade de suporte de
Biblioteca
de sistema
carregada
dinamicamente
Cdigo
binrio
executvel
tempo de
execuo
endereo virtual.
Endereo Fsico endereo visto pela unidade de memria.
endereos fsicos.
Atravs da MMU, o valor do registrador de relocao
Registrador
Base
14000
CPU
Endereo
Lgico
#346
Endereo
Fsico
#14346
Memria
Principal
MMU
Unidade de
Gerenciamento
de Memria
10
11
executa.
necessrio o suporte do S.O. para verificar se a rotina est no
12
13
14
0x00
Sistema
Operacional
em RAM
Memria Principal
Memria Principal
Sistema
Operacional
em ROM
rea para o
processo
do usurio
15
rea para o
processo
do usurio
SO
em RAM
Memria Principal
Sistema
Operacional
Registrador
rea para o
processo
do usurio
16
Registrador
Limite
CPU
Endereo
Lgico
Registrador
Base
<
Endereo Memria
Fsico Principal
MMU
interrupo de software; erro de endereamento
17
Memria Principal
Sistema
Operacional
Processo
do Usurio
rea Livre
18
do que a disponvel?
Verifica-se se o programa tem sees que no necessitem
outras
A substituio ocorre pela transferncia da seo do disco para a
19
Armazenamento
Primrio
Parte fixa
50K
do
processo
20K
Rotina de
controle
de overlay
80K
rea
de
Overlay
Armazenamento
Secundrio
Fase inicial
50K
20
Fase
intermediria
Fase final
30K
80K
21
Motivao:
tornar mais fcil programar uma aplicao, dividindo-a em dois ou
mais processos
existncia de servio interativo para vrios usurios
Modelos de Multiprogramao
Modelos Simplista
Se cada processo gasta 20% de seu tempo na memria usando
22
Modelo Probabilistico
Cada processo gasta p% de seu tempo com E/S
n processos probabilidade de estarem aguardando E/S
simultaneamente: pn
F.U.CPU = 1 - pn
Exemplo:
23
sistema (boot), em funo dos tamanhos dos programas que iriam ser
executados
Memria Principal
reinicializao
Tabela de parties
Partio
Tamanho
2 KB
5 KB
8 KB
Sistema Operacional
Programas a
serem executados
E
Partio 1
Partio 2
2 KB
5 KB
Partio 3
24
8 KB
Memria Principal
Endereo final
Sistema Operacional
Partio 1
Partio 2
Partio 3
Eduardo Nicola F. Zagari
25
(supervisor call )
Modo Supervisor:
Todas as instrues permitidas (no feita comparao com o
registrador limite)
A passagem do modo usurio para o modo supervisor ocorre
26
aguarda na fila;
ou, processo colocado na fila da menor partio em que caiba
Programas a
serem executados
Memria Principal
Sistema Operacional
Partio 1
Partio 2
Partio 3
27
Memria Principal
Sistema Operacional
Programas a
serem executados
Partio 1
Partio 2
Partio 3
28
Problema:
colocao de um programa pequeno em uma partio grande
parties vazias por falta de clientes
29
Memria Principal
Programas a
serem executados
Sistema Operacional
Partio 1
Partio 2
Partio 3
30
Se os processos A e
2 KB
5 KB
B estivessem
executando e a
partio 3 estivesse
livre, os processos C
e E no poderiam ser
executados
8 KB
Memria Principal
Programas a
serem executados
D
6KB
3KB
Sistema Operacional
Processo C
Processo A
Processo B
Se os processos A e
31
2 KB
5 KB
B terminarem de
executar, o processo
E pode ser carregado
e executado em
qualquer uma das
duas parties
8 KB
Memria Principal
Programas a
serem executados
D
6KB
4KB
Sistema Operacional
Processo C
1 KB
Processo A
3 KB
Processo E
3 KB
32
Programas a
serem executados
A
Processo B
11 KB
Processo C
Processo E
Sistema Operacional
Processo A
33
4 KB
1 KB
3 KB
2 KB
1 KB
Memria Principal
0
400K
Fila de processos
Sistema Operacional
Processo Tamanho
P1
P2
P3
P4
P5
600K
1000K
300K
700K
500K
Tempo
10
5
20
8
15
2560K
34
0
400K
so
0
400K
P1
1000K
P2
2000K
2300K
P3
2560K
so
so
400K
P1
1000K
P2
aloca
a P4
2000K
2300K
2560K
P3
400K
so
0
400K
900K
1000K
1000K
P4
P1
termina
P4
aloca
a P5
1700K
1700K
1700K
2000K
2000K
2000K
P3
2300K
2560K
2300K
2560K
35
so
P5
P1
1000K
termina
P3
2300K
P4
P3
2560K
Sistema Operacional
4 KB
Processo C
6KB
Processo A
Apesar da
36
1 KB
3 KB
2 KB
1 KB
existncia de 8
Kbytes de
memria livre, o
processo D no
poder ser
carregado
Memria Principal
Memria Principal
Sistema Operacional
Sistema Operacional
4 KB
Processo C
Processo A
1 KB
8 KB
3 KB
2 KB
1 KB
Processo A
37
2 KB
1 KB
pequenos...)
38
Memria Principal
Memria Principal
Sistema Operacional
Sistema Operacional
1 KB
Processo C
2 KB
Processo A
4 KB
Processo C
Processo A
1 KB
3 KB
8 KB
2 KB
1 KB
39
Problemas:
Consumo de recursos (grande quantidade de rea em disco e
tempo real)
40
Modos de Compactao
0
300K
500K
600K
so
P1
P2
400K
1000K
1200K
P3
0
300K
500K
600K
800K
so
300K
P1
P2
P3
500K
600K
so
P1
P2
P4
1000K
1200K
1200K
Configurao
inicial
Eduardo Nicola F. Zagari
so
P1
P2
900K
1500K
900K
P4
200K
500K
600K
P3
1500K
2100K
300K
P4
300K
1900K
900K
2100K
2100K
600K
transferidos
400K
transferidos
41
P4
1900K
2100K
P3
200K
transferidos
Gerncia de Memria - Alocao
Fragmentao Externa:
existe memria suficiente para satisfazer uma requisio, mas ela no
contnua
Estatisticamente, de cada N blocos alocados, N/2 blocos so
Memria Principal
Fragmentao Interna:
memria interna a uma partio,
Sistema Operacional
Processo 1
18464
bytes
Processo 43
externa compactao
Eduardo Nicola F. Zagari
42
43
44
A X B
A X
X B
aps o trmino
de X fica
A
A
B
B
X
Com listas duplamente encadeadas a tarefa ainda mais simples!
45
de buracos livres?
Estratgias de alocao de memria para escolher o ponto em que
crescente de endereo
rpido
Eduardo Nicola F. Zagari
46
Memria Principal
Memria Principal
Sistema Operacional
Sistema Operacional
Processo F
2 KB
3 KB
Processo C
4 KB
1 KB
Processo A
Processo C
Processo A
2 KB
47
Next-fit:
Idntico ao First-fit com a diferena que a busca se inicia a partir do
Best-fit:
A lista de parties livres percorrida e a menor partio
inteira)
desempenho ruim devido a muitos buracos pequenos
(fragmentao externa)
48
Memria Principal
Memria Principal
Sistema Operacional
Sistema Operacional
3 KB
Processo C
4 KB
1 KB
Processo A
Processo C
Processo A
Processo F
2 KB
49
1 KB
Worst-fit:
A lista de parties livres percorrida e a maior partio
Quick-fit:
Listas separadas para alguns tamanhos mais comuns especificados
(por exemplo, uma fila para 2K, outra para 4K, outra para 8K, etc)
busca por buraco rpida
entretanto, a liberao de memria lenta (reagrupar buracos e
modific-los de fila)
50
Memria Principal
Memria Principal
Sistema Operacional
Sistema Operacional
3 KB
Processo C
1 KB
Processo A
4 KB
Processo C
Processo F
2 KB
Processo A
51
3 KB
52
Memria Principal
Sistema Operacional
Processo C
Processo A
4 KB
Processo G
Processo B
53
Memria Principal
Sistema Operacional
Processo C
Processo H
Swap in
Processo G
54
55
Relocao Esttica:
Mapeamento em tempo de carregamento
Relocao Dinmica:
Mapeamento durante a execuo
56
Instruo
Registrador Base
+
Endereo Fsico = Endereo Real
(disponvel na memria)
57
programa
Instruo de chamada ao supervisor
processos
Permite duplicar o tamanho mximo do espao lgico
Exige a duplicao do hardware necessrio para relocao e
proteo
58
swapped out
Os algoritmos para gerenciar o espao alocado em disco para
59