Quand Mac OS 9 et Mac OS X devaient partager leur mémoire

On a déjà discuté de la gestion calamiteuse de la mémoire vive par les prédécesseurs de Mac OS X. À l’époque, c’est-à-dire jusqu’en 2001 tout de même, le système des Macs distribuait des pans de mémoire vive aux applications quand elles étaient lancées. Celles-ci occupaient alors cette mémoire vive qui leur était allouée, et ne la restituaient qu’une fois quittées. Face à cette fragmentation progressive de la mémoire, on réfléchissait alors en termes de « plus gros bloc inutilisé » pour connaître la quantité de mémoire dont on disposait au moment de lancer un nouveau logiciel.

Mac OS X a fait passer les Macs dans l’ère de la modernité, en partageant la mémoire entre toutes les applications, avec un usage transparent de la mémoire virtuelle, permettant à chaque application de disposer de la mémoire vive qu’il lui fallait, au moment où cela s’avérait nécessaire. Restait à permettre à Mac OS « classique » de s’inscrire dans ce ballet, sans bloquer inutilement la mémoire utile à Mac OS X. Ce sera fait au moyen d’une réécriture du noyau de Mac OS 8.6, organisé autour d’un nouveau nano-noyau, chargé des opérations les plus basiques. Cette première réalisation étant relativement instable dans les premières versions de Mac OS X Server, elle sera améliorée avec Mac OS 9.

Voici ce que cela donne, vu depuis Mac OS 9. Grâce à une petite bidouille très simple à l’aide de ResEdit, nous avons pu lancer le Finder et son outil « À propos de votre ordinateur », normalement inaccessibles depuis Mac OS X. On a ainsi retrouvé toutes les informations sur le système, y compris ce « plus gros bloc inutilisé » fixé au minimum. L’addition des mémoires réservées par chaque application dépassé largement le total de mémoire physiquement disponible, sans compter que les applications indépendantes de l’environnement Classic sont artificiellement limitées à 504 Ko (en réalité, Mac OS X leur alloue ce qui leur est nécessaire, jusqu’à 4 Go par application dans ces premières versions). Classic n’était donc pas un simple émulateur tournant dans Mac OS X, mais un système intégré à celui-ci, et travaillant en symbiose avec lui.

A propos, Mac OS 9

Remarquez que la fenêtre « À propos de votre ordinateur » de Mac OS 9 incluait la mention « Blue Box Enabler », précisant le numéro de version du module permettant d’assurer le fonctionnement de Classic (autrefois dénommé Blue Box) au sein de Mac OS X. De même, le processus Classic porte le nom de TruBlueEnvironment dans le Moniteur d’activité.

Les « anciens» se souviennent également de deux autres avantages de Classic : cet environnement avait permis de redonner vie à des logiciels anciens, incompatibles avec les Power Macs, grâce à une gestion plus simple de la mémoire virtuelle, déléguée de manière transparente à Mac OS X. De plus, certains logiciels étaient plus rapides une fois lancés dans Classic, là aussi en raison d’une gestion plus efficace de la mémoire virtuelle distribuée en temps réel selon les besoins.

Vous avez aimé ? Partagez !