Vous êtes sur la page 1sur 9

OSX_Lion_.

book Page 463 Thursday, April 26, 2012 5:37 AM

Les dessous
de Mac OS X A
SOMMAIRE
B L’histoire chaotique
de Mac OS X
Où l’on apprend d’où vient Mac OS X et de quels octets
il est constitué. B L’organisation du système

MOTS-CLÉS
B Histoire
B Darwin
B Core Image
B Quartz
B Aqua
B Cocoa
B Carbon

© Groupe Eyrolles, 2009


OSX_Lion_.book Page 464 Thursday, April 26, 2012 5:37 AM

La genèse de Mac OS X
Comme tout système d’exploitation, Mac OS X ne vient pas de nulle
part : ses ancêtres sont multiples et son architecture actuelle reflète de
nombreux choix et erreurs stratégiques du passé. Voici donc la mer-
veilleuse histoire de Mac OS X, ou « comment Apple a évité le désastre
grâce à Steve Jobs ».

Mac OS 9
HISTOIRE Du Système à l’OS Pour comprendre les caractéristiques spécifiques de Mac OS X, il est
À l’origine, les systèmes qui équipaient les Mac nécessaire de revenir sur son vénérable ancêtre : Mac OS 9. Ce dernier,
s’appelaient tous « Système » suivi d’un numéro issu des laboratoires d’Apple en octobre 1999, était le dernier d’une
de version : 1.0, 2.0, 6.0.7, 7.6.1… À partir du longue lignée qui a commencé son histoire en 1984, avec le premier
système 7.6, le nom Système fut abandonné pour Macintosh. Avant cet ordinateur, l’informatique n’affichait que du texte
laisser place à Mac OS. La raison était qu’Apple
cherchait alors à distribuer Mac OS sur d’autres
orange ou vert sur fond noir. Avec le Mac et son Système 1.0 sont
ordinateurs compatibles avec le système d’exploi- apparus des outils aussi indispensables que sont les polices, la souris, les
tation des Mac (ces ordinateurs étaient appelés logiciels de dessin vectoriel et bitmap, les traitements de texte capables
clones). Le nom Mac OS rappelait alors clairement de produire un texte en italique ou en gras en un clic… L’impact du pre-
que l’on avait affaire au système d’exploitation
(OS, pour Operating System) du Mac.
mier Mac sur le monde de l’informatique personnelle fut colossal.
Cependant, si la première version du Système était conçue pour gérer un
écran en noir et blanc et un lecteur de disquettes contenant quelques
centaines de Ko de données, et pour faire fonctionner un logiciel à la fois
dans 128 Ko de RAM, il n’était pas censé supporter dix ans plus tard des
ordinateurs équipés de disques de 500 Mo, de 8 Mo de mémoire vive en
standard, d’un lecteur CD-Rom… Le comportement de Mac OS était
archaïque sur de nombreux points : le multi-tâche existait mais était
coopératif (ce n’était pas le système qui décidait de l’affectation de la
priorité des tâches, mais les logiciels eux-mêmes), la mémoire était gérée
de façon statique (l’utilisateur devait lui-même attribuer la mémoire sou-
HISTOIRE Gil Amelio, le docteur haitée aux logiciels) et la mémoire non utilisée par un logiciel n’était pas
qui ne put sauver Apple automatiquement affectée aux autres…
Membre du bureau directeur d’Apple à partir de Mais surtout, le manque de mémoire protégée se faisait cruellement
1994, Gil Amelio est un ancien de National Semi- sentir : si Mac OS était assez stable dans l’ensemble, le noyau du système
conductors, où il avait été surnommé Docteur n’était pas isolé du reste des applications, si bien qu’un simple dysfonc-
Amelio pour sa réussite à redresser l’entreprise.
Placé à la tête d’Apple en 1996, il se distingua par
tionnement d’un logiciel pouvait entraîner le blocage de l’ensemble du
des décisions radicales (abandon de nombreux système d’exploitation, avec un redémarrage obligatoire à la clé.
projets, remise en route d’une stratégie de déve-
loppement de Mac OS plus cohérente). Malgré sa
thérapie qui ressemblait à un électrochoc, il ne put Vers un système moderne : l’échec de Copland
empêcher Apple de subir encore de lourdes pertes,
et fut poussé vers la sortie par Steve Jobs en Apple s’est rendu compte des problèmes de Mac OS dès le début des
août 1997. années 1990 et a lancé le projet Copland, alias Mac OS 8 : un système
qui était sensé apporter une nouvelle interface au Mac, mais surtout

464 © Groupe Eyrolles, 2009


OSX_Lion_.book Page 465 Thursday, April 26, 2012 5:37 AM

combler ses lacunes en apportant la mémoire protégée, l’allocation dyna-


mique de la mémoire, le multi-tâche préemptif… tout en garantissant la
compatibilité de la nouvelle architecture des processeurs IBM PowerPC
avec les anciens logiciels fonctionnant sous la famille des Motorola 68k !
Malheureusement, le projet fut un échec : les développeurs travaillaient
sur des morceaux du système sans aucune concertation et, lorsque Gil
Amelio débarqua en 1996 à la tête d’Apple, il ne put que constater
l’étendue des dégâts. Copland avait déjà coûté très cher à Apple (on
parle alors d’un milliard de dollars) et les caisses de l’entreprise se
vidaient dangereusement. La reprise d’un autre système pour réformer
l’ancien s’imposait.

De la case Mac OS 9 vers la case NeXT, sans passer


par la case Be
Amelio lance alors la recherche d’un nouveau système d’exploitation et, HISTOIRE BeOS, le grand perdant
alors que Jean-Louis Gassée, ancien président d’Apple France puis res- Quand Jean-Louis Gassée crée Be en 1990, son
ponsable des produits d’Apple Computers Inc, tente de lui vendre à prix ambition est grande : il souhaite concevoir une
d’or son tout jeune système d’exploitation BeOS, il se tourne à la sur- nouvelle plate-forme informatique autour d’une
prise générale vers Steve Jobs. machine propriétaire, la BeBox. Changeant son
fusil d’épaule, Be se concentre sur son système
Ce dernier, parti en 1985 d’Apple, avait créé sa nouvelle société NeXT, d’exploitation BeOS, multi-tâche, multi-processeur
qui commercialisait des stations informatiques (les NeXTStation et et doté d’un système de fichiers très puissant pour
l’époque, BFS. Mais lorsque le projet de rachat par
NeXTCube), ainsi qu’un système d’exploitation s’appuyant sur des fon-
Apple échoue, Be n’arrive pas à émerger parmi les
dations Unix : OpenStep. Apple rachète alors NeXT pour 400 millions systèmes d’exploitation du marché et la pression
de dollars et lance le projet Mac OS X à partir d’OpenStep. Parallèle- constante de Microsoft auprès des constructeurs
ment, Mac OS continue d’évoluer en intégrant des technologies récupé- empêche le système d’être proposé en standard
rées de Copland : interface Platinum dans Mac OS 8, le système de sur leurs PC. Après de nombreux revirements, Be
échoue entre les mains de Palm, qui tente d’utiliser
fichier HFS+ avec Mac OS 8.1, le moteur de recherche Sherlock dans certaines de ses fonctionnalités pour son système
Mac OS 8.5, le trousseau avec Mac OS 9… Le système se stabilise et Cobalt, qui ne vit jamais le jour. Aujourd’hui, le
reste agréable à utiliser, malgré ses limitations techniques inhérentes. culte de BeOS continue à travers des projets
comme Haiku (www.haiku-os.org) qui visent à
Enfin, le 24 mars 2001, Mac OS X est officiellement disponible. C’est recréer un nouveau système compatible avec BeOS
la fin de l’aventure Mac OS 9 et le début de l’épopée Mac OS X. sans une seule ligne de code reprise de ce dernier.

Mac OS X et le Macintosh : félins pour l’autre


Depuis 2001, huit versions majeures de Mac OS X ont été diffusées,
chacune portant un nom de félidé comme nom de code. Depuis
Mac OS X 10.2, Apple utilise même le nom de chaque félin dans le
marketing officiel de ces produits et il très courant de faire référence à
chaque système sous son nom de code. La figure A-1 détaille dans
l’ordre chronologique les différentes évolutions.

© Groupe Eyrolles, 2009 465


OSX_Lion_.book Page 466 Thursday, April 26, 2012 5:37 AM

Figure A-1 Chaque nouvelle version de Mac OS X a apporté son flot de nouveautés et de performances améliorées.

Mac OS X : un mille-feuilles de technologies


Mac OS X a été conçu comme un système moderne, puissant, évolutif et
tourné vers l’Internet et les réseaux. Pour y parvenir, Apple a intégré le cœur
de NeXTStep en y ajoutant une grosse partie des concepts d’interface et de
l’environnement de Mac OS 9, ainsi qu’une couche d’environnement
d’exploitation de Mac OS 9, appelée Classic, pour résoudre certains pro-
blèmes de compatibilité (pendant la période de transition où les principaux
logiciels professionnels n’avaient pas encore été réécrits pour Mac OS X).
Mac OS X est un mille-feuilles de technologies, de concepts, d’interfaces de
programmation (ou API) fonctionnant au-dessus d’un système d’exploita-
tion appelé Darwin. Pour mieux comprendre, examinons le schéma suivant.

Figure A-2
Les multiples couches du mille-feuilles
qu’est Mac OS X. Ces couches ne sont pas
exclusives les unes des autres, au contraire :
un programme Carbon peut appeler
des fonctions Cocoa, un programme
Cocoa peut puiser dans Java…

466 © Groupe Eyrolles, 2009


OSX_Lion_.book Page 467 Thursday, April 26, 2012 5:37 AM

Normalement, tout est plus clair dans ce gâteau multi-couche qu’est


Mac OS X. Non ? Regardons cela de plus près en commençant par la pâte.

En route pour l’évolution avec Darwin :


le cœur de Mac OS X
Darwin est le nom du système d’exploitation à la base de Mac OS X. Il EN PRATIQUE De l’Open Source
s’agit d’un système d’exploitation complet, Open Source, savant mélange dans un système commercial
de code développé par Apple, et également récupéré de NextSTEP et du Open Source ? En effet, le cœur complet de
système FreeBSD de type Unix, lui-même une variante du système BSD Mac OS X est téléchargeable sur le site
(Berkeley Software Distribution). www.macosforge.org et son code source est par-
faitement disponible. Le reste de Mac OS X, lui,
Darwin comprend également le micro-noyau (appelé xnu) qui gère la reste un système propriétaire : Cocoa, Carbon,
mémoire et la communication entre les processus, ainsi que d’autres QuickTime sont des couches du système entres les
composants comme le système de lancement de processus launchd ou la mains d’Apple, et seulement d’Apple.

technologie de gestion du réseau sans configuration Bonjour. Toutes ces


technologies sont téléchargeables et recompilables sur plate-forme
PowerPC ou Intel.
Cependant, Mac OS X n’est pas que Darwin, qui se révèle être quelque
peu chiche question affichage. En effet, Darwin ne possède pas d’inter-
face graphique ni de fonctions multimédias évoluées ! Ces tâches-là sont
confiées à une autre couche.

La couche Graphismes et Media


La couche au-dessus de Darwin contient un ensemble de technologies
dédiées à l’affichage et à la gestion sonore. C’est grâce à elles que votre
Mac affiche des superbes graphismes en deux ou trois dimensions.
La première est celle qui saute littéralement aux yeux : Quartz est le cœur
du système d’affichage de Mac OS X. Toutes les fenêtres, le texte, les
images, etc., que vous regardez sur votre ordinateur viennent de Quartz.
Cette couche gère la composition (compositing en anglais), comme l’inte-
raction des ombres des fenêtres avec ce qui se trouve dessous ou l’anti-alia-
sing, entre autres. Comme Quartz est très bien pensé, il s’appuie sur une
métaphore du papier numérique pour tout afficher, un papier qui serait au
format PDF. C’est ainsi que n’importe quelle application de Mac OS X
est capable de générer des documents au format PDF.
Pour la partie multimédia, Mac OS X s’appuie grandement sur l’une des
technologies phares du milieu des années 1990, QuickTime, un pur pro-
duit Apple. Il s’agit de la première à avoir permis la synchronisation du
son et de l’image sur les ordinateurs modernes, en intégrant au passage
des centaines de formations d’image, audio et vidéo. Si YouTube ou les
DVD existent, c’est aussi grâce aux travaux d’Apple sur QuickTime ! De

© Groupe Eyrolles, 2009 467


OSX_Lion_.book Page 468 Thursday, April 26, 2012 5:37 AM

plus, cette technologie est très souvent impliquée dans tout ce qui con-
tient de l’image ou de la vidéo sur votre Mac. QuickTime est par ailleurs
extensible : en ajoutant des codecs (formats de compression/décompres-
sion de vidéo), vous permettez à toutes les applications s’appuyant sur
QuickTime de bénéficier de ces nouveaux formats de fichiers.
En matière de graphisme et vidéo, Apple a intégré tout un ensemble
d’API conçues pour faciliter la gestion de l’image et d’animations (via
Core Animation) au cœur des applications. Avec Core Image, les déve-
loppeurs peuvent créer et gérer des effets spéciaux en temps réel sur les
images, ou monter des jolies animations sans effort, pour des applica-
tions toujours plus impressionnantes et performantes visuellement.
Quant à Core Video, il est à la vidéo ce que Core Image est aux images :
la gestion d’effets spéciaux en temps réel sur la vidéo. C’est un compo-
sant que QuickTime emploie, par exemple, pour appliquer un effet de
flou sur une vidéo, et qui est utilisé de façon intensive par Photo Booth
ou iChat pour créer des effets de déformation spectaculaires (et parfois
très drôles).
Mais la partie vidéo de Mac OS X ne s’arrête pas là puisque le système
s’appuie sur un ténor de la 3D : OpenGL. Il s’agit d’un standard ouvert
dans le monde de la 3D, un ensemble de technologies reliées aux puis-
santes cartes vidéo des ordinateurs pour afficher des polygones de plus
en plus grands, colorés et de meilleure résolution.

EN PRATIQUE Quartz Debug, pour comprendre les effets de Quartz Extreme

Si vous installez Xcode (dans le dossier Optional Installs du DVD de Leopard), vous
trouverez dans le dossier /Developer/Applications/Performance Tools
l’application Quartz Debug. Lancez-la, puis cliquez sur le menu Window>FrameMeter. Un
compteur apparaît, affichant deux jauges : la rouge indique le nombre d’images par seconde
affichées, tandis que la jaune fournit le temps CPU consommé (c’est-à-dire, si votre processeur
est très sollicité ou non). Déplacez une fenêtre du Finder très vite : le compteur affiche un
nombre d’images par seconde élevé, et la jauge de CPU ne bouge quasiment pas.
Maintenant, cliquez sur Tools>Disable Quartz Extreme et répétez l’opération : non seule-
ment le nombre d’images par seconde est plus faible, et du coup le déplacement de la fenêtre
apparaît plus saccadé, mais le temps processeur consommé est beaucoup plus important,
entraînant un ralentissement global des performances.
Quartz Debug donne aussi accès à un autre mode d’accélération appelé QuartzGL, mais
désactivé par défaut, car trop bogué. Ne l’activez donc pas ! Si vous quittez Quartz Debug,
Quartz Extreme sera automatiquement réactivé.

Pour autant, même s’il s’agit de 3D, OpenGL est utilisé de façon très
intensive par Mac OS X. En effet, une grosse partie des fonctions d’affi-
chage 2D sont déléguées à la carte 3D (après tout, la 2D c’est de la 3D
mise à plat…) via la technologie Quartz Extreme. Grâce à elle, les fenê-

468 © Groupe Eyrolles, 2009


OSX_Lion_.book Page 469 Thursday, April 26, 2012 5:37 AM

tres deviennent des textures 3D que le système peut manipuler comme


bon lui semble. Comme le travail de composition est géré par la carte
3D, l’affichage est plus rapide, et les effets spéciaux utilisés moins sac-
cadés. C’est pour cela que disposer d’une bonne carte vidéo dans un Mac
est une bonne chose, même si vous ne travaillez qu’en 2D !
Enfin, pour terminer ce tour du multimédia sur Mac, intéressons-nous à
vos oreilles. Core Audio gère tout le son qui entre et sort de votre Mac,
en offrant la latence la plus faible possible entre le son joué sur un instru-
ment et le son reproduit sur l’ordinateur. Les développeurs et les musi-
ciens qui souhaitent ajouter des plug-ins pour distordre le son dans tous
les sens ou gérer de façon sophistiquée des instruments MIDI s’intéres-
seront de très près à Core Audio. Dès qu’un logiciel émet du son, il peut
s’appuyer sur Core Audio. GarageBand et Logic Studio d’Apple sont
des logiciels de création audionumérique exploitant intensivement les
technologies de Core Audio.
Si Mac OS X fait honneur à la grande tradition artistique du Mac en
matière de création graphique, vidéo et sonore, Apple a choisi de capita-
liser sur l’héritage Unix dans son OS et d’offrir aux développeurs une
plate-forme digne de ce nom.

Les environnements applicatifs


Apple propose aux développeurs différentes méthodes pour concevoir
leurs applications. Il s’agit grossièrement des langages disponibles par
défaut pour programmer des jolis logiciels sous Mac OS X. Cocoa,
Carbon, Java sont autant de technologies qui permettent de créer des
programmes toujours plus puissants.
Héritage direct du monde NeXT, Cocoa est un environnement de pro-
grammation très puissant, s’appuyant sur le langage Objective-C (lui-
même un dérivé du C). C’est le langage phare de Mac OS X et, pour
Apple, le message est clair : dans le futur, Cocoa sera la solution principale
de développement pour Mac OS X. De même, si vous décidez de pro-
grammer pour l’iPhone, Cocoa sera le seul langage activement soutenu.
Néanmoins, Apple propose Carbon, une alternative particulière à Cocoa
pour faciliter aux développeurs la migration vers Mac OS X, s’ils vien-
nent de Mac OS 9. Ici, pas d’Objective-C, mais du C++ beaucoup plus
classique. Cependant, cet environnement est passé en mode mainte-
nance uniquement et Apple n’investira plus dessus dans le futur.
En matière de langage orienté objet, Mac OS X intègre bien entendu
Java, le fameux langage de Sun. Celui-ci avait pour objectif de révolu-
tionner l’informatique intégralement en proposant de créer des applica-
tions (beans) capables de tourner sur n’importe quelle plate-forme, à

© Groupe Eyrolles, 2009 469


OSX_Lion_.book Page 470 Thursday, April 26, 2012 5:37 AM

condition de disposer d’une machine virtuelle Java (ou JVM), machine


évidemment intégrée à Mac OS X en standard.
Mac OS X a longtemps hébergé une autre interface de développement
très particulière : Classic. Bien que non représentée sur la figure, on ne
peut pas en faire non plus complètement abstraction : il s’agissait de la
boîte virtuelle permettant de faire fonctionner une copie de Mac OS 9
au sein même de Mac OS X jusqu’à la dernière génération de Mac
équipés de processeurs PowerPC (le G5 en étant le dernier représen-
tant). Ainsi, les applications Mac OS 9 pouvaient continuer de fonc-
tionner en même temps que les applications natives Mac OS X. Il faut
en parler au passé, car Classic est incompatible avec les machines Intel et
a été définitivement abandonnée avec Mac OS X 10.5.
Enfin, il existe d’autres environnements secondaires pour concevoir des
applications : AppleScript est l’ancestrale mais très moderne technologie
de scripting implémentée par Apple depuis le Système 7.1.1 pour créer
des interactions complexes entre applications, dans un langage proche de
l’anglais. Les administrateurs pourront également se faciliter la vie en
créant des script appelés shell scripts s’appuyant sur les commandes BSD
du système. Sans compter que Mac OS X intègre d’autres langages de
programmation comme Ruby, Perl… De quoi attirer les programmeurs
de tous bords !
N’oublions pas néanmoins que si Mac OS X a été conçu comme un
merveilleux environnement professionnel pour les créatifs et les déve-
loppeurs, il reste la référence en matière de confort pour l’utilisateur.

L’expérience utilisateur
Cette couche regroupe tout ce qui va être manipulé directement par
l’utilisateur et augmenter la richesse de son expérience avec Mac OS X.
En clair, c’est ce qui lui permet d’être productif ! Une bonne interface
utilisateur est agréable à utiliser, cohérente et intègre des outils pour
gérer ses documents et ses dossiers avec souplesse.
Comme les nombreux éléments graphiques liquides de l’interface l’indi-
quent (en particulier les barres de défilement où l’eau semble couler pour
afficher le temps qui passe), Aqua est le nom de l’interface utilisateur de
Mac OS X. La forme et la couleur des fenêtres et de leurs boutons, la
barre des menus, le Bureau, etc., tous ces éléments sont définis par
Aqua. L’esthétique de cette interface évolue régulièrement à chaque
nouvelle version de Mac OS X, Lion imposant son style grisé (qui n’a
quasiment plus rien d’aquatique, pour le coup).
Le Finder et le Dock sont deux applications centrales de cette interface.
Elles font partie intégrante de la culture de l’OS d’Apple, car fonctionnant

470 © Groupe Eyrolles, 2009


OSX_Lion_.book Page 471 Thursday, April 26, 2012 5:37 AM

en permanence dans l’environnement de l’utilisateur. Le Finder est l’appli-


cation utilisée pour interagir avec les volumes (disques durs, serveurs,
DVD…) afin de naviguer dans les hiérarchies et ranger ou supprimer des
dossiers et fichiers. Le Dock stocke les icônes des applications ou dossiers
couramment utilisés, ainsi que les icônes des applications chargées en
mémoire. Vous pouvez également y réduire des fenêtres d’applications.
Curiosité apparue avec Mac OS X 10.4, DashBoard est un environne-
ment à part dans l’environnement standard de l’utilisateur. Il permet de
lancer des mini-applications (ou widgets) écrites en langage HTML et
JavaScript, avec un soupçon de CSS pour l’interface, donnant lieu par-
fois à des programmes dotés d’une apparence étonnante.
Quand l’utilisateur se trouve perdu dans les aléas de son classement
documentaire, il peut faire appel à Spotlight. Il s’agit d’un système de
recherche intégrale dans Mac OS X indexant les documents en temps
réel et s’appuyant sur les métadonnées pour retrouver n’importe quel
document. Il cherche réellement partout : signets, contenu et métadon-
nées des documents… Presque rien ne lui échappe !
Qui dit ergonomie dit souci de l’accessibilité pour tous. Ainsi, Apple a
regroupé sous ce terme les fonctions de gestion du Mac par des per-
sonnes souffrant d’un handicap (mauvaise vue, mobilité réduite…). Une
grande partie de ces options se configure dans la préférence système
Accès universel (Menu Pomme>Préférences Système>Accès universel).

En résumé
Système moderne fondé sur Unix, Mac OS X dispose d’un environne-
ment de programmation particulièrement riche. L’architecture améliore
encore la stabilité du système et rend le développement bien plus simple
et beaucoup plus attractif que par le passé. Cet ensemble est devenu très
cohérent, et le travail effectué sur les fondations depuis Snow Leopard
devrait préparer le terrain pour un système et des applications réellement
surprenants pour les versions futures.

© Groupe Eyrolles, 2009 471

Vous aimerez peut-être aussi