Professional Documents
Culture Documents
Segmentação
A segmentação é uma forma de se organizar a memória de nossos
computadores que surgiu junto com o lançamento dos primeiros IBM/PCs.
Na verdade este é um conceito que já existia antes do lançamento de tais
máquinas e era utilizado principalmente em sistemas de grande porte mas que
havia perdido muito terreno para um outro modelo de organização de memória
chamado de paginação.
Os PCs simplesmente ressuscitam esse modelo que a partir de então
passa a ser amplamente utilizado.
De forma bastante simples podemos dizer que a segmentação consiste na
divisão da memória do computador em pequenas porções, segmentos, e assim ao
invés de tratarmos em nossos programas a memória como um todo a trataremos
através destas partes.
1
Com 16 bits conseguimos representar valores numéricos entre 0000h e FFFFh
ou se você preferir valores entre 0 e 65.535 em decimal o que representa
exatamente 64 KB.
0000:0000h 00000h
0000:0001h 00001h
0000:0002h 00002h
: : :
: : :
0000:FFFFh 0FFFFh
1000:0000h 10000h
1000:0001h 10001h
: : :
: : :
1000:FFFFh 1FFFFh
2000:0000h 20000h
2000:0001h 20001h
: : :
: : :
: : :
F000:FFFFh FFFFFh
Sim e não...
A nível de arquitetura interna sim os processadores apresenta registradores
específicos para o tratamento de endereços segmentados e circuitos próprios para
tratar tais valores.
No entanto o barramento de endereços como já vimos apresenta apenas 20
linhas e portanto receberá e trabalhará apenas com endereços físicos, ou seja,
endereços de 20 bits.
Portanto fica claro que apesar de todo o nosso processamento ser feito a
nível de endereços segmentados na hora do vamos ver, de se pedir para o
processador localizar um endereço de memória, devemos fornecer ao barramento
de endereços o endereço real e não o segmentado.
E assim acredito que também deva ficar claro a necessidade de conversão
de endereços segmentados em endereços reais na hora de localizá-los.
(Seg) 1000h
(Offset) FFFFh
10FFFh
I
U
2
Quando por algum motivo um programa invade a área de memória do outro
temos o que chamamos, e que é muito popular nos ambientes Windows, de GPF
(Falha Geral de Proteção).
: : :
: : :
2000h 5000 FF10 Tamanho, Tipo...
: : :
: : :
5000 FF10h
0003h
5000 FF13h