Le noyau Linux et le noyau macOS sont tous deux basés sur UNIX. Certaines personnes disent que macOS est « linux », d’autres disent que les deux sont compatibles en raison des similitudes entre les commandes et la hiérarchie du système de fichiers.
Aujourd’hui, je veux montrer un peu des deux, en montrant les différences et les similitudes entre le noyau Linux & le noyau Mac comme je l’ai mentionné dans les articles précédents sur le noyau Linux.
Table des matières
Noyau de macOS
En 1985, Steve Jobs a quitté Apple en raison d’un désaccord avec le PDG John Sculley et le conseil d’administration d’Apple. Il a alors fondé une nouvelle société d’informatique appelée NeXT. Jobs voulait qu’un nouvel ordinateur (avec un nouveau système d’exploitation) sorte rapidement. Pour gagner du temps, l’équipe de NeXT a utilisé le noyau Mach de Carnegie Mellon et des parties de la base de code BSD pour créer le système d’exploitation NeXTSTEP.
NeXT n’est jamais devenu un succès financier, en partie à cause de l’habitude de Jobs de dépenser de l’argent comme s’il était toujours chez Apple. Pendant ce temps, Apple a essayé sans succès de mettre à jour son système d’exploitation à plusieurs reprises, s’associant même avec IBM. En 1997, Apple a acheté NeXT pour 429 millions de dollars. Dans le cadre de l’accord, Steve Jobs est revenu chez Apple et NeXTSTEP est devenu la base de macOS et iOS.
Noyau Linux
Contrairement au noyau macOS, Linux n’a pas été créé dans le cadre d’une entreprise commerciale. Au lieu de cela, il a été créé en 1991 par Linus Torvalds, étudiant en informatique. À l’origine, le noyau a été écrit selon les spécifications de l’ordinateur de Linus, car il voulait profiter de son nouveau processeur 80386.
Linus a publié le code de son nouveau noyau sur le web en août 1991. Bientôt, il recevait des suggestions de code et de ressources dans le monde entier. L’année suivante, Orest Zborowski porta le système X Windows à Linux, lui donnant la possibilité de supporter une interface utilisateur graphique.
Ressources du noyau MacOS
Le noyau macOS est officiellement connu sous le nom de XNU. L’acronyme signifie « XNU n’est pas Unix ». Selon la page Github officielle d’Apple, XNU est « un noyau hybride qui combine le noyau Mach développé à l’université Carnegie Mellon avec FreeBSD et des composants C++ pour les pilotes. »
La partie sous-système BSD du code est « normalement mise en œuvre en tant que serveurs en espace utilisateur dans les systèmes à micro-noyau ». La partie Mach est responsable du travail de bas niveau tel que le multitâche, la mémoire protégée, la gestion de la mémoire virtuelle, le support de débogage du noyau et les E/S de la console.
Carte de MacOS : le cœur de tout est appelé Darwin ; et à l’intérieur de celui-ci, nous avons des utilitaires système séparés et le noyau XNU, qui est composé en partie par le noyau Mach et par le noyau BSD.
À la différence de Linux, ce noyau est divisé en ce qu’ils appellent le noyau hybride, permettant à une partie de s’arrêter pour la maintenance, tandis qu’une autre continue à fonctionner. Dans plusieurs débats, cela a également ouvert la question du fait qu’un noyau hybride est plus stable ; si une de ses parties s’arrête, l’autre peut la relancer.
Ressources du noyau Linux
Alors que le noyau macOS combine les capacités d’un micro-noyau avec Mach et d’un noyau monolithique comme BSD, Linux est juste un noyau monolithique. Un noyau monolithique est responsable de la gestion du processeur, de la mémoire, de la communication interprocessus, des pilotes de périphériques, du système de fichiers et des appels de service système. C’est-à-dire qu’il fait tout sans subdivisions.
Evidemment, cela a déjà suscité beaucoup de discussions même avec Linus lui-même et d’autres développeurs, qui affirment qu’un noyau monolithique est plus susceptible d’erreurs en plus d’être plus lent ; mais Linux est le contraire de cela chaque année, et peut être optimisé comme un noyau hybride. De plus, avec l’aide de RedHat, le noyau inclut maintenant un Live Patch qui permet une maintenance en temps réel sans redémarrage nécessaire.
Différences entre le noyau MacOS (XNU) et Linux
- Le noyau macOS (XNU) existe depuis plus longtemps que Linux et était basé sur une combinaison de deux bases de code encore plus anciennes. Cela pèse en faveur, pour la stabilité et l’histoire.
- D’autre part, Linux est plus récent, écrit à partir de zéro et utilisé sur de nombreux autres appareils ; à tel point qu’il est présent dans les 500 meilleurs parmi les meilleurs superordinateurs et dans le superordinateur nord-américain récemment inauguré.
Dans la portée du système, nous n’avons pas de gestionnaire de paquets via la ligne de commande dans le terminal macOS.
L’installation des paquets au format .pkg – comme BSD – se fait via cette ligne de commande, si ce n’est par l’interface graphique:
$ sudo installer -pkg /path/to/package.pkg -target /
NOTE : MacOS .pkg est totalement différent de BSD .pkg!
Ne pensez pas que macOS supporte les programmes BSD et vice versa. Il ne supporte pas et n’installe pas. Vous pouvez avoir une commande équivalente à apt dans macOS, sous 2 options :
Installation de Homebrew ou MacPorts. Au final, vous aurez la syntaxe suivante:$ brew install PACKAGE
$ port install PACKAGE
N’oubliez pas que tous les programmes/packages disponibles pour Linux ou BSD ne seront pas dans MacOS Ports.
Compatibilité
En termes de compatibilité, il n’y a pas grand chose à dire ; le noyau Darwin et le noyau Linux sont aussi distincts que de comparer le noyau Windows NT avec le noyau BSD. Les pilotes écrits pour Linux ne fonctionnent pas sur macOS et vice versa. Ils doivent être compilés au préalable ; Curieusement, Linux dispose d’une série de démons macOS, dont le serveur d’impression CUPS!
Ce que nous avons en commun en matière de compatibilité, ce sont en fait des outils de terminal comme les paquets GNU Utils ou Busybox, nous avons donc non seulement BASH mais aussi gcc, rm, dd, top, nano, vim, etc. Et ceci est intrinsèque à toutes les applications basées sur UNIX. En outre, nous avons l’architecture des dossiers du système de fichiers, les dossiers communs à la racine dans /, / lib, / var, / etc, / dev, et ainsi de suite.
Conclusion
macOS et Linux ont leurs similitudes et leurs différences, tout comme BSD par rapport à Linux. Mais parce qu’ils sont basés sur UNIX, ils partagent des modèles qui les rendent familiers à l’environnement. Ceux qui utilisent Linux et migrent pro macOS ou vice versa seront familiers avec un certain nombre de commandes et de fonctionnalités.
La différence la plus frappante serait l’interface graphique, dont le problème serait une question d’adaptation personnelle.
L’hébergement de LinuxAndUbuntu est sponsorisé par massiveGRID
.
Laisser un commentaire