En route vers MacOS X : l’intégration

Cloud

Avec MacOS X, son nouveau système d’exploitation basé sur un noyau Unix, Apple fait le pari qu’il sera capable d’offrir le nec plus ultra en la matière. Retour cette semaine sur l’épopée du nouveau système Mac. Aujourd’hui, le défi d’Apple : intégrer une base Unix à l’environnement MacOS.

DEUXIEME PARTIE. MacOS a été développé à la fin des années 70 dans le but de fournir à ses utilisateurs une facilité d’accès incomparable. Le système a incontestablement réussi, puisqu’il est devenu une référence en matière d’ergonomie et de simplicité. Les fonctionnalités de MacOS ont été développées pour être visuelles, en comparaison des autres systèmes de l’époque (DOS, Unix) qui utilisaient la ligne de commande. Même les commandes du matériel se sont faites par le biais de cette interface.

Unix en revanche est le système le plus apprécié des universitaires et des scientifiques. Il est très souvent utilisé comme serveur ou comme station de travail. C’est sur ce système que de nombreuses technologies ont vu le jour, par exemple le protocole de l’Internet, TCP/IP. Unix est conçu de telle manière qu’il cherche à exploiter le plus efficacement possible les ressources d’une machine, ce qui en a fait un système de choix pour les environnements multi-utilisateurs. Progressivement, des interfaces graphiques ont été développées pour offrir aux utilisateurs de systèmes Unix un meilleur confort d’utilisation.

Ce système est modulaire (on peut lui ajouter ou retrancher des fonctions) et très robuste (difficile à prendre en défaut et à « planter »). Il permet de faire tourner plusieurs applications simultanément en partageant entre elles la puissance de calcul. Il utilise toutes les ressources qui sont mises à sa disposition : la mémoire vive, qu’il réserve et gère de telle manière qu’il en fournit à discrétion aux applications qui en ont besoin, et la mémoire virtuelle, utilisée en relais de la mémoire vive en stockant temporairement des informations sur le disque dur. Unix traite aussi une multitude d’opérations simultanément, à l’inverse d’autres systèmes qui les traitent successivement.

Difficile de lier les avantages de l’un des systèmes à l’autre. Dans MacOS X (le X, prononcé « dix » est évidemment là pour souligner la filiation à MacOS et rappeler aux spécialistes le rapprochement avec Unix), le « coeur » est un noyau développé à partir de l’Unix de l’université de Berkeley, BSD. Retravaillé, ce noyau a été baptisé « Darwin ». La modularité d’Unix permet à Apple d’ajouter sur Darwin une boîte à outils de programmation contenant les interfaces MacOS, que les ingénieurs ont appelé Carbon. Cet élément fondamental est la principale subtilité du nouveau système : il permet à la firme de Cupertino de disposer d’une stratégie de transition entre son vieux système et celui qu’elle recommande pour le futur, reposant entièrement sur Unix et appelé quant à lui Cocoa. C’est également sur Carbon que repose la nouvelle interface graphique du Mac, « Aqua », qui est là pour cacher à l’utilisateur la complexité d’Unix.

Carbon sera donc utilisé essentiellement dans cette phase de transition, qui risque toutefois de durer quelques années. Ce module permet de faire fonctionner les applications utilisées jusqu’à présent en émulant le système MacOS 9, c’est-à-dire en le faisant tourner au-dessus de MacOS X, comme « Virtual PC » de Connectix fait fonctionner « Windows » sur Mac. Conséquence directe : sous MacOS X, il sera nécessaire pour faire tourner les applications d’ancienne génération, de disposer de beaucoup de mémoire, typiquement, pas loin de 128 Mo. Faire fonctionner « Internet Explorer 5 » demandera déjà pas loin de 60 Mo dans cette configuration ! Difficile de faire fonctionner autre chose !

La deuxième solution qu’apporte Apple, sera d’utiliser des applications « Carbonisées », c’est à dire re-travaillées par les sociétés créatrices, qui devront modifier de 5 à 10% de leur code de programmation. Cette solution permettra d’éviter l’émulation ci-dessus citée et surtout transformera l’utilisation de ces applications qui auront été optimisées pour le nouveau système. Dans le même temps, les logiciels « carbonisés » pourront aussi fonctionner sur les anciennes machines qui ne peuvent profiter du nouveau système d’exploitation.

Le troisième environnement, Cocoa, est basé sur le langage de programmation Objective-C, un langage dit orienté-objet, dont la grande force est de faciliter la programmation et de tirer parti de la puissance du système. C’est dans cet environnement que les jeunes programmeurs se doivent de préparer les nouveaux logiciels. Beaucoup de logiciels fonctionnant pour Unix sont déjà écrits en Objective-C, qui était d’ailleurs le langage de prédilection de la plate-forme Next. MacOS X pourra donc profiter très rapidement d’une panoplie d’applications toutes prêtes à l’utilisation.

Demain : un casse-tête infernal, faire transiter les fichiers?

Pour en savoir plus :

A l’intérieur de MacOS X (en anglais)