Tabla de contenidos
Resumen
AMD presentó a la opinión pública su procesador AMD Athlon 64 en septiembre de 2003. Este nuevo procesador es de 64 bits y puede por tanto ejecutar los nuevos programas AMD64 de 64 bits al mismo tiempo que permite la ejecución de programas x86 de 32 bits ya existentes con igual rendimiento.
Los programas de 64 bits admiten espacios de direcciones más grandes y ofrecen un mejor rendimiento gracias a registros adicionales (soportados exclusivamente en modo de 64 bits) y a otras novedades como las modernas convenciones de llamada (Calling conventions) para funciones.
Con este producto, SUSE LINUX soporta el nuevo procesador por partida doble:
SUSE LINUX de 32 bits para x86 lo soporta como procesador de 32 bits al igual que soporta los procesadores Athlon de AMD y Pentium de Intel.
El nuevo SUSE LINUX de 64 bits para AMD64 lo soporta en modo de 64 bits. Asimismo se soporta la ejecución y el desarrollo de programas x86 de 32 bits.
![]() | Importante |
|---|---|
Por razones históricas, la salida del comando uname -m es x86_64, ya que este era el nombre de la primera especificación de AMD. | |
En la parte del hardware, AMD64 no se diferencia de los sistemas Athlon normales desde el punto de vista del usuario. Las interfaces y buses de uso corriente son idénticos en ambas plataformas y continúan soportándose.
Debido a que los controladores de hardware para Linux en AMD64 han de ser de 64 bits, puede que tengan que ser adaptados parcialmente. Algunas tarjetas antiguas no funcionan en la actualidad, pero el soporte de hardware actual debería ser el mismo en sistemas de 32 y de 64 bits.
En la parte del software, casi todos los paquetes son de 64 bits si bien también se soporta la ejecución de programas de 32 bits. Con este fin se han desarrollado especialmente paquetes de librerías de 32 bits incluidas en la instalación estándar. Para posibilitar la instalación de librerías de 32 y 64 bits homónimas en el mismo sistema, las librerías de 32 bits se instalan en directorios /lib mientras que las de 64 bits lo hacen en /lib64. De esta forma se consigue que los paquetes RPM de 32 bits puedan ser instalados sin cambios.
Desde el punto de vista del administrador y el usuario, la distinción entre 32 y 64 bits no se aprecia directamente, ya que todos los programas presentan el mismo aspecto y comportamiento.
Puede que sea necesario convencer al software de 32 bits que ejecuta uname para determinar la arquitectura de que funcione en sistemas AMD64. Con este fin puede utilizarse el programa linux32. Una vez empleado, la salida de uname -m se modifica:
uname -m
x86_64
linux32 uname -m
i686
Con SUSE LINUX para sistemas AMD64 pueden desarrollarse programas 32 y de 64 bits. Los compiladores GNU generan normalmente código AMD64 de 64 bits. El conmutador -m32 se encarga de crear código x86 de 32 bits que funcione también en sistemas AMD Athlon de 32 bits o Intel Pentium.
Para desarrollar código de 64 bits es necesario utilizar librerías de 64 bits. Aunque las rutas /lib64 y /usr/lib64 se examinan siempre, para código X11 es necesario por ejemplo emplear -L/usr/X11R6/lib64. Por lo tanto, puede que haga falta adaptar los makefiles.
Una opción para depurar el código es GDB, el cual se llama gdb para programas AMD64 de 64 bits y gdb32 para programas x86 de 32 bits. La herramienta strace es capaz de examinar ambas clases de programas y la librería Tracer ltrace dispone también de un programa específico para 32 bits: ltrace32.