• [^] # Re: Dropline gnome = i686

    Posté par . En réponse au journal Gnome et Slackware, c'est fini ?. Évalué à 5.

    bah je vais tout t'avouer , je suis un neophyte aussi hein , mais bon , on va quand meme etaler le plus possible mon peu de connaissance ( pasque la connaissance , la confiture , tout ca , dixit ma grand mere )

    On va reprendre tout depuis le debut alors (notez bien que ce que je vais vous debiter viens de mes cours d'electronique , chapitre programmation des micro-controlleurs , je ne sais plus lequel , mais je me rappelle juste que c'est le meme que celui de la nintendo 8bits).

    Au depart est le code source , c'est un texte fait pour etre lisible par un humain , au meme titre que le francais , il decrit ce que doit faire le processeur , afficher cela , attendre tel action de l utilisateur , faire ceci ou cela en fonction des actions...

    Dans le cas idéal ( celui que nous etudierons pour simplifier ) ce code peut marcher sur tout les processeurs , celui de ma nintendo 8 bits , un 286 , le dernier pentium547 giga hertz avec double-mega-threading , le g5 qu on trouve dans les derniers macintosh , la puce que tu as dans ton telephone portable.

    seulement , le code source , tout comme le francais , le proc ne le comprends pas , il ne comprends que les 0 et les 1 , donc on va passer la source dans un compilateur , pour la transformer en 0 et 1
    ( un fichier binaire executable par le processeur , mais incomprehensible cette fois par un humain , de l'interet justement de fournir toujours les sources , l'utilisateur qui sait programmer pourras corriger les erreurs puis recompiler , chose qu il ne saura jamais faire avec un binaire)

    Mais un compilateur pour marcher doit , en plus du code source , savoir pour quel puce est destiné le code source , le binaire n'etant pas le meme pour ma nintendo 8bits ou pour un pentium-usine-nucléaire.

    Pour simplifier , la serie des x86 (1:on va pas trop s avancer sur les x86 64 bits , je me suis pas trop renseignés )( 2:et d'ailleurs tout autres serie de processeurs de maniere generale ) est dite à " compatibilité ascendante " , ce qui veut dire que le binaire que l'on a crée pour un 8086 ( le premier de la serie ) marchera nickel sur le dernier pentium ( tres peu de chance pour que l'inverse marche ).

    Donc , compiler pour une architecture ancienne:
    avantage : le programme marchera sur cette architecture la , et sure toute les suivantes , meme celle qui n'existent pas encore , et ce , aussi longtemps qu'intel fera attention à la compatibilité materielle de ses nouvelles puces avec ses anciennes.

    un programme qui dit "hello world" aura tout interet à etre compilé pour 286 , ou du moins il ne sera pas penalisé , n'utilisant pas de ressources enormes (donc autant le laisser à la portée du plus grand nombre )

    inconvenient : le programme n'utilisera pas les dernieres avancées technologiques mise à dispo par Intel.
    Par exemple le MMX ( MultiMedia eXtensions) est un jeu d'instructions spécialisé dans le son et l'image , le jeu POD , qui fut un des premiers jeux à utiliser la techno MMX est bien plus fluide avec que sans ( à cadence de proc egale )

    le meme "hello world" avec de la musique derriere , avec du texte coloré , en 3d , virevoltant , avec un damier qui se reflete dans le texte sera plus poussif si le binaire est compilé pour un 286 qu s'il est compilé pour un pentium-usine-à-protons ( les deux binaires , optimisé et non-optimisé etant executé sur le meme processeur evidemment )

    Pour en revenir au sujet de départ :
    le probleme est que slackware est une distrib globalement constituée de binaires compilé pour 486 ( donc si tu as bien suivi , tu as compris que la slackware marche encore sur ces antiquitées , mais que sur des machines plus récentes , elle ne donne pas tout son potentiel ) , et que les prochaines version de gnome seront compilées pour 686 ( les pentium 2 ) , ce qui signifie que gnome , lui ne pourras pas tourner sur 486.

    Du coup , pour le couple slackware/gnome tout va mal ,
    l'avantage qu'a slackware de pouvoir tourner sur de vieilles machines ( et qui compense largement la non-optimisation de cette distrib pour les generations ulterieures de processeurs) est mise à mal pour un gnome qui reclame minimum un pentium 2 pour ne pas risquer de crasher le processeur.

    ( car un binaire compilé pour un pentium 2 pourra demarrer sur un 486 , mais il n'y a pratiquement aucune chance que le programme ne plante pas à cause d'une instruction que le processeur ne connait pas)

    De l'avantage , quand on maitrise ( ce qui n'est absolument pas mon cas , je te rassure , je ne connait que la theorie , et je n'ai pas encore oser toucher à gcc ) , de ne pas s'emmerder avec des binaires et de tout compiler , afin d'avoir des programmes qui correspondent pile-poil à notre systeme...

    (voila)