Citation
fgh39
En terme de validation et test de la Slamd64
pensez vous qu'il s'agit simplement de reprendre
les Slackbuils et de modifier l'architecture i486
en x86_64 ?
Faut il rajouter des logiciels permettant la
compatibilité entre 32 vers 64 bits et vice versa
?
Si une slackware compilé pour i486 est
fonctionnelle et testée le memes sources
pourraient ils ètre utilisé pour les cpu 32_64
bits ?
Aussi avec la Slack 9.1, 10.0 ou 10.1 quand je
recompile mon kernel en utilisant l'option
athlon64,opteron pour mon CPU alors mos système
reste en 32 bit semble t-il ?
POur l'histoire des slackbuilds, c'est pas tout à faiut aussi simple. Si une partie des sources sont totalement portables de 32 à 64bits, une autre partie, notamment celle développée en assembleur, reste très délicate à porter. Cela dit, cela ne devrait concerner en principe quelquelques rares applications.
Y a pas besoin de logiciels pour réaliser la compatibilité 32-64 bits. En réalité, le mode émulation 32bits est supporté par un module des kernels x86_64 au moins dans la version 2.6.11.11 (que j'ai construite hier). Cela dit, ce module est encore expérimental. La compatibilité 32 vers 64 est rigoureusement impossible : si ton système est 32bits, tu ne pourras pas utiliser d'applis 64 bits, alors que l'inverse est possible. Cela est dû au fait que l'architecture 64bits a besoin d'utiliser des registres de 64bits, contre ceux de 32 utilisés en 32bits. Par ailleurs, un amd64 en mode 64bits dispose de deux fois plus de registres qu'un x86 classique. Du coup ça serait une daube du point de vue puissance si on avait la possibilité de le faire.
Les sources x86 sont non comparables aux sources x64 ... Du coup si les sources pour ix86 sont stables, rien n'indique que les sources x64 le soient. Donc non, on ne peut pas préshumer à partir des tests de Slack 486 que les paquets sont assez stables.
Si tu compile ton kernel avec l'option x86_64, tu auras un kernel 64-32 bits ... Donc dans les faits, ton système aura la posssibilité d'utiliser les registres additionnels quand il fonctionnera en mode natif. En réalité, tu ne profiteras de l'évolution vers le 64bits que si, et seulement si, tu recompiles l'ensemble de tes applications en cde 64bits. Sans quoi tous tes programmes fonctionneront en mode émulé 32bits, et tu ne ressentiras pas la moindre amélioration de performances, vu qu'il n'y en aura pas.
En dehors de ça, faire la différence entre un linux 32bits et un linux64 bits est assez difficile. Sauf à regarder si le code machine travaille avec 8 ou 16 GPR (general purpose register), et si il a 8 ou 16 registres SSE, on ne peut pas préshumer. Cela est particulièrement vrai par l'implémentation qui est faite par GCC du 64 bits, du point de vue des types de données ... En effet, à considérer les espaces alloués aux types entiers, on a (type x64 x86):
char : 8 | 8
short : 16 | 16
int : 32 | 32
long : 64 | 32
long long : deprecated, interdit par gcc 4 | 64
Comme la majorité des applciaitons écrites en C/C++ utilisent le type INT, qui n'a pas changé de dimension, la différence en terme d'étendue de codage (et donc de puissance arithmétique brute), et inexistante. Le seul gain estf ait par la modification du nombre de GPR et SSE ...