Alocação particionada divide a memória em blocos de tamanho fixo, enquanto
alocação relocável não impõe quaisquer restrições ao tamanho ou localização dos blocos alocados.
Com
alocação particionada , cada bloco recebe um endereço de memória específico e os programas são carregados na memória nesses endereços específicos. Isso significa que os programas devem ser projetados para serem executados em um endereço de memória específico e, se um programa precisar ser movido para um local de memória diferente, ele deverá ser recompilado.
Com
alocação relocável , os programas não recebem endereços de memória específicos quando são carregados na memória. Em vez disso, o sistema operacional atribui endereços de memória dinamicamente aos programas conforme necessário. Isso significa que os programas podem ser movidos para diferentes locais de memória sem serem recompilados.
A alocação particionada é mais simples de implementar, mas é menos eficiente que a alocação relocável. Com a alocação particionada, pode haver muita memória desperdiçada se os programas não couberem uniformemente nos blocos disponíveis. Com a alocação relocável, não há desperdício de memória, mas o sistema operacional deve trabalhar mais para gerenciar a memória.