Portage de OS X sous x86, impossible?

  • Créateur du sujet Membre supprimé 2
  • Date de début
M

Membre supprimé 2

Invité
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
 
Bonjour,

Pourquoi cette question ? Tu hésites avant de te lancer ?
wink.gif


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
 
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.
 
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
wink.gif
)

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