Je vois souvent des gens (des Apple fanboys en fait) qui disent Mac OS X est 64-bit, pas comme windows ou y a 2 versions blablabla..
Qu’en est-il réellement ? ouvrons le terminal, une commande très pratique existe : file, essayons la sur /bin/ls pour commencer.
[Nyxouf@nyx0ufs-macbook ~]$ file /bin/ls
/bin/ls: Mach-O universal binary with 2 architectures
/bin/ls (for architecture i386): Mach-O executable i386
/bin/ls (for architecture ppc7400): Mach-O executable ppc
On voit que le binaire contient du code pour 2 architectures, intel et PowerPC (Universal Binaries), pas de trace de 64-bit.
Bon maintenant, essayons sur un truc un peu plus sérieux :
[Nyxouf@nyx0ufs-macbook ~]$ file /mach_kernel
/mach_kernel: Mach-O universal binary with 2 architectures
/mach_kernel (for architecture i386): Mach-O executable i386
/mach_kernel (for architecture ppc): Mach-O executable ppc
J’ai le regret d’annoncer aux fanboys que leur kernel n’a rien de 64-bit, et qu’au final y a pas beaucoup d’applications 64-bit, listons les applications dans /bin et dans /usr/bin en filtrant la sortie avec grep :
[Nyxouf@nyx0ufs-macbook ~]$ file /bin/* | grep 64
Résultat : nada.
[Nyxouf@nyx0ufs-macbook ~]$ file /usr/bin/* | grep 64
/usr/bin/appletviewer (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/apt (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/auvaltool (for architecture ppc64): Mach-O 64-bit executable ppc64
/usr/bin/auvaltool (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/dsymutil (for architecture ppc64): Mach-O 64-bit executable ppc64
/usr/bin/dsymutil (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/dwarfdump (for architecture ppc64): Mach-O 64-bit executable ppc64
/usr/bin/dwarfdump (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/extcheck (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/idlj (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/jar (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/jarsigner (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/java (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/javac (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/javadoc (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/javah (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/javap (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/javaws (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/jconsole (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/jdb (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/jhat (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/jinfo (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/jmap (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/jps (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/jsadebugd (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/jstack (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/jstat (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/jstatd (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/keytool (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/ld64: Mach-O universal binary with 2 architectures
/usr/bin/ld64 (for architecture i386): Mach-O executable i386
/usr/bin/ld64 (for architecture ppc7400): Mach-O executable ppc
/usr/bin/mpic++ (for architecture ppc64): Mach-O 64-bit executable ppc64
/usr/bin/mpic++ (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/mpicc (for architecture ppc64): Mach-O 64-bit executable ppc64
/usr/bin/mpicc (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/mpicxx (for architecture ppc64): Mach-O 64-bit executable ppc64
/usr/bin/mpicxx (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/mpiexec (for architecture ppc64): Mach-O 64-bit executable ppc64
/usr/bin/mpiexec (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/mpif77 (for architecture ppc64): Mach-O 64-bit executable ppc64
/usr/bin/mpif77 (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/mpif90 (for architecture ppc64): Mach-O 64-bit executable ppc64
/usr/bin/mpif90 (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/mpirun (for architecture ppc64): Mach-O 64-bit executable ppc64
/usr/bin/mpirun (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/native2ascii (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/ompi_info (for architecture ppc64): Mach-O 64-bit executable ppc64
/usr/bin/ompi_info (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/opal_wrapper (for architecture ppc64): Mach-O 64-bit executable ppc64
/usr/bin/opal_wrapper (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/orbd (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/orted (for architecture ppc64): Mach-O 64-bit executable ppc64
/usr/bin/orted (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/orterun (for architecture ppc64): Mach-O 64-bit executable ppc64
/usr/bin/orterun (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/pack200 (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/policytool (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/rmic (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/rmid (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/rmiregistry (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/serialver (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/servertool (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/tnameserv (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/unpack200 (for architecture x86_64): Mach-O 64-bit executable x86_64
Ca nous fait environ 50 binaires compatibles 64-bit sur plus de 900 dans ce répertoire.
La même commande dans /Applications nous montre que la seule application d’Apple 64-bit est Chess.app.
Voilà, pour conclure un petit schéma qui vient de AppleInsider, et qui montre que peu de choses fonctionnent en 64-bit sur Leopard.

NB : Tous les tests ont été réalisés sur un MacBook4,1 C2D 2,4Ghz tournant sous Mac OS X 10.5.7.