1. John Siracusa
    1. Mountain Lion
      1. Introduction
      2. Achat et installation
      3. Changements d'interface (1)
      4. Changements d'interface (2)
      5. Changements d'interface (3)
      6. Applications (1)
      7. Applications (2)
      8. Applications (3)
      9. Applications (4)
      10. Applications (5)
      11. iCloud(1)
      12. iCloud(2)
      13. iCloud(3)
      14. Gatekeeper(1)
      15. Gatekeeper(2)
      16. Retina et HiDPI
      17. Fourre-tout (1)
      18. Fourre-tout (2)
      19. Fourre-tout (3)
      20. Fourre-tout (4)
      21. Fourre-tout (5)
      22. Fourre-tout (6)
      23. Recommandations
      24. Deux pères, un fils
    2. Lion
      1. Introduction
      2. Installation
      3. Revoir les fondamentaux
      4. Redimensionnement des fenêtres
      5. Et voici pour les cinglés
      6. La gestion des fenêtres
      7. Le modèle de document
      8. le modèle des processus
      9. Les éléments internes (1)
      10. Les éléments internes (2)
      11. ARC
      12. Le système de fichiers
      13. Ses modifications dans Lion
      14. Documents, résolution
      15. Le Finder
      16. Mail, Safari
      17. Fourre tout (1)
      18. Fourre tout (2)
      19. Recommendations
    3. Snow Leopard
      1. Introduction
      2. Le ticket d'entrée
      3. L'installation
      4. Nouvel aspect
      5. Détails internes
      6. Quick Time X
      7. Système de fichiers
      8. Faire plus avec plus
      9. LLVM et Clang
      10. Les blocs
      11. Concurrence
      12. Grand Central Dispatch
      13. Asynchronicité
      14. Open CL
      15. La différence...
      16. Quick Time Player
      17. Le Dock
      18. Le Finder
      19. Exchange
      20. Performances
      21. Fourre tout (1)
      22. Fourre tout (2)
      23. Le futur
    4. Leopard
      1. Introduction
      2. L'héritage
      3. Nouvel aspect 1
      4. Nouvel aspect 2
      5. Le noyau
      6. 64 bits
      7. FS Events
      8. Core animation
      9. Quartz GL
      10. Core UI
      11. Détails internes
      12. Le Finder
      13. Le Dock
      14. Time Machine
      15. Performances
      16. Pot pourri
      17. Demain
    5. Tiger
      1. Introduction
      2. Retour sur le passé
      3. Nouvel aspect de Tiger
      4. Mises à jour du noyau
      5. Le lancement
      6. Les méta-données
      7. Attributs étendus
      8. Listes de contrôle d'accès
      9. Spotlight 1
      10. Spotlight 2 : analyse et potentiel
      11. Types de fichiers
      12. Méta-données : la fin
      13. Quartz
      14. Quartz 2D Extreme
      15. Core Image
      16. La vidéo sous Tiger
      17. Dashboard
      18. Le Finder
      19. Les performances
      20. Pot pourri
      21. Conclusion
    6. Panther
      1. Introduction
      2. Les précédents
      3. L'installation
      4. Nouvel aspect
      5. Performances
      6. Changement rapide d'utilisateur
      7. Gestion des fenêtres
      8. Exposé
      9. Le Finder
      10. Performance du Finder
      11. Toujours le même
      12. Safari
      13. XCode
      14. Conclusion
    7. Jaguar
      1. Introduction
      2. Le nom
      3. L'installation
      4. Modifications d'Unix
      5. Dévelopeurs...
      6. Quoi de neuf
      7. Rendezvous
      8. Quartz Extrême
      9. Performance
      10. Compositions
      11. Le Finder
      12. Applications
      13. Sherlock
      14. Le portrait
    8. Puma
      1. Prelude
      2. Introduction
      3. Installation
      4. Réglages système
      5. Performance
      6. Redimensionnement des fenêtres
      7. Utilisation de la mémoire
      8. Diagnostics de mémoire
      9. L'environnement Classique
      10. L'interface Utilisateur
      11. Le Finder
      12. Extensions de fichiers
      13. Divers, conclusion
    9. Cheeta (Mac OS X 10.0)
      1. Qu'est ce que Mac OS X
      2. Installation
      3. Le démarrage
      4. Utilisation de la RAM
      5. Performance
      6. Performance des applications
      7. Stabilité
      8. L'interface utilisateur
      9. Le Finder
      10. Le navigateur du Finder
      11. Le Finder (divers)
      12. L'interface utilisateur
      13. Os X Classique
      14. Système de fichiers
      15. Unix
      16. Applications
      17. Conclusion
    10. Les débuts de MacOsX
      1. 1999 : OSX DP2
      2. 2000 : Quartz et Aqua/a>
      3. Fin de la lune de miel
      4. la première bêta publique
      5. 2001 : Mac OS X 10.0
      6. Un investissement
    11. Finder Spatial
      1. Introduction
      2. Interfaces spatiales
      3. Le Finder spatial
      4. Le concierge
      5. Un nouveau Finder
      6. Le browser
      7. Le browser spatial
      8. Finder et méta-données
      9. Les modèles
      10. Pensées finales

Détails internes




Attention, détails techniques en vue...

Nous voilà maintenant au début de la section habituelle sur les détails techniques internes. Léopard des neiges est plein de changements internes, et ça se reflète dans le contenu de ce compte-rendu. Si vous êtes seulement intéressé(e) par les modifications que l'utilisateur peut voir, vous pouvez passer plus loin, mais vous allez manquer la viande du repas, et le cœur du nouvel OS d'Apple.

64 bits : la route conduit toujours plus loin

Mac OS X a commencé sa conversion à 64 bits en 2003 avec la livraison de Panther, qui comprenait le support minimal le plus élémentaire du nouveau processeur Power PC G5 64 bits. En 2005, Tiger a apporté la possibilité de créer de vrais processus 64 bits - tant qu'ils ne se liaient pas aux bibliothèques GUI (celles de l'interface Utilisateur Graphique). Finalement, Léopard en 2007 a incorporé le support 64 bits pour les applications GUI. Mais il y avait encore des limitations : le support 64 bits concernait les applications Cocoa seulement. Dans les faits, c'était la fin de la route pour Carbon.

En dépit des promesses apparemment impressionnantes de Léopard, il faut encore quelques étapes supplémentaires pour que Mac OS X puisse atteindre le nirvana 64 bits. Le diagramme ci-dessous le montre : passage de 32 à 64 bits

Comme nous le verrons, tout ce qui est jaune dans le diagramme de Léopard des neiges représente les possibilités, pas nécessairement le mode de fonctionnement par défaut.

K64

Léopard des neiges est la première version de Mac OS X à délivrer un noyau 64 bits ("K64" dans la terminologie Apple), mais il n'est pas validé par défaut sur la plupart des systèmes. La raison en est simple. Rappelez-vous qu'il n'y a pas de mode mixte sous Mac OS X. A l'exécution, un processus est soit 32 bits, soit 64 bits, et ne peut charger d'autre code -bibliothèques, greffons- que du même type.

Une catégorie importante de greffons chargés par le noyau est constituée pas les pilotes de périphériques. Si Léopard des neiges avait par défaut un noyau 64 bits, seuls les pilotes 64 bits pourraient se charger. Et quand on se représente que Léopard des neiges est la première version de Mac OS X à inclure un noyau 64 bits, il y aurait eu très peu de ces pilotes précieux sur les systèmes des utilisateurs le jour du lancement.

listing

Si bien que, par défaut, Léopard des neiges ne démarre avec un noyau 64 bits que sur les XServe de 2008 ou plus récents. Je suppose que le raisonnement est que tous les périphériques couramment rattachés à un Xserve seront fournis par Apple avec des pilotes 64 bits pour Léopard des neiges.

D'une façon peut-être surprenante, tous les Macs avec des processeurs 64 bits ne sont même pas aptes à démarrer dans un noyau 64 bits. Bien que cela puisse changer dans les prochaines versions intermédiaires de Léopard des neiges, le tableau ci-contre donne une liste de tous les Macs qui sont capables de démarrer K64, ou démarrent ainsi par défaut. (Pour trouver le nom de modèle de votre Mac, choisissez "A propos de ce mac" dans le menu Apple, puis cliquez "Plus d'infos...", et lisez l'"Identifiant du modèle" à la deuxième ligne de la rubrique Matériel).

Pour tous les Macs capables K64, démarrez en maintenant simultanément les touches 6 et 4, pour sélectionner le noyau 64 bits. Pour une solution plus permanente, utilisez la commande nvram et ajoutez arch=x86_64 à la chaîne des boot-args, ou bien éditez le fichier /Library/Preferences/SystemConfiguration/com.apple.Boot.plist, et ajoutez arch=x86_64 à la chaîne des drapeaux de noyau :
listing

Pour revenir au noyau 32 bits, maintenez les touches 3 et 2 pendant le démarrage, ou utilisez une des techniques ci-dessus pour remplacer "x86_64" par "i386".

Nous avons déjà dit pourquoi, au moins initialement, vous n'aurez sans doute pas envie de démarrer en K64. Mais à mesure que l'adoption de Léopard des neiges va monter, et que des mises à jour à 64 bits des extensions existantes du noyau vont apparaître, pourquoi pourriez-vous avoir envie d'utiliser effectivement le noyau 64 bits ?

La première raison concerne la RAM, et pas de la façon dont vous vous pourriez l'imaginer. Bien que Léopard utilise un noyau 32 bits, les Macs qui utilisent Léopard peuvent contenir et utiliser beaucoup plus de RAM que la limite de 4 Go que le qualificatif de 32 bits semble impliquer. Mais, à mesure que les tailles de RAM augmentent, il y a une autre raison : le manque d'espace d'adressage, non pour les applications, mais pour le noyau lui-même.

En tant que processus 32 bits, le noyau est limité à un espace d'adressage de 32 bits (soit 4 Go). Cela ne semble pas être un problème ; après tout, le noyau a-t-il réellement besoin de plus de 4 Go pour faire son travail ? Mais rappelez-vous qu'une partie du travail du noyau est de chercher et de gérer la mémoire du système. Il utilise une structure de 64 octets pour contrôler l'état de chaque page de 4 Ko de Ram utilisée par le système.

C'est 64 octets, pas des kilo-octets. Cela n'est pas beaucoup. Mais considérez maintenant un Mac qui, dans un futur pas très lointain, contiendra 96 Go de RAM. (Si cela vous semble ridicule, imaginez à quel point ridicules les 8 Go du Mac sur lequel je tape ce texte maintenant auraient paru il y a cinq ans). Contrôler 96 Go de RAM nécessite 1,5 Go d'espace d'adressage pour le noyau. Utiliser plus d'un tiers de l'espace d'adressage du noyau juste pour le contrôle de la mémoire est une situation plutôt inconfortable.

A l'inverse, un noyau 64 bits a un espace d'adressage à peu près illimité (16 exaOctets). K64 est une nécessité inévitable, étant donnée l'augmentation rapide de la taille de la mémoire système. Bien que vous n'en ayez pas nécessairement besoin maintenant sur votre ordinateur de bureau, c'est déjà courant de voir installé sur les serveurs un espace de RAM à deux chiffres.

Une autre chose que K64 a en sa faveur, est la vitesse. L'architecture de l'ensemble d'instructions du x86, a eu une histoire un peu tortueuse. Quand il a conçu x86-64, l'extension à 64 bits du x86, AMD a saisi l'occasion pour laisser de côté un peu des laideurs du passé, et incorporer plus de possibilités modernes : des registres plus nombreux, des nouveaux modes d'adressage, des possibilités de virgule flottante ne reposant pas sur une pile, etc... K64 profite de ces bénéfices. Apple déclare les performances suivantes :
• 250 % plus rapide pour les points d'entrée des appels système
• 70 % plus rapide pour la copie en mémoire (utilisateur/noyau)

Des tests ciblés confirmeraient cela, j'en suis sûr. Mais dans la pratique quotidienne, vous avez peu de chances de pouvoir attribuer au noyau un quelconque gain de performance. Pensez plutôt à K64 comme moyen de supprimer les goulots d'étranglement dans un petit nombre d'applications (généralement basées sur des serveurs), qui exploitent le noyau effectivement et intensément.

Si vous vous sentez mieux de savoir que votre noyau est plus efficace, et que si vous aviez 96 Go de RAM installés, le noyau ne manquerait pas d'espace d'adressage, et si vous n'avez aucun pilote 32 bits indispensable, alors, en tout état de cause, démarrez en mode 64 bits.

Pour tous les autres, je pense qu'il faut se réjouir que K64 soit prêt, et attende qu'on en ait réellement besoin, et de grâce, faites savoir à tous les vendeurs qui écrivent des extensions du noyau que vous comptez installer le support 64 bits aussi vite que possible.

Finalement, il est bon de le répéter : gardez à l'esprit que vous n'avez pas besoin d'un noyau 64 bits pour faire tourner des applications 64 bits ou pour installer plus de 4 Go de RAM dans votre Mac. Les applications tournent très bien en mode 64 bits sur un noyau 32 bits, et même dans des versions précédentes de Mac OS X, on peut tirer parti de beaucoup plus que 4 Go de RAM.

Les applications 64 bits

Bien que Léopard ait apporté le support pour des applications GUI 64 bits, il n'en incorporait réellement que très peu. En fait, selon mes comptes, seules deux applications GUI ont été livrées avec Léopard : Xcode (dont l'installation est optionnelle), et Chess. Et bien que Léopard ait rendu possible pour les développeurs extérieurs à Apple la production d'applications graphiques (GUI) 64 bits, très peu en ont profité, parfois pour des circonstances malheureuses, mais le plus souvent parce qu'il n'y avait pas de bonnes raisons de le faire, et d'abandonner dans la course les utilisateurs de Mac OS X 10.4 ou de versions plus anciennes.

Apple pousse maintenant la transition vers 64 bits plus vigoureusement. Et commence en montrant l'exemple. Léopard des neiges est fourni avec 4 applications GUI pour l'utilisateur final qui ne sont pas 64 bits : iTunes, Grapher, Front Row, et DVD Player. Toutes les autres sont en 64 bits. Le Finder, le Dock, Mail, TextEdit, Safari, iChat, Address Book, Dashboard, Help Viewer, Installer, Terminal, Calculator, quoi que vous en pensiez, c'est du 64 bits.

La seconde grosse carotte, (ou bâton, selon la manière dont vous voyez les choses), est le manque de support 32 bits pour les nouvelles APIs et technologies. Léopard a lancé la tendance délaissant les APIs démodées, en ne portant que les nouvelles sous 64 bits. L'exécutif amélioré Objective C 2.0 introduit avec Léopard était aussi en 64 bits seulement.

Léopard des neiges continue dans la foulée. Dans l'exécutif Objective-C 2.1, les variables d'instance non-fragile, le modèle unifié d'exceptions avec C++, et la répartition vtable rapide ne restent disponibles que pour les applications 64 bits. Mais la nouvelle API uniquement 64 bits la plus significative est QuickTime X -assez significative pour être traitée séparément, alors, restez branché.

64 bits ou la faillite

Tout cela fait partie de la façon pas très subtile qu'a Apple de dire aux développeurs qu'il est temps de passer maintenant au 64 bits, et que ce doit être le mode par défaut pour toutes les applications, que le développeur estime que c'est un besoin ou non. Dans la plupart des cas, ces nouvelles APIs n'ont pas de rapport intrinsèque avec le 64 bits. Apple a simplement choisi de les utiliser comme une forme supplémentaire de persuasion.

En dépit de tout ce qui précède, je qualifierais encore Léopard des neiges comme l'avant-dernière étape dans la course au 64 bits, du début à la fin. J'espère vraiment que Mac OS X 10.7 démarrera par défaut avec le noyau 64 bits, qu'il sera livré avec des versions 64 bits de toutes les applications, greffons (plug-ins), et extensions du noyau, et laissera encore plus d'APIs dépassées et démodées se dissoudre dans l'espace 32 bits.