GNU/Linux >> Tutoriels Linux >  >> Linux

Le noyau Linux contre. Mac noyau

Le noyau Linux et le noyau macOS sont 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 et le noyau Mac, comme je l'ai mentionné dans les articles précédents sur le noyau Linux.

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 ensuite fondé une nouvelle société 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 NeXT a utilisé le noyau Carnegie Mellon Mach 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 encore chez Apple. Pendant ce temps, Apple a tenté en vain de mettre à jour son système d'exploitation à plusieurs reprises, s'associant même à IBM. En 1997, Apple a acheté NeXT pour 429 millions de dollars . Dans le cadre de l'accord, Steve Jobs est revenu à Apple et NeXTSTEP est devenu la base de macOS et iOS.

Noyau Linux

Contrairement à macOS noyau, Linux n'a pas été créé dans le cadre d'une entreprise commerciale. Au lieu de cela, il a été créé en 1991 par l'étudiant en informatique Linus Torvalds. À 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 posté 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 a porté le système X Windows sur Linux, lui donnant la possibilité de prendre en charge 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 officielle Github d'Apple, XNU est "un noyau hybride qui combine le noyau Mach développé à l'Université Carnegie Mellon avec des composants FreeBSD et C++ pour les pilotes".

La partie du sous-système BSD du code est "normalement implémentée en tant que serveurs d'espace utilisateur dans les systèmes de micro-noyau". La partie Mach est responsable des travaux de bas niveau tels que le multitâche, la mémoire protégée, la gestion de la mémoire virtuelle, la prise en charge du débogage du noyau et les E/S de la console.

Carte de MacOS :le cœur de tout s'appelle Darwin; et à l'intérieur, 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.

Contrairement à Linux, ce noyau est divisé en ce qu'ils appellent le noyau hybride, permettant à une partie de s'arrêter pour maintenance, tandis qu'une autre continue de fonctionner. Dans plusieurs débats, cela a également ouvert la question du fait qu'un noyau hybride est plus stable; si l'une de ses parties s'arrête, l'autre peut la redémarrer.

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 n'est qu'un noyau monolithique. Un noyau monolithique est responsable de la gestion du processeur, de la mémoire, de la communication inter-processus, des pilotes de périphérique, du système de fichiers et des appels de service système. C'est-à-dire qu'il fait tout sans subdivisions.

De toute évidence, cela a déjà suscité de nombreuses discussions, même avec Linus lui-même et d'autres développeurs, qui affirment qu'un noyau monolithique est plus sensible aux erreurs en plus d'être plus lent ; mais Linux est le contraire chaque année et peut être optimisé en tant que noyau hybride. De plus, avec l'aide de RedHat , le noyau inclut désormais un patch en direct qui permet une maintenance en temps réel sans redémarrage requis.

Différences entre le noyau MacOS (XNU) et Linux

  1. 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 joue en sa faveur, pour la stabilité et l'histoire.
  2. D'un autre côté, Linux est plus récent, écrit à partir de rien et utilisé sur de nombreux autres appareils ; à tel point qu'il est présent dans les 500 meilleurs parmi les meilleurs supercalculateurs et dans le supercalculateur nord-américain récemment inauguré.

​Dans la portée du système, nous n'avons pas de gestionnaire de packages via la ligne de commande dans le terminal macOS.

L'installation des packages au format .pkg - comme BSD - se fait via cette ligne de commande, sinon via l'interface graphique :

$ sudo installer -pkg /path/to/package.pkg -target /

REMARQUE : MacOS .pkg est totalement différent de BSD .pkg !

Ne pensez pas que macOS supporte les programmes BSD et vice versa. Il ne prend pas en charge et ne s'installe pas. Vous pouvez avoir une commande équivalente à apt sous macOS, sous 2 options : 

Installer Homebrew ou MacPorts.   Au final, vous aurez la syntaxe suivante :$ brew install PACKAGE

$ port install PACKAGE

N'oubliez pas que tous les programmes/paquets disponibles pour Linux ou BSD ne seront pas dans les ports MacOS .

Compatibilité

En termes de compatibilité, il n'y a pas grand chose à dire; le noyau Darwin et le noyau Linux sont aussi distincts que la comparaison du 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 possède une série de démons macOS, dont le serveur d'impression CUPS !

Ce que nous avons en commun de compatibilité, ce sont, en fait, des outils terminaux comme les packages GNU Utils ou Busybox, donc nous n'avons pas seulement BASH mais aussi gcc, rm, dd, top, nano, vim, etc. Et cela est intrinsèque à toutes les applications basées sur UNIX. De plus, nous avons l'architecture des dossiers du système de fichiers, des dossiers communs à la racine dans /, / lib, / var, / etc, / dev, etc. .

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 familiarisés 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.


Linux
  1. Le cycle de vie des tests du noyau Linux

  2. Comment mettre à niveau le noyau sur Linux Desktop

  3. Linux – Un noyau corrompu sous Linux ?

  4. Le noyau Linux ne sera pas mis à jour vers 2.35.25 ?

  5. dd performances sur Mac OS X vs Linux

Le noyau Linux et ses fonctions

Commande sysctl sous Linux

Que faire en cas de panique du noyau Linux

Comment changer l'adresse MAC sous Linux

Mettre à niveau le noyau Linux de CentOS 8

Guide complet de journalisation Linux