Multi-Arquiteturas e Seus Binários

5

Por que há um /usr/lib e um diretório /usr/lib32 , mas somente um diretório /usr/bin e no /usr/bin32 em uma instalação AMD64 de 64 bits do Ubuntu? Se ou quando o Debian / Ubuntu começar a suportar binários de multi-alvo-arquitetura nos seus ELF, esta ramificação de diretório se tornará desnecessária?

    
por Nordlöw 02.06.2012 / 23:29

2 respostas

1

A idéia é que você pode querer instalar as versões de 32 e 64 bits da mesma biblioteca em seu sistema, para acomodar binários usando qualquer arquitetura, onde há pouco sentido em ter o mesmo binário em duas arquiteturas diferentes .

Alguns aplicativos são muito intensivos em ponteiro, e nesse caso, executar uma versão de 32 bits para um conjunto de dados pequeno pode ser mais eficiente, pois você economizará memória e reduzirá os erros de cache. Isso só funcionará em até 3 GB de espaço de endereço para i386 (ou 2 GB, dependendo das opções de tempo de compilação do kernel).

Se você encontrar uma situação em que um binário de 32 bits faz mais sentido, você poderá recompilar o dito binário. No entanto, isso é muito de um caso de canto para distribuições para manipular. Se você acha que essa decisão está errada, sempre é possível criar uma solicitação de recurso.

Outra sapproach é instalar uma versão de 32 bits de toda a distribuição e executá-la com um kernel de 64 bits. Isso funcionará bem, cada processo terá acesso a 4GB de memória (em vez de 3GB ou menos, como mencionado anteriormente), o sistema pode usar mais de 4GB de RAM, e o kernel não precisa de nenhum dos truques que 32 bits uso de kernels ( por exemplo, PAE).

    
por 04.07.2012 / 02:22
0

O Debian já tem lançamentos multi-arch:

link

Você pode instalá-lo e ver como ele é feito.

    
por 04.07.2012 / 03:27