Você está na página 1de 0

Captulo 6

2
a
edio
Reviso: Fev/2003
Sistemas Operacionais
Gerncia de memria
Sistemas Operacionais 2
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Introduo
Multiprogramao implica em manter-se vrios processos em
memria
Memria necessita ser alocada de forma eficiente para permitir o
mximo possvel de processos
Existem diferentes tcnicas para gerncia de memria
Dependem do hardware do processador
Sistemas Operacionais 3
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Consideraes gerais
Um sistema de memria possui pelo menos dois nveis:
Memria principal: acessada pela CPU
Memria secundria: discos
Programas so armazenados em disco
Executar um programa se traduz em transferi-lo da memria secundria
memria primria
Qualquer sistema operacional tem gerncia de memria
Monotarefa: gerncia simples
Multitarefa: complexa
Algoritmos de gerncia de memria dependem de facilidades
disponveis pelo hardware da mquina
Sistemas Operacionais 4
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Memria lgica e memria fsica
Memria lgica
aquela que o processo enxerga
Endereos lgicos so aqueles manipulados por um processo
Memria fsica
Implementada pelos circuitos integrados de memria
Endereos fsicos so aqueles que correspondem a uma posio real de
memria
Sistemas Operacionais 5
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Endereo lgico versus endereo fsico
Espao lgico de um processo diferente do espao fsico
Endereo lgico: gerado pela CPU (endereo virtual)
Endereo fsico: endereos enviados para a memria RAM
Programas de usurios vem apenas endereos lgicos
Endereos lgicos so transformados em endereos fsicos no
momento de execuo dos processos
Sistemas Operacionais 6
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Unidade de gerncia de memria
Memory Management Unit (MMU)
Hardware que faz o mapeamento entre endereo lgico e endereo
fsico
Complexidade varivel de acordo com a funcionalidade oferecida
Mecanismos de suporte para proteo, carga de programas, traduo de
endereos lgicos a endereos fsicos, etc...
CPU
End.
lgico
MMU
End.
fsico
Memria
Sistemas Operacionais 7
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Exemplos de MMU
Processador
Registrador Limite
Inferior
Registrador Limite
Superior
Memria < >
Interrupo
(Endereo Ilegal)
Interrupo
(Endereo Ilegal)
123 123
100 799
sim
no no
sim
Processador
Registrador de Limite Registrador de Base
Memria > +
Interrupo
(Endereo Ilegal)
123 623
200 500
sim
no
Sistemas Operacionais 8
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Execuo de programas
Um programa deve ser transformado em um processo para pode
ser executado
Alocao de um descritor de processos
Alocao de reas de memria para cdigo, dados e pilha
Transformao feita atravs de uma srie de passos, alguns com
a ajuda do prprio programador
Compilao, diretivas de compilao e/ou montagem, ligao, etc...
Amarrao de endereos (binding)
Sistemas Operacionais 9
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Amarrao de endereos (binding)
Atribuio de endereos (posies de memria) para cdigo e
dados pode ser feita em trs momentos diferentes:
Em tempo de compilao
Em tempo de carga
Em tempo de execuo
Diferenciao entre o endereo lgico e o endereo fsico
Como traduzir endereo lgico em endereo fsico
Cdigo absoluto e cdigo relocvel
Sistemas Operacionais 10
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Transformao de programa em processo
Programa
Compilador
objeto
Ligador
...
executvel
Carregador
RAM
Biblioteca
esttica
Fase de y mp i l
Fase de ligao
Fase de carga
Sistemas Operacionais 11
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Carregador absoluto versus carregador relocador
Programador no tem conhecimento onde o programa ser
carregado na memria
Endereo s conhecido no momento da carga
Durante execuo do programa sua localizao fsica pode ser alterada
! e.g.; procedimento de swapping
Necessidade de traduzir endereos lgicos endereos fsicos
Relocao a tcnica que fornece realiza essa traduo
Via software: carregador relocador
Via hardware: carregador absoluto
Sistemas Operacionais 12
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Cdigo relocvel
Carregador relocador
Correo de todas as referncias a memria de forma a corresponder ao
endereo de carga do programa
Necessidade de identificar quais endereos devem ser corrigidos
Cdigo relocvel
Mapeamento das posies a serem corrigidas mantida atravs de tabelas
Cdigo executvel mantm informaes de relocao na forma de
tabelas
No momento da carga o programa executvel interpretado e os endereos
corrigidos
Sistemas Operacionais 13
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Cdigo absoluto
Carregador absoluto
No realiza correo de endereos no momento da carga do programa em
memria
Cdigo executvel absoluto no necessita manter tabelas de
endereos a serem corrigidos
Endereo de carga
Fixo pelo programa (programador)
Qualquer
! Correo pode ser feita automticamente, de forma transparente, a partir
de registradores de base
Sistemas Operacionais 14
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Mecanismos bsicos de gerncia de memria
Um programa (processo) para ser executado deve estar na
memria
Onde deve ser carregado?
! Problema de alocao de memria
A alocao de memria depende de:
Cdigo absoluto versus cdigo relocvel
Necessidade de espao contguo ou no
Necessidade de gerenciamento da memria
Determinao de reas livres e ocupadas
Racionalizar a ocupao da memria
Sistemas Operacionais 15
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Paginao
Segmentao
Segmentao com paginao
Simples
Particionada
Contgua
No contgua
Alocao
Esttica
Dinmica
Mecanismos para alocao de memria
At estudarmos memria virtual supor que para um programa ser
executada ele necessita estar carregado completamente em
memria
Sistemas Operacionais 16
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Alocao contgua simples
Sistema mais simples
Memria principal dividida em duas parties:
Sistema operacional (parte baixa da memria)
Processo do usurio (restante da memria)
Usurio tem controle total da memria podendo inclusive acessar a
rea do sistema operacional
e.g. DOS (no confivel)
Evoluo:
Inserir proteo atravs de mecanismos de hardware + software
! Registradores de base e de limite
! Memory Management Unit (MMU)
Sistemas Operacionais 17
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Alocao contgua particionada (1)
Existncia de mltiplas parties
Imposta pela multiprogramao
Filosofia:
Dividir a memria em blocos (parties)
Cada partio pode receber um processo (programa)
Grau de multiprogramao fornecido pelo nmero de parties
! Importante: no considerando a existncia de swapping
Duas formas bsicas:
Alocao contgua com parties fixa (esttica)
Alocao contgua com parties variveis (dinmica)
Sistemas Operacionais 18
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Alocao contgua particionada (2)
O sistema operacional responsvel pelo controle das parties
mantendo informaes como:
Parties alocadas
Parties livres
Tamanho das parties
OS
processo 5
processo 8
processo 2
OS
processo 5
processo 2
OS
processo 5
processo 2
OS
processo 5
processo 9
processo 2
processo 9
processo 3
Sistemas Operacionais 19
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Alocao contgua particionada fixa
Memria disponvel dividida em parties de tamanho fixo que
podem ser do mesmo tamanho ou no
Questes:
Processos podem ser carregados em qualquer partio?
! Depende se cdigo absoluto ou relocvel
Nmero de processos que podem estar em execuo ao mesmo tempo
! Sem swapping igual ao nmero de parties (mximo)
! Com swapping maior que nmero de parties
Programa maior que o tamanho da partio
! No executa a menos que se empregue um esquema de overlay
Sistemas Operacionais 20
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Gerenciamento de parties fixas
Com cdigo absoluto
Um processo s pode ser carregado na rea de memria (partio) para a
qual foi compilado
Pode haver disputa por uma partio mesmo tendo outras livres
! Processo mantido no escalonador de longo prazo (termo)
! Empregar swapping
Com cdigo relocvel
Um processo de tamanho menor ou igual ao tamanho da partio pode ser
carregado em qualquer partio disponvel
Se todas as parties esto ocupadas, duas solues:
! Processo mantido no escalonador de longo prazo (termo)
! Empregar swapping (escalonamento a mdio prazo)
Sistemas Operacionais 21
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Fragmentao Interna
Problema da alocao fixa uso ineficiente da memria principal
Um processo, no importando quo pequeno seja, ocupa uma
partio inteira
Fragmentao interna
8 M
8 M
5 M
8 M
8 M
Sist. Operacional
Fragmentao
interna
Sistemas Operacionais 22
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Sist. Operacional
8 M
12 M
8 M
8 M
6 M
4 M
2 M
Paliativo para reduzir fragmentao interna
Parties de tamanho diferentes
Sistemas Operacionais 23
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Algoritmos para alocao de parties fixas(1)
Se cdigo absoluto a alocao determinada na fase de
montagem, compilao ou ligao
Se cdigo relocvel:
Parties de igual tamanho
! No importa qual partio utilizada
Parties de diferentes tamanhos
! Atribui o processo a menor partio livre capaz de armazen-lo
! Processo so atribudos a parties de forma a minimizar o desperdcio
de memria (fragmentao interna)
Sistemas Operacionais 24
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Algoritmos para alocao de parties fixas(2)
Novos
Processos
Sisop
Sisop
Novos
Processos
Uma fila por partio
Uma fila para
todas parties
Sistemas Operacionais 25
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Alocao particionada dinmica
Objetivo eliminar a fragmentao interna
Processos alocam memria de acordo com suas necessidades
Parties so em nmero e tamanho variveis
SisOp
Processo 1
320 K
Processo 2
Processo 3
224 K
288 K
64 K
SisOp
Processo 1
320 K
Processo 3
224 K
288 K
64 K
Sisop
Processo 1
320 K
Processo 3 288 K
64 K
Processo 4 128 K
96 K
Sistemas Operacionais 26
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Fragmentao externa
A execuo de processos pode criar pedaos livres de memria
Pode haver memria disponvel, mas no contgua
! Fragmentao externa
SisOp
Processo 1
320 K
Processo 3
288 K
64 K
Processo 4 128 K
96 K
Exemplo:
Criao processo 120K
Sistemas Operacionais 27
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Solues possveis fragmentao externa
Reunir espaos adjacentes de memria
Empregar compactao
Relocar as parties de forma a eliminar os espaos entre elas e criando uma
rea contgua
Desvantagem:
! Consumo do processador
! Acesso a disco
Acionado somente quando ocorre fragmentao
Necessidade de cdigo relocvel
Sistemas Operacionais 28
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Gerenciamento de parties dinmicas
Determinar qual rea de memria livre ser alocada a um processo
Sistema operacional mantm uma lista de lacunas
Pedaos de espaos livres em memria
Necessidade de percorrer a lista de lacunas sempre que um
processo criado
Como percorrer essa lista??
Sistemas Operacionais 29
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Algoritmos para alocao contgua dinmica
Best fit
Minimizar tam_processo - tam_bloco
Deixar espaos livres os menores possveis
Worst fit
Maximizar tam_processo - tam_bloco
Deixar espaos livres os maiores possveis
First fit
tam_bloco > tam_processo
Circular fit
Variao do first-fit
Sistemas Operacionais 30
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
20k
40k
30k
A
SisOp
A
C
20k
40k
30k
A
SisOp
A
C
20k
40k
30k
A
SisOp
A
C
Exemplos: Algoritmos alocao contgua dinmica
Best-fit Worst-fit First-Fit
20k
40k
30k
A
SisOp
A
C
Sistemas Operacionais 31
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
SisOp
Processo 1
320 K
Processo 3
288 K
64 K
Processo 4 128 K
96 K
Exemplo:
Criao processo 120k
Desvantagem de parties variveis
Tende a criar lacunas de memria livres que individualmente podem
no ser suficientes para acomodar um processo
Pode haver memria livre, mas no contgua
! Fragmentao externa
Sistemas Operacionais 32
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Solues possveis para fragmentao externa
Reunir espaos adjacentes de memria
Empregar compactao
Relocar as parties de forma a eliminar os espaos entre elas e criando
uma rea contgua
Desvantagem:
! Consumo do processador
! Acesso a disco
Acionado somente quando ocorre fragmentao
Necessidade de cdigo relocvel
Sistemas Operacionais 33
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Processo necessita estar na memria para ser executado
Se no h mais espao em memria necessrio fazer um rodizio de
processos em memria
Memria secundria suficientemente grande para armazenar cpias
de todos os processos de usurios backing store
P
2
P
1
Swap out
Swap in
Memria
Swapping (1)
Sistemas Operacionais 34
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Swapping (2)
Tempo do swap proporcional ao tamanho do processo
Possui influncia na troca de contexto
! Poltica de swapping
! Escalonador de mdio prazo (termo)
Ateno!!! Processos que realizam E/S
Nunca realizar swap em processos que esto com E/S pendente
Utilizar buffers de E/S internos ao sistema
! Evitar que o E/S seja transferido a endereos de memria invlidos
Existem variantes do sistema de swapping utilizados em sistemas
como UNIX ou Microsoft Windows
Sistemas Operacionais 35
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Leituras complementares
R. Oliveira, A. Carissimi, S. Toscani Sistemas Operacionais Editora
Sagra-Luzzato, 2001.
Captulo 6, sees 6.2 e 6.3
A. Silberchatz, P. Galvin Operating SystemConcepts Addison-
Wesley. 4
th
edition.
Captulo 8, Seo 8.4
Sistemas Operacionais 36
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Introduo
Problemas com alocao particionada
Necessidade de uma rea contgua de memria (tamanho do processo)
Fragmentao interna (parties fixas) ou externa (parties variveis)
Nova abordagem considerar a existncia de um espao de
endereamento lgico e de um espao de endereamento fsico
O espao de endereamento fsico no precisa ser contguo
Necessita mapear o espao lgico no espao fsico
! Dois mtodos bsicos:
! Paginao
! Segmentao
Suposio: para ser executado o processo necessita estar
completamente carregado em memria
Sistemas Operacionais 37
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Paginao (1)
A memria fsica (sistema) e a memria lgica (processo) so
dividos em blocos de tamanho fixo e idnticos
Memria fsica dividida em blocos de tamanho fixo denominados de frames
Memria lgica dividide em blocos de tamanho fixo denominados de pginas
Elimina a fragmentao externa e reduz a fragmentao interna
Sistemas Operacionais 38
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Paginao (2)
Para executar um processo de n pginas, basta encontrar n frames
livres na memria
Pginas so carregadas em qualquer frame livre
Necessidade de traduzir endereos lgicos (pginas) em endereos
fsicos (frames)
Processo A
Frame
0
1
2
3
4
5
6
7
Pgina
0
1
2
3
Sistemas Operacionais 39
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Paginao: Endereo lgico
Endereo lgico dividido em duas componentes:
Nmero da pgina
Deslocamento dentro de uma pgina
Tamanho da pgina (P) pode assumir qualquer tamanho porm
emprega-se um tamanho potncia de 2 para facilitar operaes div
e mod
Processo A
Pgina
0
1
2
3
E
E = p + d
p = E div P
d = E mod P
d
p
d p
m bits
m-n n
E
Sistemas Operacionais 40
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Traduo de endereo lgico em endereo fsico
End.
Fsico
f d p d
CPU
End.
lgico
f
Pgina/Frame
Tabela de pginas
Memria RAM
Sistemas Operacionais 41
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
d p
15 bits
2 13
Exemplo de paginao (1)
Caractersticas do sistema:
Memria fsica: 64 kbytes (16 bits)
Tamanho processo (mx): 32 kbytes (15 bits)
Pginas 8 kbytes
Paginao:
Nmero de frames: 64/8 = 8 (0 a 7) 3 bits
Nmero de pginas: 32/8 = 4 (0 a 3) 2 bits
Deslocamento: 8 kbytes 13 bits
d f
16 bits
3 13
End.
Lgico
End.
Fsico
Sistemas Operacionais 42
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Exemplo de paginao (2)
End.
0000
2000
4000
6000
8000
A000
C000
E000
Frame
0
1
2
3
4
5
6
7
Memria fsica
0 1100 1001 1000 100
CPU
C98
100
x
x
x
C98 0
End. lgico
End. fsico
2 13
000 1100 1001 1000
3 13
Sistemas Operacionais 43
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Caractersticas da paginao
Paginao um tipo de relocao (via hardware)
No gera fragmentao externa
Fragmentao interna restrita apenas a ltima pgina
Importante:
Viso do usurio: espao de endereamento contguo
Viso do sistema: processo esparramado na memria fsica
n pginas so alocadas a n frames implicando na criao de uma
tabela de correspondncia
Tabela de pginas
Facilita implementao de proteo e compartilhamento
Sistemas Operacionais 44
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Tamanho da pgina
Pginas grandes significam
Processos compostos por menos pginas (tabela de pginas menores)
Aumento da fragmentao interna na ltima pgina
Pginas pequenas significam
Processos compostos por mais pginas (tabela de pgina maiores)
Diminuio da fragmentao interna na ltima pgina
Objetivos conflitantes
Tamanho da pgina imposto pelo hardware (MMU)
Valores tpicos variam entre 1 kbyte e 8 kbytes
Sistemas Operacionais 45
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Questes relacionadas com a gerncia de pginas
A gerncia de memria deve manter controle de reas livres e
ocupadas
Incluso de mecanismos de proteo
Evitar que um processo acesse rea (pginas) de outros processos
Garantir que um processo acesse apenas endereos vlidos
Garantir acessos autorizados a uma posio de memria
! e.g.: pginas read-only, read-write, etc.
Incluso de mecanismos de compartilhamento
Permitir que dois ou mais processos dividam uma rea comum
! e.g.: pginas de cdigo de um aplicativo do tipo editor de texto
Sistemas Operacionais 46
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Proteo
Proteo de acesso garantida por definio:
Processos acessam somente suas pginas end. vlidos
Endereo invlido apenas na ltima pgina
! Se houver fragmentao interna
Incluso de bits de controle na tabela de pgina (por entrada)
Indicao se a pgina de leitura, escrita ou executvel
Bit de validade:
Pgina pertence ou no ao end. lgico do processo
Sistemas Operacionais 47
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Exemplo de proteo
End.
0000
2000
4000
6000
8000
A000
C000
E000
Frame
0
1
2
3
4
5
6
7
Memria fsica
Processo
Pag.1
Pag.0
Pag.3
Pag.2
vlido
Tabela de
pginas
P
0
Sistemas Operacionais 48
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Compartilhamento de pginas
Cdigo compartilhado
Uma cpia do cdigo (read-only, re-entrante) pode ser compartilhada entre
vrios processos (e.g.; editores de texto, compiladores, etc...)
O cdigo compartilhado pertence ao espao lgico de todos os processos
Dados e cdigo prprios
Cada processo possui sua prpria rea de cdigo e seus dados
Sistemas Operacionais 49
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
0
1
2
3
4
5
6
7
Memria fsica
Exemplo de compartilhamento
End.
0000
2000
4000
6000
8000
A000
C000
E000
Frame
Processo 1
P0/P1
P3
P2
Vlido/Compartilhado
Tabela de
pginas
Processo 2
Vlido/Compartilhado
Tabela de
pginas
P1
P3
P0
Sistemas Operacionais 50
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Implementao da tabela de pginas
Sistema operacional deve manter :
Frames livres/alocados
Nmero de frames e de pginas de um processo
Uma entrada para cada frame e para cada processo
Como implementar a tabela de pginas?
Registradores
Memria
Sistemas Operacionais 51
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Implementao da tabela de pginas via registradores
Tabela de pginas mantida por um conjunto de registradores
Cada pgina um registrador
No descritor de processo devem ser mantidas cpias dos registradores
! Troca de contexto: atualizao dos registradores
Desvantagem o nmero de registradores
Sistemas Operacionais 52
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Implementao da tabela de pginas em memria
Tabela de pginas mantida em memria
Page-table base register (PTBR): incio da tabela de pginas
Page-table length register (PTLR): tamanho em nmero de entradas.
Cada acesso a dado/instruo necessita, no mnimo, dois acessos a
memria
Nmero de acesso depende da largura da entrada da tabela de pgina e de
como a memria acessada (byte, word, etc...)
+
Acesso 1
(frame da pgina)
End. lgico End. fsico
Acesso 2
(dado/instr.)
PTBR
Sistemas Operacionais 53
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Translation look-aside buffers (TLBs)
Uma espcie de meio termo entre implementao via registradores
e via memria
Baseada em uma memria cache especial (TLB) composta por um
banco de registradores (memria associativa)
Idia manter a tabela de pginas em memria com uma cpia
parcial da tabela em um banco de registradores (TLB)
Pgina acessada est na TLB (hit): similar a soluo de registradores
Pgina acessada no est na TLB (miss): similar a soluo via memria
Sistemas Operacionais 54
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Key value
Registradores associativos
Registradores associativos permitem a busca de valores por
contedo, no por endereos
Pesquisa paralela
Funcionamento:
Se valor key est na memria associativa, se obtm valor (value).
Sistemas Operacionais 55
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Implementao da tabela de pginas via TLB
End.
Fsico
f d
p d
CPU
End.
lgico
f
Pgina/Frame
TLB
Tabela
de pginas
Hit TLB
Miss TLB
Memria RAM
PTBR
+
Sistemas Operacionais 56
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Aspectos relacionados com o uso de TLB
Melhora o desempenho no acesso a tabela de pginas
Tempo de acesso 10 vezes menor que uma memria RAM
Desvantagem o seu custo
Tamanho limitado (de 8 a 2048 entradas)
Uma nica TLB (pertence a MMU) que compartilhada entre todos os
processos
! Apenas as pginas em uso por um processo necessitam estar na TLB
Um acesso feito em duas partes:
Se pgina est presente na TLB (hit) a traduo feita
Se pgina no est presente na TLB (miss), consulta a tabela em memria e
atualiza entrada na TLB
Sistemas Operacionais 57
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Hit ratio (h)
Probabilidade de qualquer dado referenciado estar na memria, no
caso, na TLB
Taxa de acerto: hit ratio
Seu complemento a taxa de erro: miss ratio
( ) ( ) [ ]
mem mem tlb mem tlb
mem mem tlb
mem tlb
a a a a a medio
a a a acesso
a a acesso
t t t h t t h t
t t t t
t t t
+ + + + =
+ + =
+ =
1
CPU TLB Mem.
h
Mem. Mem.
1-h
Sistemas Operacionais 58
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Exemplo: influncia do hit ratio no desempenho
( ) ( )
( ) ( ) ns t
ratio hit
ns t
ratio hit
ns t
ns t
ns t
ns t
medio
medio
miss acesso
hit acesso
mem acesso
tlb acesso
122 220 02 . 0 120 98 . 0
98 . 0 _
140 220 20 . 0 120 80 . 0
80 . 0 _
220 100 100 20
120 100 20
100
20
) (
) (
_
_
= + =
=
= + =
=
= + + =
= + =
=
=
CPU TLB Mem.
h
Mem. Mem.
1-h
Sistemas Operacionais 59
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Paginao multinvel
Na prtica as tabelas de pgina possuem tamanho varivel
Como dimensionar o tamanho da tabela de pginas?
! Fixo ou varivel conforme a necessidade?
Como armazenar a tabela de pginas?
! Contgo em memria fragmentao externa
! Paginando a prpria tabela
A paginao multinvel surge como soluo a esses problemas
Diretrios de tabela de pginas (n nveis)
Tabelas de pginas
Sistemas Operacionais 60
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Exemplo: Paginao a dois nveis
Processadores 80x86
End. Lgico: 4 Gbytes (32 bits)
Pginas: 4 kbytes
Tamanho da tabela de pginas: 4 Gbytes / 4 kbytes = 1048576 entradas
d t
32 bits
10 12
p
10
! !! !
! !! !
d f
Memria
fsica
Diretrio de tabela
de pginas
Tabela de
pginas
Sistemas Operacionais 61
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Paginao a trs nveis
Tpico de arquiteturas de processadores de 64 bits
Nvel 1 Nvel 2 Nvel 3 deslocamento
Pgina
Tabela de
pgina
Diretrio
global
Diretrio
intermedirio
Sistemas Operacionais 62
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Tabela de pginas invertida
Problema com tabela de pginas o seu tamanho
Tabela de pginas invertida surge como uma soluo
Uma tabela de pginas para todo o sistema (no mais por processo)
Uma entrada para cada frame
Endereo lgico da pgina e a qual processo pertence
Endereo lgico formado por <process_id, pgina, deslocamento>
Cada entrada da tabela possui <process_id; pgina>
Tabela pesquisada e retorna, se presente, o indice i associado a
entrada
Cada ndice corresponde a um frame
Sistemas Operacionais 63
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Esquema tabela de pginas invertida
CPU
pid d
Tabela de
pginas
Pid | p
i d
Memria
fsica
Endereo
lgico
Endereo
fsico
p
i
Sistemas Operacionais 64
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Leituras complementares
R. Oliveira, A. Carissimi, S. Toscani Sistemas Operacionais Editora
Sagra-Luzzato, 2001.
Captulo 6, seo 6.5
A. Silberchatz, P. Galvin Operating SystemConcepts. 4
rd
edition
Addison-Wesley.
Seo 8.5
Sistemas Operacionais 65
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Segmentao
Leva em considerao a viso de programadores e compiladores
Um programa uma coleo de segmentos, tipicamente:
Cdigo
Dados alocados estaticamente
Dados alocados dinamicamente
Pilha
Um segmento pode ser uma nidade lgica
e.g.: procedimentos (funes), bibliotecas
Gerncia de memria pode dar suporte diretamente ao conceito de
segmentos
Sistemas Operacionais 66
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Esquema lgico da segmentao
1
3
2
4
1
4
2
3
Espao de
usurio
Espao fsico
Sistemas Operacionais 67
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Endereo lgico em segmentao
Endereo lgico composto por duas partes:
Nmero de segmento
Deslocamento dentro do segmento
Os segmentos no necessitam ter o mesmo tamanho
Existe um tamanho mximo de segmento
Segmentao similar a alocao particionada dinmica
Sistemas Operacionais 68
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Traduo de endereo lgico em endereo fsico
Traduo feita de forma similar a paginao (via tabela)
Tabela de segmentos
Entrada na tabela de segmento:
base: endereo inicial (fsico) do segmento na memria
limite: tamanho do segmento
Necessidade de verificar a cada acesso se ele vlido
Hardware (comparador)
Sistemas Operacionais 69
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Esquema de traduo da segmentao
Memria
fsica
Memria
fsica
End.
Fsico
s d
CPU
CPU
End.
lgico
base/limite
Tabela de segmentos
<
s d
Sistemas Operacionais 70
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Exemplo de traduo de endereo lgico em endereo
fsico
Memria Lgica
Memria Fsica
00000
00001
00010
00011
00100
00101
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
10000
10001
10010
10011
01100
01101
01110
01111
10100
10101
10110
10111
C1
C2
C3
C4
P1
P2
P3
D1
D2
D3
D4
Tabela de Segmentos
Segmento Base
00
01
10
01000
00000
10100
C1
C2
C3
C4
C5
C6
Limite
C5
C6
0110
0100
0011
00000
00001
00010
00011
D1
D2
D3
D4
00000
00001
00010
P1
P2
P3
Segmento 00 - Cdigo
Segmento 01 - Dados
Segmento 10 - Pilha
Sistemas Operacionais 71
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Implementao da tabela de segmentos
Construo de uma tabela de segmentos
Cada segmento corresponde a uma entrada na tabela
Cada segmento necessita armazenar dois valores:
Limite e base
Anlogo a tabela de pginas:
Registradores
Memria
Sistemas Operacionais 72
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Implementao da tabela de segmentos via registradores
Tabela de segmentos mantida por um conjunto de registradores
Cada segmento dois registradores (base e limite)
No descritor do processo devem ser mantidas cpias dos registradores
! Troca de contexto: atualizao dos registradores
Nmero de registradores impem uma limitao prtica ao tamanho
da tabela de segmentos (como na paginao)
Sistemas Operacionais 73
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Implementao da tabela de segmentos em memria
Tabela de segmentos armazenada em memria
Segment-table base register (STBR): localizao do incio da tabela
de segmentos na memria
Segment-table length register (STLR): indica o nmero de
segmentos de um processo
! Segmento vlido apenas se: s < STLR.
Sistemas Operacionais 74
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Problemas com implementao da tabela em memria
Problemas similares ao da paginao:
Tabela pode ser muito grande
Dois acessos a memria para acessar um dado/instruo
Soluo:
Empregar uma TLB
Observao (vlida tambm para a paginao)
A consulta a tabela em memria provoca no mnimo 2 acessos a memria,
pois uma entrada na tabela pode representar mais de um acesso.
Sistemas Operacionais 75
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Implementao da tabela de segmentos via TLB
Memria
fsica
Memria
fsica
End.
Fsico
s d
CPU
CPU
End.
lgico
Base/limite
base/limite
TLB
Tabela de segmentos
hit
miss
Base d
<
Sistemas Operacionais 76
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Aspectos de proteo e compartilhamento
Os prncipios j estudados para paginao continuam vlidos para a
segmentao
e.g.; bits de proteo (rwx), bit de validade, bits de compartilhamento, etc..
Segmentao adiciona a possibilidade de compartilhar apenas
trechos da rea de cdigo
Problema associado:
Segmentos compartilhados devem ter a mesma identificao (entrada) na
tabela de segmentos
Sistemas Operacionais 77
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Desvantagem da segmentao
A segmentao provoca fragmentao externa quando segmentos
comeam a ser liberar memria
Mesmo problema de alocao parties variveis com as mesmas
solues:
Concatenao de segmentos adjacentes
Compactao da memria
Sistemas Operacionais 78
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Soluo para fragmentao externa
A paginao a soluo natural para a fragmentao
Analisar o problema sob dois pontos extremos:
Um processo um nico segmento
Cada byte um segmento
! Sem fragmentao externa, nem interna
! No vivel pelos overheads envolvidos
! Similar a pgina de 1 byte
Soluo: meio termo entre os extremos
Fazer um segmento ser composto por um nmero fixo (e reduzido) de bytes
Equivale a ter o segmento dividido em internamente em blocos
Sistemas Operacionais 79
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Segmentao com paginao
Recuperar as vantagens dos dois mtodos em relao a
fragmentao:
Fragmentao interna: paginao apresenta, segmentao no
Fragmentao externa: segmentao apresenta, paginao no
Soluo se traduz em paginar segmentos
End. lgico
s d
s d p
63
2
1
0
!
64k
1 k
Segmento contento
64 pginas de 1k
Sistemas Operacionais 80
I
n
s
t
i
t
u
t
o

d
e

I
n
f
o
r
m

t
i
c
a

-

U
F
R
G
S
O
l
i
v
e
i
r
a
,

C
a
r
i
s
s
i
m
i
,

T
o
s
c
a
n
i
Leituras complementares
R. Oliveira, A. Carissimi, S. Toscani; Sistemas Operacionais. Editora
Sagra-Luzzato, 2001.
Captulo 6
A. Silberchatz, P. Galvin, G. Gane; Applied Operating System
Concepts. Addison-Wesley, 2000.
Captulo 9
W. Stallings; Operating Systems. (4
th
edition). Prentice Hall, 2001.
Captulo 7

Você também pode gostar