Développé par | Apple |
---|---|
Dernière version |
1228 ()[1] 8796.101.5 ()[2] |
Dépôt | github.com/apple-oss-distributions/xnu |
Écrit en | C++ et C |
Type | Noyau de système d'exploitation |
Licence | Apple Public Source License |
Site web | https://opensource.apple.com/source/xnu/ |
XNU est le nom du noyau des systèmes Darwin, OS X et iOS. Le sigle signifie « X is Not Unix »[3]. C'est un noyau enrichi hybride, basé sur le micro-noyau Mach et utilisant le noyau BSD en tant que service du système d'exploitation.
Afin de remédier aux problèmes de performances intrinsèques aux techniques des micro-noyaux (latences élevées), Apple a modifié Mach 3.0 pour qu'il inclue du code BSD au sein de son espace d'adressage. Cette approche a abouti à un système hybride : XNU.
En tant que micro-noyau, Mach offre un gestionnaire de mémoire, gère la communication inter-processus, l'ordonnancement et les entrées-sorties. Il peut offrir ces fonctionnalités avec des garanties temps réel. L'environnement BSD gère les utilisateurs et les permissions, contient la gestion des réseaux, prend en charge différents systèmes de fichiers, un système de fichiers virtuel et assure la compatibilité POSIX.
XNU fonctionne sur les architectures x86-32, x86-64, ARM et PowerPC. De plus, il gère très bien les systèmes multi-processeurs (NUMA SMP), multi-cœurs (SMP) et multi-threads (SMT).