Aplicativos de 32 bits e 64 bits em um ambiente de sistema de 64 bits

Sumário

8.1. Suporte ao tempo de execução
8.2. Desenvolvimento de software
8.3. Compilação de software em plataformas biarch
8.4. Especificações do kernel

O SUSE® Linux Enterprise Desktop está disponível para plataformas de 64 bits. Isso não significa necessariamente que todos os aplicativos incluídos tenham sido transpostos para plataformas de 64 bits. O SUSE Linux Enterprise Desktop suporta o uso de aplicativos de 32 bits em um ambiente de 64 bits. Este capítulo oferece uma breve visão geral de como esse suporte é implementado em plataformas de 64 bits do SUSE Linux Enterprise Desktop. Ele explica como aplicativos de 32 bits são executados (suporte do tempo de execução) e como aplicativos de 32 bits devem ser compilados para que possam ser executados em ambientes de sistema de 32 bits e 64 bits. Além disso, você encontrará informações sobre a API do kernel e uma explicação sobre como os aplicativos de 32 bits podem ser executados em um kernel de 64 bits.

O SUSE Linux Enterprise Desktop para as plataformas de 64 bits amd64 e Intel 64 foi projetado para que os aplicativos existentes de 32 bits sejam executados no ambiente de 64 bits imediatamente. Este suporte significa que você pode continuar a usar os aplicativos de 32 bits de sua preferência sem esperar que uma porta de 64 bits correspondente se torne disponível.

Suporte ao tempo de execução

[Important]conflitos entre versões de aplicativos

Se um aplicativo estiver disponível para ambientes de 32 bits e de 64 bits, a instalação paralela das duas versões provavelmente resultará em problemas. Em tais casos, opte pela instalação e pelo uso de uma das duas versões.

Uma exceção a essa regra é o PAM (módulo de autenticação conectável). O SUSE Linux Enterprise Desktop usa o PAM no processo de autenticação como uma camada que atua como mediador entre o usuário e o aplicativo. Em um sistema operacional de 64 bits que também executa aplicativos de 32 bits, é necessário sempre instalar as duas versões de um módulo PAM.

Para que os aplicativos sejam executados corretamente, cada um deles requer uma variedade de bibliotecas. Infelizmente, os nomes das versões de 32 bits e 64 bits das bibliotecas são idênticos. Eles devem ser diferenciados uns dos outros de outra forma.

Para obter compatibilidade com a versão de 32 bits, as bibliotecas são armazenadas no mesmo local no sistema e no ambiente de 32 bits. A versão de 32 bits de libc.so.6 está localizada em /lib/libc.so.6 nos ambientes de 32 bits e 64 bits.

Todos os arquivos de objetos e todas as bibliotecas de 64 bits estão localizados em diretórios denominados lib64. Os arquivos de objeto de 64 bits que normalmente são encontrados em /lib e em /usr/lib, agora estão em /lib64 e em /usr/lib64. Isso significa que há espaço para as bibliotecas de 32 bits em /lib e em /usr/lib, permitindo que o nome de arquivo de ambas as versões permaneça sem mudanças.

Os subdiretórios dos diretórios /lib de 32 bits com conteúdo de dados que não depende do tamanho do texto não são movidos. Este esquema está em conformidade com a LSB (Linux Standards Base - Base de Padrões Linux) e com o FHS (File System Hierarchy Standard - Padrão de Hierarquia de Sistema de Arquivos).