Segmentação de memória
Conceitos: A memória é formadapor células de armazenamento. Cada célula armazena um bit e informação.
8 bits = 1 Byte (um n° de 0 a 255) – Integer.
Cada byte é acessado na memória por um endereço único
Registradores de Segmento
Registradores de 16 bits que indicam a qual segmento um determinado endereço (offset) se refere
CS – Code Segment (programa)
DS – Data Segment (dados)
ES – Extra Segment (pilha)
SS – Stack Segment (outros dados)
O decodificador de endereços recebe o Segmento e o Offset, então repassa para amemória calculando o Enredeço Real.
CALCULO: (Segmento * 16) + Offset.
Segmento
Offset
Endereço Real
1
30
46
0
46
46
2
14
46
Sobreposição de Segmentos:
Cada segmento de memória encontra sobreposto, por isso alguns calculos de Enrereço Real vão coincidir (conforme a tabela anterior). Essa tecnologia economiza em componentes eletronicos.
ANEXO DA INTERNET
A memória é formada por células de armazenamento. Cada célula armazena 1 bit de informação. Um conjunto de 8 células forma 1 byte. Cada byte é acessado através de um endereço único.
Em sistemas operacionais, segmentação é uma das maneiras mais comuns para a proteção de memória, sendo a memória paginada outro método bastante utilizado. Significa que parte da memória é removida do processo sendo executado atualmente, através do uso de registradores. Se o dado prestes a ser lido ou escrito está fora do espaço de endereços do processo, uma falha de segmentação é lançada.
Qualquer programa de computador está dividido em secções, como as declarações de variáveis e declarações de subrotinas, sobretudo se ele foi escrito numa linguagem de alto nível. Em termos de execução, cada uma dessas secções vai ocupar um segmento da memória.
O sistema operativo que suporta este sistema possuirá uma tabela com os tamanhos e endereços de memória dos vários segmentos de um programa para saber onde estão. Cada segmento possui um conjunto de