Shared Memory(10.1B and Higher) – 2

Escrito por Nilson Nestor Wolfgramm em 27 de maio de 2009, 08:19h

Espaço de endereçamento de processos 32 bits.

Muitos fatores afetam o total de memória compartilhada que o gerenciador de banco de dados pode alocar, dentre os quais, tamanho do programa, área de pilha necessária, bibliotecas compartilhadas, arquivos de mapeamento de memória, e memória alocada da heap. A título de curiosidade para quem quiser aprofundar conhecimentos a respeito da utilização de memória pelos sistemas operacionais dê uma olhada nos links http://msdn.microsoft.com/pt-br/library/bb202725.aspx, http://www.vivaolinux.com.br/artigo/Funcionamento-da-memoria/, e  http://www.linuxjournal.com/article/4681.

 

As políticas de alocação de memória e endereçamento de espaço utilizadas pelos diferentes sistemas operacionais são complexas e variam muito de um para outro. O diagrama abaixo permite visualizar um layout exemplo de um espaço de endereçamento de processo 32 bits:

 

SharedMemory

 

A maioria dos sistemas operacionais divide o espaço de endereçamento de 4GB em diferentes faixas de endereçamento. Cada faixa, também chamada seção, tem um propósito específico. Por exemplo, o sistema operacional deve reservar uma seção para o programa, ou código que está em execução. Da mesma forma deverá reservar seções para a pilha do programa e dados estáticos.

Considere o diagrama acima  onde pode ser observada a divisão do espaço de endereçamento em seções, incluindo de kernel, de programa e seus dados, de espaço de pilha, de espaço para alocação dinâmica de memória(heap), e de dados globais que inclui memória e biblioteca compartilhadas, ou DLL´s. 

O tamanho de cada seção varia dependendo do sistema operacional afetando a alocação dos segmentos de memória compartilhada.

 

A tabela abaixo apresenta alguns detalhes do espaço de endereçamento de processo para o Solaris, Linux, Windows, AIX, e HP-UX.

 SharedMemory

 

  No próximo post veremos os resultados de alguns testes de utilização de memória compartilhada realizados com as releases 10.1B e 10.1C.

Categorias: Banco de dados | Internals | Progress

Comentar




biuquote
  • Comentário
  • Pré-visualização
Loading


Acesso LogMeIn

Informe o código PIN: