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:

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.

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.