Au premier démarrage d’un Mac, rien ne rappelle vraiment les austères stations de travail UNIX des années 1970 et 1980. L’utilisateur découvre un bureau graphique soigné, le Finder, le Dock et des applications pensées pour fonctionner sans jamais ouvrir une ligne de commande.
Pourtant, derrière cette interface se cache une architecture héritée d’UNIX.
Il suffit d’ouvrir le Terminal et d’exécuter cette commande :
uname -s
Le Mac ne répond pas macOS, mais :
Darwin
Le système des Mac actuels ne descend pas directement de celui du Macintosh de 1984. Ses fondations viennent principalement de NeXTSTEP, le système développé par l’entreprise créée par Steve Jobs après son départ d’Apple.
macOS combine ainsi deux mondes qui semblaient autrefois opposés, l’accessibilité du Macintosh et l’architecture robuste des systèmes UNIX.
Au programme de cet article
macOS est-il un système UNIX ?
macOS est un système d’exploitation de type Unix, certifié UNIX 03, héritier des technologies NeXT et conforme aux standards POSIX.
D’un point de vue historique et technique, macOS repose sur des technologies issues de NeXTSTEP, de BSD et de Mach. Son environnement respecte également de nombreuses conventions propres aux systèmes UNIX comme la gestion des utilisateurs, les permissions, les processus, l’arborescence des fichiers, l’interfaces POSIX et les outils en ligne de commande. Apple décrit elle-même OS X comme un système fondé sur Mach et BSD.
Mais macOS n’est pas seulement proche d’UNIX ou inspiré d’UNIX. Le nom UNIX est une marque dont l’utilisation dépend du respect de la Single UNIX Specification et de l’obtention d’une certification délivrée sous le contrôle de The Open Group. Seuls les produits certifiés peuvent officiellement se présenter comme UNIX.
Apple a obtenu cette certification avec Mac OS X 10.5 Leopard en 2007. L’entreprise a ensuite continué à faire certifier ses systèmes jusq’aux versions récentes comme macOS 26 Tahoe.
macOS n’est pas une distribution Linux
La présence d’un Terminal, de commandes comme ls, ssh, grep ou chmod et d’une arborescence proche de celle de Linux entretient une confusion fréquente.
Pourtant, macOS n’utilise pas le noyau Linux.
Linux est à l’origine un noyau indépendant, développé à partir de 1991. Il est associé à des outils GNU et à d’autres composants pour former des distributions complètes comme Debian, Ubuntu ou Fedora, mais macOS utilise une autre architecture :
macOS
└── Darwin
└── XNU
├── Mach
├── BSD
└── I/O Kit
Cette représentation est volontairement simplifiée, les composants de XNU sont étroitement intégrés et ne forment pas seulement une succession de couches indépendantes.
Le noyau XNU combine des technologies issues du projet Mach de l’université Carnegie Mellon, des composants BSD provenant de FreeBSD et le système de pilotes I/O Kit conçu par Apple. Le dépôt officiel d’Apple décrit XNU comme un noyau hybride associant ces trois grandes familles de composants.
Linux et macOS partagent donc une partie de la culture et des interfaces du monde UNIX, mais ils ne possèdent ni le même noyau, ni exactement les mêmes outils, ni le même modèle de développement.
Le Mac ne descend pas directement du Macintosh de 1984
Pour comprendre l’arrivée d’UNIX dans les Mac, il faut revenir à l’ancien système d’exploitation d’Apple.
Le Macintosh original proposait une interface graphique particulièrement accessible pour son époque. Cette simplicité constituait sa principale force, mais son architecture avait été conçue pour des ordinateurs beaucoup moins puissants et pour des usages très différents de ceux des années 1990.
Au fil des versions, Apple a ajouté de nombreuses fonctions à son système, sans parvenir à éliminer toutes ses limites structurelles. L’ancien Mac OS ne disposait notamment pas d’une protection de la mémoire et d’un multitâche préemptif comparables à ceux des systèmes modernes. Apple reconnaissait que l’architecture d’OS X devait prendre en charge la protection mémoire, la préemption et le multiprocesseur, fonctions absentes ou nettement moins généralisées dans Mac OS 9.
Avec le multitâche coopératif du système classique, une application devait volontairement rendre la main aux autres. Un programme bloqué pouvait donc ralentir ou immobiliser une grande partie de l’ordinateur.
L’absence de séparation stricte entre les espaces mémoire rendait également le système plus vulnérable aux erreurs d’une application. Un logiciel défaillant pouvait provoquer le plantage de l’ensemble du Mac et imposer un redémarrage.
Ces limitations n’étaient pas simplement des défauts pouvant être corrigés par une mise à jour. Elles étaient liées aux fondations mêmes du système.
Apple devait donc construire un successeur moderne, sans pour autant abandonner ce qui faisait l’identité du Macintosh.
NeXTSTEP : le véritable ancêtre de macOS
Après avoir quitté Apple en 1985, Steve Jobs fonde NeXT. L’entreprise développe des ordinateurs destinés principalement à l’enseignement supérieur, à la recherche et aux professionnels.
Les machines NeXT ne connaissent pas le succès commercial du Macintosh. Leur système d’exploitation, en revanche, se révèle particulièrement en avance sur son temps.

NeXTSTEP associe une base UNIX à une interface graphique et à des outils de développement orientés objet. Son architecture repose notamment sur Mach et sur des composants issus de BSD.
À la différence de l’ancien Mac OS, NeXTSTEP a été conçu pour offrir des fonctions attendues sur une station de travail moderne comme la mémoire protégée, multitâche préemptif, gestion de plusieurs utilisateurs, réseau intégré et environnement de développement avancé.
Cette technologie finit par intéresser Apple, qui cherche alors désespérément une base pour remplacer son système vieillissant. L’acquisition de NeXT Software est finalisée le 4 février 1997. Elle permet à Apple de récupérer son système d’exploitation, ses technologies de développement et une partie de ses équipes. Elle marque également le retour de Steve Jobs au sein de l’entreprise qu’il avait cofondée.
Apple ne décide donc pas de transformer progressivement Mac OS 9 en un système UNIX. Elle choisit plutôt de construire le futur du Mac sur la technologie de NeXT, puis de lui apporter l’interface, les usages et la compatibilité attendus par les utilisateurs de Macintosh.
Mac OS X ne fut pas une simple mise à jour majeure de Mac OS. Il s’agissait d’un nouveau système, installé sous une identité familière.
De NeXTSTEP à Mac OS X
Après le rachat de NeXT, Apple travaille sur plusieurs étapes intermédiaires avant de présenter officiellement Mac OS X en janvier 2000.
Le nouveau système reprend les fondations acquises avec NeXT, tout en intégrant les technologies et les conventions du Macintosh. Apple présente alors son interface Aqua avec ses fenêtres translucides, ses boutons colorés et son Dock.
Mac OS X est commercialisé le 24 mars 2001. Dans son communiqué de lancement, Apple insiste précisément sur la rencontre entre la puissance et l’ouverture d’UNIX et la facilité d’utilisation du Macintosh.
Sous l’apparence très graphique d’Aqua se trouve donc un changement beaucoup plus profond.

L’ancien système du Macintosh cède la place à une architecture issue des stations UNIX. Apple conserve néanmoins une partie de son héritage logiciel et de ses principes d’interface afin de rendre la transition acceptable pour les utilisateurs et les développeurs.
Les environnements Classic et Carbon permettent d’accompagner progressivement les anciennes applications, tandis que Cocoa prolonge les technologies de développement issues de NeXT.
Mac OS X est une fusion entre les deux cultures.
Darwin : la partie ouverte située sous macOS
Darwin n’est pas uniquement le noyau. Il s’agit du socle du système, comprenant XNU ainsi qu’un ensemble de bibliothèques, de commandes et de composants système.
Apple décrit Darwin comme le cœur ouvert sur lequel repose OS X. macOS ajoute ensuite de nombreuses couches qui ne font pas partie de Darwin comme l’interface graphique, les frameworks destinés aux applications, les services propriétaires et les logiciels fournis par Apple.
On peut donc représenter l’ensemble ainsi :
macOS
├── Finder, Dock et interface graphique
├── Frameworks et services Apple
├── Applications intégrées
└── Darwin
├── Outils et bibliothèques système
└── Noyau XNUApple publie toujours une partie du code source de ses systèmes et de ses outils sur son portail open source et dans ses dépôts publics. XNU est disponible dans le dépôt officiel apple-oss-distributions.
Cela ne signifie pas que macOS est entièrement open source.
Darwin expose une partie importante de ses fondations, mais les composants qui transforment ce socle en macOS sont majoritairement propriétaires. Le Finder, les frameworks graphiques, de nombreux services système et les applications Apple ne sont pas fournis comme une distribution libre complète.
Ne subissez pas l’algorithme
Ajoutez Assistouest à vos sources préférées sur Google pour retrouver nos guides plus vite quand vous cherchez une solution informatique.
XNU : le noyau de macOS
Au centre de Darwin se trouve XNU, le noyau utilisé par macOS et par plusieurs autres systèmes d’exploitation d’Apple.
Son nom est un acronyme récursif signifiant « X is Not Unix », une formulation volontairement ironique pour un noyau qui participe aujourd’hui au fonctionnement d’un UNIX certifié. Apple le décrit comme un noyau hybride combinant Mach, BSD et I/O Kit.
Mach gère les ressources fondamentales
Mach provient d’un projet de recherche mené à l’université Carnegie Mellon entre 1985 et 1994. Il fournit à XNU plusieurs mécanismes fondamentaux pour la gestion de la mémoire virtuelle, l’ordonnancement des tâches, les communications entre processus et certaines abstractions liées aux processeurs.
Il est toutefois réducteur de décrire XNU comme un simple micro-noyau Mach auquel Apple aurait ajouté quelques fonctions. Dans macOS, Mach et BSD sont étroitement imbriqués au sein du même environnement noyau.
BSD apporte l’environnement UNIX
La partie BSD fournit une grande partie de ce que les développeurs et les utilisateurs reconnaissent comme un environnement UNIX :
- le modèle des processus
- les utilisateurs et groupes
- les permissions
- les signaux
- les sockets et une partie du réseau
- les appels système POSIX
- de nombreux outils accessibles depuis le Terminal
Apple indique que cette partie est principalement dérivée de FreeBSD, lui-même issu de la branche Berkeley d’UNIX.
I/O Kit prend en charge les pilotes
I/O Kit est le modèle historique utilisé par Apple pour gérer les pilotes et les interactions avec le matériel. Il repose sur une architecture orientée objet en C++ et s’intègre aux autres composants de XNU.
L’ensemble forme un noyau hybride, conçu pour réunir des mécanismes issus de Mach, des interfaces UNIX héritées de BSD et des technologies spécifiques à Apple.
L’influence d’UNIX dans l’utilisation du Mac
Pour la majorité des utilisateurs, la présence d’UNIX est totalement invisible. Il n’est pas nécessaire de connaître Darwin ou XNU pour naviguer sur le Web, retoucher des photographies ou installer une application.
Cet héritage produit néanmoins des conséquences très concrètes.
Le Terminal donne accès à un véritable environnement UNIX
Le Terminal de macOS n’est pas une imitation de console ajoutée au-dessus d’un système entièrement différent. Il permet d’interagir directement avec l’environnement UNIX du Mac.
On y retrouve de nombreuses commandes familières aux utilisateurs de Linux ou de BSD.

Les développeurs peuvent également compiler des programmes, lancer des scripts, utiliser Git, administrer des services ou se connecter à des serveurs distants avec des méthodes très proches de celles employées sous Linux.
C’est l’une des raisons pour lesquelles le Mac est devenu populaire auprès de nombreux développeurs Web et administrateurs système, il combine des applications graphiques grand public avec un environnement de travail proche de celui des serveurs UNIX.
Les fichiers utilisent les concepts d’utilisateurs et de permissions
Chaque fichier et chaque dossier est associé à un propriétaire, à un groupe et à des droits d’accès.
Le Finder masque une grande partie de cette complexité, mais les mécanismes existent toujours en arrière-plan. Une commande comme chmod modifie les permissions, tandis que chown permet de changer le propriétaire d’un fichier lorsque les autorisations le permettent.
Le compte administrateur utilisé quotidiennement n’est pas non plus équivalent au superutilisateur root. macOS conserve une séparation entre les comptes, les privilèges et les processus, même si son interface simplifie leur gestion.
Les applications bénéficient d’un modèle de processus moderne
Chaque application s’exécute dans son propre processus et dispose de son propre espace mémoire virtuel. Un logiciel qui plante peut normalement être arrêté sans provoquer la chute immédiate de l’ensemble du système.
Ce comportement paraît évident aujourd’hui, mais il représentait une rupture majeure avec l’ancien Mac OS. L’arrivée des fondations issues de NeXT a permis à Apple d’adopter une architecture intégrant largement la protection mémoire, la préemption et les mécanismes modernes de gestion des processus.