MacOS est-il une distribution Unix?

19

Je sais que macOS est un système d'exploitation UNIX , mais je ne sais pas si macOS pourrait être appelé une distribution UNIX de la même manière que Gentoo ou Debian sont des distributions GNU / Linux .

MacOS est-il une distribution UNIX? Si ce n'est pas le cas, comment pourrait-on se référer correctement à l'appartenance de macOS à la famille de systèmes d'exploitation UNIX et à la conformité à la spécification UNIX unique (c'est-à-dire qu'il s'agit d'une variante Unix , d'une version Unix , d'une saveur Unix , etc.)? De plus, cette question s'applique à Solaris, HP-UX et à d'autres unités (s'agit-il toutes de distributions UNIX?).

De plus, le mot "distribution" est-il limité aux systèmes d'exploitation GNU (/ Linux, / Hurd, / kFreeBSD, / etc), ou peut-il être utilisé dans d'autres cas?

EDIT: J'ai réalisé que le site officiel d' UNIX utilise des «implémentations UNIX» et des «systèmes d'exploitation UNIX» pour faire référence à la famille des systèmes d'exploitation Unix, c'est-à-dire ceux qui implémentent la norme Unix unique.

Seninha
la source
Comment définissez-vous la «distribution Unix» et que voulez-vous dire par «être une distribution Unix»?
Jörg W Mittag
@ JörgWMittag Je n'ai pas de définition pour cela. Je pense que le sens des distributions GNU-ish comme l'ensemble des systèmes d'exploitation qui partagent le même logiciel de base, tel que défini dans la réponse, est le plus juste.
Seninha
2
UNIX est une marque. Unix est un système d'exploitation. Ce sont deux choses différentes.
fpmurphy
1
À proprement parler, Debian et Gentoo ne sont pas des distributions Unix, ce sont des distributions Linux. Linux n'est pas Unix, il fonctionne comme Unix. L'AFAIK ne sont pas non plus des distributions GNU: les outils GNU font partie de toute distribution Linux, mais pas la seule.
jamesqf
1
Si vous postez votre modification en tant que réponse, elle recevra mon vote positif.
dcorking

Réponses:

32

Qu'est-ce que UNIX?

Réponse courte: UNIX est une spécification / standard de nos jours.

Au moment d'écrire ces lignes, pour citer les sources officielles , "UNIX® est une marque déposée de The Open Group", la société qui, entre autres, fournit la certification UNIX :

"UNIX®, un standard ouvert détenu et géré par The Open Group, est un catalyseur de technologies clés et offre un coût total de possession réduit, une agilité informatique, une stabilité et une interopérabilité accrues dans des environnements hétéro¬énergiques permettant l'innovation commerciale et commerciale à travers le monde. . "

La même page indique spécifiquement quelle spécification définit UNIX:

La dernière version de la norme de certification est UNIX V7, alignée sur la spécification UNIX unique version 4, édition 2013

Les détails de ces spécifications peuvent être trouvés ici . Curieusement, la dernière norme répertoriée sur leur site Web est UNIX 03, et pour citer une autre source , "UNIX® 03 - la marque des systèmes conformes à la version 3 de la spécification UNIX unique".

Pour citer la page À propos de nous avec ma propre emphase en gras:

Le succès de l'approche UNIX a conduit à un grand nombre de systèmes d'exploitation «similaires», souvent divergents en termes de compatibilité et d'interopérabilité. Pour résoudre ce problème, les fournisseurs et les utilisateurs se sont réunis dans les années 1980 pour créer la norme POSIX® et plus tard la spécification UNIX unique .

Alors , que cela suggère (ou du moins mon interprétation), est que lorsqu'un système d' exploitation est conforme à la norme POSIX et spécifications UNIX unique, il est compatible comportement avec Unix comme OS qui existait à un moment donné dans le temps de l'histoire. Veuillez noter que cela ne mentionne pas la présence de traces du code source Unix d'origine, ni le noyau en aucune façon (cela deviendra important plus tard).

Quant à AT&T et System V Unix développé par Ritchie et Thompson, on peut dire aujourd'hui qu'il a cessé d'exister. Sur la base des sources ci-dessus, il semble qu'aujourd'hui UNIX n'est pas ce système d'exploitation spécifique, mais plutôt un standard dérivé de la meilleure généralisation possible pour le comportement des systèmes d'exploitation de la famille Unix .


 Où se situe macOS X dans le monde * nix?

Dans une définition très spécifique, macOS version 10.13 High Sierra sur du matériel basé sur Intel est conforme à la norme UNIX 03 et pour citer le certificat pdf , "Apple Inc. a conclu un accord de licence de marque avec X / Open Company Limited." Note latérale: J'hésite à me demander ce que cela signifierait pour macOS 10.13 sur du matériel non Intel comme, mais étant donné que le matériel est mentionné pour d'autres systèmes d'exploitation, le matériel est important. Exemple: «Hewlett Packard Enterprise: HP-UX 11i V3 version B.11.31 ou ultérieure sur les serveurs HP 9000 avec architecture de précision» (à partir de la page d'enregistrement ).

Revenons à la section précédente de ma réponse. Étant donné que cette version particulière du système d'exploitation est conforme aux normes d'interopérabilité et de compatibilité, cela signifie que le système d'exploitation est aussi proche du comportement et de la mise en œuvre du système que possible d'Unix d'origine en tant que système d'exploitation. À tout le moins, il sera proche de son comportement et de son environnement. Plus elle se rapproche du niveau système et du niveau noyau, plus la zone sera spécifique et ombragée, mais au moins les mécanismes et comportements fondamentaux qui étaient présents dans Unix devraient être présents dans un système d'exploitation qui vise à être compatible. macOS X devrait être très proche de cet objectif.


Qu'est-ce qu'une distribution?

Pour citer Wikipedia :

Une distribution Linux (souvent abrégée en distro) est un système d'exploitation fabriqué à partir d'une collection de logiciels, basée sur le noyau Linux et, souvent, sur un système de gestion de paquets.

Souvenons-nous une seconde que Linux comme dans le noyau Linux est censé être un logiciel distribuable , avec des modifications, ou au moins conformément à la GPL v2 . Si nous considérons un gestionnaire de paquets et un noyau, Ubuntu et Red Hat étant des distributions ont du sens. macOS X a un noyau différent de celui d'AT & T Unix d'origine - donc appeler macOS X une distribution Unix n'a pas de sens. Les gens suggèrent que le noyau macOS X est basé sur FreeBSD, mais pour citer le wiki FreeBSD :

Le noyau XNU utilisé sur OS X comprend quelques sous-systèmes de (anciennes versions de) FreeBSD, mais est principalement une implémentation indépendante

Certaines personnes appellent par erreur le noyau OS X Darwin. Pour citer le Guide de programmation du noyau d'Apple :

Le noyau, ainsi que d'autres parties centrales d'OS X, sont appelés collectivement Darwin. Darwin est un système d'exploitation complet basé sur bon nombre des mêmes technologies qui sous-tendent OS X.

Et pour citer la même page:

La technologie Darwin est basée sur les technologies BSD, Mach 3.0 et Apple.

Sur la base de tout ce qui précède, nous pouvons dire en toute confiance, OS X n'est pas une distribution , au sens de la distribution Linux. De même, les autres systèmes d'exploitation mentionnés sont conformes à POSIX et sont des systèmes certifiés Unix, mais là encore, ils diffèrent par les noyaux et les variations des appels système sous-jacents (c'est pourquoi il existe des livres sur la programmation système Solaris et c'est un sujet à part entière). Par conséquent, ce ne sont pas des distributions au sens où les distributions Linux le sont - un noyau commun avec des variations sur les utilitaires. Dans le cas de Linux, vous voyez des livres sur la programmation système Linux ou la programmation du noyau Linux, pas la programmation système spécifique à la distribution, car il n'y a rien de spécifique au système dans une distribution particulière.

La confirmation de ce que nous voyons ici peut être trouvée dans la documentation officielle. Par exemple, un article sur developerWorks par IBM qui traitait de la différence entre les types de systèmes d'exploitation UNIX et les états des distributions Linux (soulignement ajouté):

La plupart des variantes UNIX modernes connues aujourd'hui sont des versions sous licence de l'une des éditions UNIX originales . Solaris de Sun, HP-UX de Hewlett-Packard et AIX d'IBM sont toutes des versions d'UNIX qui ont leurs propres éléments et fondements uniques .

En d'autres termes, ils sont basés sur le même fondement, mais ils ne partagent pas exactement le même dans le sens où les distributions Linux partagent le noyau.

Considérations

Notez que le mot distribution semble être principalement utilisé lors du référencement de systèmes d'exploitation qui ont le noyau Linux en son cœur. Prenez par exemple le type de systèmes d'exploitation BSD: il y a GhostBSD , qui est basé sur le noyau et utilise certains des utilitaires de FreeBSD , mais je ne l'ai jamais vu être appelé une distribution BSD; chaque OS BSD ne mentionne que sur quoi il est basé et généralement un système d'exploitation est mentionné comme OS à part entière. Bien sûr, BSD signifie Berkeley Software Distribution, mais ... c'est tout.

Pour citer cette réponse sur notre site en réponse à la question de savoir si différentes versions de BSD utilisent les mêmes noyaux:

Non, bien qu'il existe des similitudes en raison des fourches historiques. Chaque projet a évolué séparément.

Ce ne sont pas des distributions au sens de distributions Linux. Considérez l'avis de droit d'auteur de ce document :

Des portions de ce produit peuvent être dérivées des systèmes UNIX® et Berkeley 4.3 BSD

Remarques

  • la norme POSIX mentionnée ci-dessus est également référencée en tant que norme IEEE (où IEEE est l'Institut des ingénieurs électriciens et électroniciens, qui gère entre autres les types de choses informatiques).
  • pour citer Wikipedia : "En 2016, avec la sortie de macOS 10.12 Sierra, le nom a été changé d'OS X à macOS pour le rationaliser avec la marque des autres systèmes d'exploitation principaux d'Apple: iOS, watchOS et tvOS. [56]"
  • Réponse à l'historique de Mac OS X
  • différence conceptuelle entre le noyau Linux et BSD

En conclusion:

  • macOS X peut être appelé OS de type Unix, système de type Unix, implémentation Unix, OS compatible POSIX lorsque vous souhaitez le relier à AT&T Unix d'origine;
  • "Version Unix" ne serait pas le terme approprié parce que macOS X est très différent de l'AT & T Unix d'origine, et comme mentionné précédemment, il n'y a plus Unix dans le sens du logiciel, et c'est maintenant plus un standard de l'industrie;
  • Le mot "distribution" ne correspond probablement qu'au monde Linux.
  • Le vrai problème est que vous (le lecteur) et moi avons trop de temps pour discuter du sujet sur lequel les avocats devraient débattre. Peut-être que nous devrions être comme Linux Torvalds et utiliser une terminologie et des systèmes d'exploitation qui nous permettent simplement de passer à autre chose et de faire les choses qui nous intéressent honnêtement et sont censées nous soucier.
Sergiy Kolodyazhnyy
la source
15
Vous voudrez peut-être vérifier ce que BSD représente réellement avant de prétendre que le mot «distribution» n'y est pas utilisé ;-).
Stephen Kitt
2
Désolé pour les éditions multiples, le manque de "a" et de "the" m'a rendu un peu difficile à suivre tout le texte. POSIX est plus récent que les anciens Unices et je ne suis pas sûr que la réponse soit de mélanger les deux; Je pense aussi que vous faites un mauvais service caractérisant le monde BSD, qui est beaucoup plus proche d'Unix que de Linux. La certification ne signifie pas non plus en soi beaucoup plus que quelqu'un a eu le temps et l'argent pour passer par le processus de certification, et cela doit être fait dans chaque version. OMI, retravaillant un peu plus le texte, cela pourrait être une très bonne réponse.
Rui F Ribeiro
1
@Matthew Cependant, je ne serais pas garant de la qualité de la terre utilisateur BSD d'OS / X / Mac OS. Souvent, les utilitaires sont des versions très anciennes par rapport à celles de FreeBSD, et même une implémentation appropriée et récente d'IPv6 a mis longtemps à apparaître uniquement dans les versions très récentes.
Rui F Ribeiro
3
Le site Web standard Unix utilise des «implémentations UNIX» pour faire référence aux systèmes d'exploitation Unix. C'est donc le mot que je cherchais: mise en œuvre.
Seninha
3
@Sergiy Kolodyazhnyy. La conformité POSIX ne signifie pas qu'une version d'un système d'exploitation existe. as close to original Unix as possibleIl existe de nombreux systèmes d'exploitation non Unix compatibles POSIX.
fpmurphy
4

Q: macOS est-il une distribution Unix? Si ce n'est pas le cas, comment pourrait-on se référer correctement à l'état de macOS dans la famille de systèmes d'exploitation Unix (c'est-à-dire, est-ce une variante Unix, une version Unix, une saveur Unix, etc.)? De plus, cette question s'applique à Solaris, HP-UX et à d'autres unités (sont-elles toutes des distributions Unix?).

Source de l'image: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/OSX_Technology_Overview/SystemTechnology/SystemTechnology.html

Mac OS X

Source: https://en.m.wikipedia.org/wiki/XNU

" XNU est le noyau du système d'exploitation informatique développé chez Apple Inc. depuis décembre 1996 pour une utilisation dans le système d' exploitation macOS et publié sous forme de logiciel libre et open source dans le cadre du système d'exploitation Darwin . Il est également utilisé comme noyau pour iOS , tvOS et watchOS. XNU est l'abréviation de X is Not U nix.


Source: https://developer.apple.com/library/content/documentation/Darwin/Conceptual/KernelProgramming/build/build.html#//apple_ref/doc/uid/TP30000905-CH221-CIHFEIFI

" Construire votre premier noyau

Avant de pouvoir construire un noyau, vous devez d'abord obtenir le code source. Le code source du noyau OS X peut être trouvé dans le projet Darwin xnu sur http://www.opensource.apple.com . Pour connaître votre version actuelle du noyau, utilisez la commande uname -a. Si vous rencontrez des problèmes, recherchez des informations dans les archives des listes de diffusion darwin-kernel et darwin-development. Si cela n'aide pas, demandez de l'aide sur l'une ou l'autre liste. Les archives de la liste et les informations d'abonnement sont disponibles à l' adresse http://www.lists.apple.com ".


Source: https://developer.apple.com/library/content/documentation/Porting/Conceptual/PortingUnix/glossary/glossary.html

Cocoa - Une plate-forme de développement orientée objet avancée pour OS X. Cocoa est un ensemble de frameworks avec des interfaces de programmation en Java et Objective-C. Il est basé sur l'intégration d'OPENSTEP, des technologies Apple et de Java.

Darwin - Un autre nom pour le cœur du système d'exploitation OS X. Le noyau Darwin est équivalent au noyau OS X ainsi que les BSD bibliothèques et les commandes essentielles à la BSD environnement de ligne de commande. Darwin est une technologie open source.

Xcode - l'environnement graphique de développement intégré d'Apple. Il est disponible gratuitement avec le package OS X Developer Tools.

XNU - Le noyau OS X. L'acronyme signifie X n'est pas Unix. XNU combine les fonctionnalités de Mach et BSD avec le kit d'E / S, le modèle de pilote pour OS X.


  • Architecture

Source: https://en.wikipedia.org/wiki/MacOS#Architecture

"Au cœur de macOS se trouve un système d'exploitation compatible POSIX construit au-dessus du noyau XNU , avec des fonctionnalités Unix standard disponibles à partir de l'interface de ligne de commande. Apple a publié cette famille de logiciels sous la forme d'un système d'exploitation gratuit et open source nommé Darwin . Darwin , Apple a superposé un certain nombre de composants, y compris l'interface Aqua et le Finder, pour compléter le système d'exploitation basé sur GUI qui est macOS. ".


Q: Distribution ou publication ? - Source: https://en.wikipedia.org/wiki/MacOS#Updating_methods

Source: https://en.wikipedia.org/wiki/MacOS_High_Sierra

"macOS High Sierra (version 10.13) est la quatorzième version majeure de macOS, le système d'exploitation de bureau d'Apple Inc. pour les ordinateurs Macintosh. Le successeur de macOS Sierra, a été annoncé lors de la WWDC 2017 le 5 juin 2017.". Msgstr "Type de noyau: hybride (XNU)".


Q: En outre, cette question s'applique à Solaris, HP-UX et à d'autres unités (sont-elles toutes des distributions Unix?).

  • Implémentation propriétaire HP-UX du système d'exploitation Unix, basée sur UNIX System V

  • Solaris Unix SVR4

Rob
la source
3
Je vous conseille d'essayer de coller les multiples citations avec vos propres mots.
Rui F Ribeiro
Comme @RuiFRibeiro l'a mentionné, vous devez ajouter quelques explications; ce qu'il n'a pas dit, cependant, c'est qu'il n'est pas clair où vous en êtes avec toutes ces différentes citations.
Paradox