Ce forum est en partie financé par l’affichage de publicités. Merci de désactiver votre bloqueur de publicités pour nous permettre de continuer à fournir ce service.

Portage de OS X sous x86, impossible?

Discussion dans 'Développement Mac' créé par -anonyme-, 12 Juin 2003.

  1. -anonyme-

    -anonyme- Légende

    Inscrit:
    26 Février 2001
    Messages:
    66 286
    J'aime reçus:
    2 668
    Voilà ma question est dans le titre! Un peu plus de précisions tout de même: est ce techniquement possible? Quels sont les éléments de OS X qui pourrait être porté sans trop de difficulté? Quels sont les éléments qui poserait des difficultés? Y a t il quelquechose de particulier (raisons purement tech et pas commerciale) qui rend un tel portage impossible?

    Merci d'avance pour vos réponses.

    Ciao ciao
     
  2. Didier Guillion

    Didier Guillion Membre d’élite
    Club MacG

    Inscrit:
    20 Juillet 2001
    Messages:
    3 244
    J'aime reçus:
    164
    Bonjour,

    Pourquoi cette question ? Tu hésites avant de te lancer ? [​IMG]

    Pour être plus sérieux, le principal probleme vient du mode de codage des données (little endian et big endian) au niveau du processeur qui est fondamentalement différent.

    Ensuite, Windows est censé fonctionner sur des machines très hétérogènes avec des dizaines de constructeur de cartes et périphériques différents. Mac OS est concu par une société qui fabrique ses propres ordinateurs, il leur est donc facile de vérifier que cela marche. Sur PC, ce serait un autre problème.

    Sinon, pas mal de couches de Mac OS sont issues de projet open source qui fonctionnent deja sur Intel.

    C'est donc difficile mais pas impossible. J'ai porté pas mal de Toolkit Mac sur PC (tome I à IV de l'Inside Macintosh) afin de permettre aux applis Mac de se compiler et tourner sur PC.
    Si une équipe de deux personnes peut faire cela, je suppose qu'une cinquantaine d'ingéneurs issu du MIT devrait pouvoir faire le portage rapidement. Ce n'est plus qu'une question de volonté.


    Cordialement
     
  3. -anonyme-

    -anonyme- Légende

    Inscrit:
    26 Février 2001
    Messages:
    66 286
    J'aime reçus:
    2 668
    Oki ça au moins c'est une explication clair! Un peu d'éclaircissement, tu me dis si j'ai faux ou pas. Bon endian c'est l'arrangement des octets, donc en gros un processeur utilisant big endian va lire 0123 quand un proc utilisant little endian va lire 3210, right ou pas?

    Après quelques recherches, x86 utilise little endian alors que la famille 68000 est big endian, et le PPC aurait la capacité de se débrouiller avec l'un ou l'autre. Et Apple a choisi big endian, donc le soucis vient de là?

    Oulà je suis un prog petit niveau, alors le portage c'est pas pour moi. Juste un gars qui veut faire un article sur ça, nous a posé des question sur notre forum. Donc je vais l'aiguiller sur ce topic.

    En tous cas merci pour le coup de main, et si d'autres veulent donner des infos pas de soucis, on prend!!!!

    Ciao ciao.
     
  4. -anonyme-

    -anonyme- Légende

    Inscrit:
    26 Février 2001
    Messages:
    66 286
    J'aime reçus:
    2 668
    Autant pour moi je ne me suis pas authentifier.
     
  5. Didier Guillion

    Didier Guillion Membre d’élite
    Club MacG

    Inscrit:
    20 Juillet 2001
    Messages:
    3 244
    J'aime reçus:
    164
    Bonjour,

    Oui tu as bien compris.

    Par exemple, en C, si tu écrit :

    short a=0x1234;
    char * p=(char*)&a;

    printf("%x",*p);

    Va donner "12" sur Mac, "34" sur PC.

    (Nous restons dans le forum développement n'est ce pas [​IMG] )

    Tu vois que les problemes peuvent survenir très vite.
    MAIS, les programmeurs soucieux d'avoir un code portable font gaffe a ceci des le départ de la conception du programme.

    Donc, en général, les sources prévus pour Unix, gèrent ce genre de chose, par contre beaucoup de programmeurs Mac ne s'en préoccupent pas, d'ou probleme...

    Il ne faut pas oublier qu'un OS seul ne servirait a rien, il faut que les logiciels de tierce partie suivent...

    Cordialement


     
Chargement...