gerência de memória sistemas operacionais i módulo 8
TRANSCRIPT
Gerência de MemóriaSistemas Operacionais I
Módulo 8
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-2
GERÊNCIA DE MEMÓRIA
Premissa– A memória real é o recurso de
armazenamento de acesso direto– Processos devem ser carregados para a
memória realNo todoEm parte
– O S.O. deve permanecer na memória real e ocupar o menor espaço possível
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-3
GERÊNCIA DE MEMÓRIA
Premissa– Endereçamento de instruções e dados
podem ser constituído de três formasTempo de compilação (Compile Time)
– Se a(s) locação(ções) de memória são conhecidas, então o código pode possuir endereçamento absoluto
– É necessários recompilar o programa se a(s) locação(ções) forem alteradas
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-4
GERÊNCIA DE MEMÓRIA
Premissa– Endereçamento de instruções e dados
podem ser constituído de três formasTempo de carga (Load Time)
– Se a(s) locação(ções) de memória não são conhecidas, é necessário gerar código relocável
Tempo de execução (Execution Time)– Endereçamento é constituído dinamicamente,
durante a execução, se o processo for movido de uma área de memória para outra
– É necessário suporte de hardware para mapear os endereços
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-5
GERÊNCIA DE MEMÓRIA
Problema– É necessário otimizar o uso da área de
memória realSolução-Problema
– Subdividir a memória em unidades de alocação
– De que forma?– Quais os requisitos para a gerência?
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-6
GERÊNCIA DE MEMÓRIA
Requisitos – O S.O. precisa:
Alocar espaços na memória para programas– De forma explícita ou implícita
De-alocar espaços quando necessárioEfetuar a manutenção das tabelas
– Ex: mapear memória virtual na memória físicaDecidir quanto de memória alocar a cada
processo e quando um processo será removido da memória
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-7
GERÊNCIA DE MEMÓRIA
Requisitos – Relocação
Definição: ajuste no programa executável para que execute em um conjunto pré estabelecido de endereços de memória.– O processo não tem locação de memória pré-
fixada
O processo pode ser retirado (swapped out) da memória e retornar em qualquer outra locação
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-8
GERÊNCIA DE MEMÓRIA
Requisitos – Relocação
Necessidade– O endereçamento não pode ser absoluto– As referências precisam ser transformadas em
endereços reais
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-9
GERÊNCIA DE MEMÓRIA
Requisitos– Relocação
Formas básicas de relocação– Em tempo de execução (Hardware) – Em tempo de compilação
No boot do sistema esse método ainda é utilizado
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-10
GERÊNCIA DE MEMÓRIA
Requisitos– Relocação
Formas básicas de relocação– Em tempo de carga, pelo sistema operacional.
É lento. O programa não pode mudar de área Estrutura do programa:
Cabeçalho TextData
(já incializados)Dicionário de
Relocação
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-11
GERÊNCIA DE MEMÓRIA
Requisitos – Proteção
Processos não podem acessar áreas de outros processos sem prévia autorização
Problema– Complexidade da verificação dos acessos
Relocação e endereços dinâmicos– Acessos devem ser verificados a tempo de
execução pelo hardware
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-12
GERÊNCIA DE MEMÓRIA
Requisitos – Compartilhamento
Permitir que vários processos façam acesso à mesma área de memória– Compartilhar código executável– Compartilhar área de dados
Controlar acesso a áreas de memória sem comprometer a proteção do S.O.
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-13
GERÊNCIA DE MEMÓRIA
Requisitos – Estrutura lógica
Organização da memória em lista linear de endereços
Programas são organizados em módulosVantagens da implementação integrada
– Compilação independente dos módulos– Proteção apropriada dos módulos– Compartilhamento de módulos entre os processos
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-14
GERÊNCIA DE MEMÓRIA
Requisitos – Estrutura física
Problema– A memória real pode ser insuficiente para um
processo
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-15
GERÊNCIA DE MEMÓRIA
Requisitos – Estrutura física
Solução– Overlaying
Dividir em módulos que não são carregados simultaneamente
Uma rotina é responsável pela carga dos módulos
– Solução complexa O programador pode não ter conhecimento da
memória disponível
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-16
RELOCAÇÃO
Quando um processo é carregado para a memória as referências a memória real (endereço absoluto) precisam ser ajustadas– Motivo
Processos podem ocupar diferentes áreas de memória– Partições diferentes
Causas– SWAPING– Compactação
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-17
ENDEREÇAMENTO
Lógico/Virtual– Referência a uma posição de memória
independe da localização REAL na memória
Gerado pela CPU– Também conhecido como endereço virtual
Tradução endereço-lógico endereço-físico
Físico– Endereço REAL na memória
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-18
ENDEREÇAMENTO
Relativo– O endereço é expresso em relação a
algum ponto baseBase+Deslocamento
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-19
ENDEREÇAMENTO
Endereçamento lógico e físico – são idênticos no endereçamento
constituído em tempo de compilação e em tempo de carga.
– São diferentes no caso do endereçamento constituído em tempo de execução
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-20
ENDEREÇAMENTO
Memory-Management Unit (MMU)– Dispositivo de Hardware que mapeia
endereços virtuais em físicos– No esquema MMU, o conteúdo no
registrados de relocação é adicionado a qualquer endereço gerado pelo processo
– O processo utiliza endereço lógico. NUNCA usa endereço físico
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-21
ENDEREÇAMENTO
Suporte de Hardware
Registradorde Base
Somador
S.O. Int
Endereço relativo
End.Absoluto
Comparador
PCB
TEXT
DS
SS
Registradorde Limite
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-22
ENDEREÇAMENTO
Registradores utilizados – Registrador de base (Base register)
Endereço inicial do processo
– Registrador de limite (Bounds register)Endereço final do processo
– Estes valores são ajustados quando o processo é carregado ou swapped in
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-23
ENDEREÇAMENTO
Registradores utilizados – O valor no registrador de base é somado
a um endereço relativo para produzir um endereço absoluto
O resultado é comparado com o registrador de limite
Se não estiver contido no limite permitido, uma interrupção é gerada
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-24
SWAPPING
Um processo pode ser retirado temporariamente da memória e retornar após algum tempo– Backing store
Área em disco, veloz, grande o suficiente para acomodar as cópias de imagens da memória (de todos ou parte dos usuários)
É necessário prover acesso direto a essas imagens
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-25
SWAPPING
– Roll out, roll in Variante da técnica swapping utilizada por
algoritmos de escalonamento priority-basedProcessos com baixa prioridade são
swapped-out para dar lugar a processos com alta prioridade
O tempo dispensado – É gasto com a transferência de dados – É proporcional a quantidade de memória
a ser swapped.
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-26
SWAPPING
S.O.
EspaçoUsuário
P2
P1
M.R.
Backing Store
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-27
ALOCAÇÃO DE MEMÓRIA
Alocação contígua simples– Comum em S.O. monoprogramáveis– A memória é dividida em duas partes
S.O.Processo usuário
Processo Usuário Sistema Operacional
Memória Real
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-28
ALOCAÇÃO DE MEMÓRIA
Alocação contígua simples– O programador é responsável por evitar
violar a região onde reside o S.O.Algumas implementações de S.O. delimitam o
espaço máximo de endereçamento do processo usuário
– Uso de overlay
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-29
ALOCAÇÃO DE MEMÓRIA
Alocação particionada estática (partição fixa)– Motivação: multiprogramação– Divisão da memória em pedaços
Tamanhos – Iguais– diferentes
Parâmetro de sistema– Quando gerado– Quando inicializado
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-30
ALOCAÇÃO DE MEMÓRIA
Alocação particionada estática (partição fixa)
Cada partição comporta processos com requisitos de memória menor ou igual a partição– Uso ineficiente da memória, causando desperdício
de memória na partição (Fragmentação Interna)– Se todas as partições estiverem alocadas o S.O.
pode utilizar o swapping para carregar mais processos
– Se o processo não couber na partição pode-se utilizar a técnica de overlay (ovl)
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-31
ALOCAÇÃO DE MEMÓRIA
Alocação particionada estática (partição fixa)
Endereçamento absoluto– Processo só pode ser carregado na mesma região
de memória– Endereçamento virtual
Processo pode ser carregado em qualquer região de memória
Registrador de relocação
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-32
ALOCAÇÃO DE MEMÓRIA
Alocação particionada estática (partição fixa)– Tamanhos iguais
Fragmento
Pn
P1 P2
Partição 1 Partição 2 Partição 3
S.O.
= Fragmento + Partição Processo não pode ser executado
Memória Real
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-33
ALOCAÇÃO DE MEMÓRIA
Alocação particionada estática (partição fixa)– Tamanhos iguais
Fragmento
Pn
(Principal)Pn
(OVL)
Carga do Ovl
Carga do Principal
P1 P2
Partição 1 Partição 2 Partição 3
S.O.
Memória Real
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-34
ALOCAÇÃO DE MEMÓRIA
Alocação particionada estática (partição fixa)– Tamanhos diferentes
Processo é alocado na menor partição que o comporte
Minimiza o problema de fragmentação interna mas não o elimina
Fragmento
P1 P2
Partição 1 Partição 2 Partição 3
S.O.P3
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-35
ALOCAÇÃO DE MEMÓRIA
Alocação particionada estática (partição fixa)– Tamanhos diferentes
Uma fila de acesso por partição– Otimiza o uso do espaço na partição
Uma fila para o sistema como um todo– Otimiza o uso das partições
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-36
ALOCAÇÃO DE MEMÓRIA
Alocação particionada estática (partição fixa)– Tamanhos diferentes
Uma fila por partição
ProcessosNovos
S.O.
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-37
ALOCAÇÃO DE MEMÓRIA
Alocação particionada estática (partição fixa)– Tamanhos diferentes
Uma fila para o sistema
S.O
ProcessosNovos
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-38
ALOCAÇÃO DE MEMÓRIA
Alocação com partições dinâmicas– Partições no tamanho que o processo
necessitaAs partições são criadas por demandaO número e o tamanho de cada partição varia
no tempo
– ProblemaEspaços não alocáveis são criados
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-39
Alocação com partições dinâmicas
ALOCAÇÃO DE MEMÓRIA
S.O. P1 P2 P3 P4 Livre
No Boot – t0
t1
t2
t3
t4
tnPn - Não pode “entrar”
Memória Real
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-40
Alocação com partições dinâmicas
ALOCAÇÃO DE MEMÓRIA
S.O. P1 P2 P3 P5 Livre
No Boot – t0
t1
t2
t3
t5
tnPn - Não pode “entrar”
Livre
t4Terminado após P5 “entrar”
Memória Real
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-41
Alocação com partições dinâmicas– Problema
A memória pode ficar cheia de buracos “pequenos” e sua soma ser “muito grande”
– SoluçãoRelocação dos processos (compactação)
– Alto custo– Solução viável em hardware
ALOCAÇÃO DE MEMÓRIA
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-42
ALOCAÇÃO DE MEMÓRIA
Alocação com partições dinâmicas– Estratégias para escolha das partições
Algoritmos de colocaçãoO S.O. deve fazer a escolha do bloco de
memória onde o processo será alojado
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-43
ALOCAÇÃO DE MEMÓRIA
Alocação com partições dinâmicas– Algoritmos de colocação
BEST-FIT – Escolhe a partição em que o processo deixa o
menor espaço sem utilização– Há uma lista de áreas livres ordenada por tamanho– Desvantagem
Muitas pequenas áreas não contíguas aumentando o problema da fragmentação
Necessidade de compactação mais freqüente Baixo desempenho (a princípio)
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-44
Alocação com partições dinâmicas– Algoritmos de colocação
WORST-FIT – Escolhe a partição em que o processo deixa o
maior espaço sem utilização– Há uma lista de áreas livres ordenada
reversamente por tamanho– Apesar de utilizar as partições maiores, os
espaços livres maiores permitem o aproveitamento da memória por um maior número de programas
ALOCAÇÃO DE MEMÓRIA
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-45
ALOCAÇÃO DE MEMÓRIA
Alocação com partições dinâmicas– Algoritmos de colocação
FIRST-FIT – Escolhe o primeiro bloco livre com tamanho
suficiente para carregar o processo– Há uma lista de áreas livres ordenada por
endereços– É rápida, consumindo menos recursos do sistema– Desvantagem
Muitos blocos pequenos no início da memória
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-46
ALOCAÇÃO DE MEMÓRIA
Alocação com partições dinâmicas– Algoritmos de colocação
NEXT-FIT– Escolhe o primeiro bloco livre a partir da última
alocação que comporte o processo– Há uma lista de áreas livres ordenada por
endereço – Desfaz rapidamente o grande bloco livre no final
da memória– Compactação é necessária para reconstituir um
grande bloco ao fim da memória
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-47
Alocação com partições dinâmicas– Algoritmos de colocação
Exemplo
ALOCAÇÃO DE MEMÓRIA
19MB 100MB 16MB 110MB 90MB 22MB 52MB1MB
Último bloco alocado
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-48
Alocação com partições dinâmicas– Algoritmos de colocação
Exemplo
ALOCAÇÃO DE MEMÓRIA
52MB19MB 16MB100MB 110MB 90MB 22MB 1MB
Alocação de 8MBFF
BF
NF
WF
11MB 8MB 14MB 44MB
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-49
Alocação com partições dinâmicas– Algoritmos de colocação
Exemplo– Suponha a alocação de memória abaixo em uma
arquitetura SMP, 8 processadores, com todos os processos RUNNING.
ALOCAÇÃO DE MEMÓRIA
52MB19MB 16MB100MB 110MB 90MB 22MB 1MB
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-50
Alocação com partições dinâmicas– Algoritmos de colocação
Exemplo– Suponha pois, a submissão de processos com
áreas 16MB, 52MB, 19MB e 22MB, nessa ordem– Qual será o algoritmo de colocação de melhor
desempenho?
ALOCAÇÃO DE MEMÓRIA
52MB19MB 16MB100MB 110MB 90MB 22MB 1MB
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-51
Alocação com partições dinâmicas– Algoritmos de colocação
Exemplo– Usando o First-Fit
ALOCAÇÃO DE MEMÓRIA
52MB19MB 16MB100MB 110MB 90MB 22MB 1MB
16MB 19MB52MB 22MB
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-52
Alocação com partições dinâmicas– Algoritmos de colocação
Exemplo– Usando o Best-Fit
ALOCAÇÃO DE MEMÓRIA
52MB19MB 16MB100MB 110MB 90MB 22MB 1MB
16MB 19MB52MB 22MB
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-53
Alocação com partições dinâmicas– Algoritmos de colocação
Exemplo– Usando o Next-Fit
ALOCAÇÃO DE MEMÓRIA
52MB19MB 16MB100MB 110MB 90MB 22MB 1MB
16MB 19MB52MB 22MB
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-54
ALOCAÇÃO DE MEMÓRIA
Alocação com partições dinâmicas– Algoritmos de colocação
Exemplo– Usando o Worst-Fit
52MB19MB 16MB100MB 110MB 90MB 22MB 1MB
16MB 19MB 52MB 22MB
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-55
PAGINAÇÃO
Particiona a memória – Em blocos pequenos de igual tamanho
Frames ou molduras
Processo – É dividido em blocos pequenos de
tamanho igual aos blocos de memóriaPáginas
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-56
PAGINAÇÃO
O S.O. mantém uma tabela de páginas para cada processo– Endereço dos frames com cada página
do processo– O endereço de memória é a página mais
um deslocamento dentro desta– Um bit para indicar a presença ou não na
memória Endereço virtual
Entrada da tabela de páginas
Página # Offset
P M Frame #Bits de controle
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-57
PAGINAÇÃO
O S.O. mantém uma tabela de páginas para cada processo– Bit de modificação
Indica se a página foi alterada ou nãoSe a página não foi alterada, não precisa ser
gravada quando for swapped-outEndereço virtual
Entrada da tabela de páginas
Página # Offset
P M Frame #Bits de controle
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-58
PAGINAÇÃO
Aspectos– Espaço de endereçamento lógico pode
ser não contíguoA execução do processo de tamanho N
depende da existência de N quadros livres– Os frames tem tamanho potência de dois– Mantém conhecimento dos quadros
livres– Uso de tabela de página para traduzir
endereço lógico para físico– Fragmentação interna (na última página)
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-59
PAGINAÇÃO
Exemplo01
23456789
1011121314
A.0 A.1 A.2 A.3B.0B.1B.2
C.0 C.1 C.2 C.3
01
23456789
1011121314
A.0A.1A.2A.3
C.0C.1C.2C.3
01
23456789
1011121314
A.0 A.1 A.2 A.3
C.0 C.1 C.2 C.3
D.0D.1D.2
D.3D.4
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-60
PAGINAÇÃO
Exemplo– Tabelas de páginas
0
123
Processo A
0123
0
12
Processo B
---------
01234
0
123
Processo C
789
10
456
1112
Processo D
Frames Livres
1314
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-61
PAGINAÇÃO
Tradução de endereços– Gerado pela CPU
Page number– Utilizado com índice na tabela de páginas
Contém o endereço base (frame)Page offset
– Combinado com o endereço base forma o endereço físico
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-62
PAGINAÇÃO
Tradução de endereços
End. Físico
End. Lógico
Tabela de Páginas
Memória
Física
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-63
PAGINAÇÃO
Exemplo
Página 0
Página 1
Página 2
Página 3
1
4
3
7
Memória
Física
0
1
2
3
4
5
6
7
Pág. 0
Pág. 2
Pág. 1
Pág. 3Tabela de
Página
Memória Lógica
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-64
PAGINAÇÃO
Página compartilhadas(Shared Pages)– Código compartilhado (Shared code)
Uma cópia read-only (reentrante) de código compartilhado entre processos– Editores de textos, compiladores, Janelas
O código compartilhado precisa estar na mesma locação de memória no espaço de endereçamento de cada processo
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-65
PAGINAÇÃO
Página compartilhadas(Shared Pages)– Código e dados privados
Cada processo “pega” uma cópia de código e dados
As páginas de código privado podem estar em qualquer locação do espaço de endereçamento dos processos
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-66
PAGINAÇÃO
Página compartilhadas(Shared Pages)C1
C2
C3
Dp1
P1
3
4
6
1
C1
C2
C3
Dp2
P1
3
4
6
5
Dp1
C1
C2
Dp2
C3
Tabela de páginas P1
Tabela de páginas P1
Memória Real
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-67
SEGMENTAÇÃO
Esquema de gerência de memória que suporta a visão da memória pelo usuário
Um programa é a coleção de segmentos– Principal– procedimentos e funções– variáveis locais e variáveis globais– Blocos comuns– Pilha– Tabela de símbolos– Matrizes
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-68
SEGMENTAÇÃO
Os segmentos dos programas podem não ter o mesmo tamanho– Mas segmentos tem um tamanho máximo
Simplifica o crescimento das estruturas de dados
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-69
SEGMENTAÇÃO
Arquitetura– Endereço lógico consiste de
<segmento, deslocamento>
Endereço virtual
Registro da tabela de segmentos
Segmento # Offset
P M Bits de controle Tamanh Segmento
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-70
SEGMENTAÇÃO
Arquitetura– Endereço lógico consiste de
<segmento, deslocamento>– Tabela de Segmentos (Segment table)
Mapeia o endereço – base
Contém o endereço físico onde começa o segmento
– limit Especifica o tamanho do segmento
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-71
SEGMENTAÇÃO
Arquitetura– Dois registradores
Segment-table base register (STBR) – Aponta para a tabela de segmentos
Segment-table length register (STLR) – Indica o número de segmentos do processo
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-72
SEGMENTAÇÃO
Arquitetura– Relocação
DinâmicoPor tabela de segmento
– CompartilhamentoSegmento compartilhadosMesmo segmento
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-73
SEGMENTAÇÃO
Arquitetura– Alocação
First-FitBest-FitFragmentação externa
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-74
SEGMENTAÇÃO
Arquitetura– Proteção
A cada entrada na tabela de segmento– Bit de validação = 0 segmento ilegal– privilégios read/write/execute
Bits de proteção associados ao segmento– Compartilhamento de código ocorre em nível de
segmento
24/04/2001Sistemas Operacionais I - Versão Beta 3 7-75
SEGMENTAÇÃO
Translação de endereços
Base + d
Processo Sementação Memória principal
Endereço virtual
Registrador
Tabela de Segmentos
Se
gm
en
to
d
S#
Tam. Base
Seg Table Ptr
Seg # Offset = d
End. Real
+
+