1 votes

Mac OS X est-il un clone licencié d'Unix ou de type Unix conforme aux spécifications d'Unix ?

Mac OS X est-il développé sur un Unix sous licence ou est-ce un clone de type Unix qui, contrairement à Linux, se conforme suffisamment bien aux spécifications d'Unix pour être enregistré comme un OS Unix. Jusqu'à Leopard, Mac OS X n'a pas obtenu la certification Unix. Mais dans Leopard, Terminal imprime toujours :

GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)

Mais GNU est GNU n'est pas Unix et Mac OS X est enregistré comme Unix. Cela m'amène à me demander si OS X est unix ou unix-like.

En d'autres termes, OS X est-il écrit au-dessus d'Unix ou est-il une réécriture d'Unix qui est aussi Unix que possible ? Peut-être qu'en répondant à cette question, quelqu'un pourra fournir des informations sur la lignée ou d'autres informations de base.

4voto

Lark Points 1640

L'UNIX original a été créé chez AT&T. Ils ont créé un système d'exploitation pour le traitement de texte, mais n'ont pas pu le vendre en raison de certaines restrictions. Comme ils ne pouvaient pas le vendre, ils ont été quelque peu généreux en permettant aux universités d'accéder aux bandes sources. Plusieurs universités ont apporté des modifications, la plus célèbre étant l'Université de Californie à Berkeley (UCB), qui a publié des modifications sous le nom de Berkeley Software Distribution, ou BSD. La variante BSD d'UNIX a apporté plusieurs ajouts importants à ce que l'on appelle UNIX, notamment le modèle de mémoire virtuelle, les sockets BSD (pensez à TCP/IP), vi et CSH - le premier Shell conçu pour une utilisation interactive.

L'UNIX BSD avait commencé par des correctifs au code de l'UNIX AT&T. Les gens de Berkeley ont nettoyé et purgé le code AT&T, et le code source BSD libre de droits AT&T a finalement été publié. Cela a donné naissance à 386BSD, qui a ensuite donné naissance à NetBSD, FreeBSD, OpenBSD, et FireflyBSD (et d'autres). Finalement, les bases de code AT&T et BSD ont été rassemblées dans "Official UNIX" et cela a été appelé SVR4.

Le noyau Darwin de MacOS X est basé sur des éléments de NetBSD et FreeBSD, ainsi que sur du code Mach. On peut dire qu'il s'agit d'un UNIX, dont le code est issu de l'UC Berkeley jusqu'à l'AT&T original.

Mais que signifie UNIX ? Est-ce une lignée qui remonte à AT&T ? Si c'est le cas, BSD est concerné, tout comme Solaris et bien d'autres. S'agit-il d'une API sur laquelle vous pouvez exécuter du code UNIX ? Dans ce cas, ils remplissent les conditions requises, tout comme Linux qui est une écriture à partir de zéro du corpus d'API UNIX. Pour la plupart des codes, Cygwin peut être considéré comme une cible pour le code UNIX, c'est donc aussi un UNIX, même s'il fonctionne au-dessus du noyau Windows et que le "noyau" UNIX est une DLL dans l'espace utilisateur. Est-ce un badge que vous pouvez coller sur votre boîte ? Si c'est le cas, Apple a finalement payé pour l'avoir dans Leopard. Hmm, mais Microsoft a payé pour ce badge pour le sous-système POSIX de Windows NT4. Oui, Windows NT a été badgé "UNIX" avant Solaris. Pourtant, NetBSD qui est un descendant direct des sources UNIX, n'a jamais payé pour ce badge, et ne s'appelle pas UNIX .

En ce qui concerne bash, je n'utiliserais pas la chose GNU comme un standard pour savoir si Mac OS X est UNIX. bash est commun sur les plateformes UNIX (et IIRC avoir bash est l'une des exigences pour SVR4 UNIX) mais peut être porté sur les plateformes non-UNIX également. Le "GNU n'est pas UNIX" concerne plutôt le GNU Hurd, qui était censé être un concurrent d'UNIX dans le domaine des systèmes d'exploitation. Le Hurd était censé être un micro-noyau capable de faire des choses merveilleuses et d'exécuter du code UNIX. Le noyau Hurd n'a pas fait grand-chose, mais l'objectif de Hurd a donné naissance à une énorme quantité de logiciels incroyablement utiles qui fonctionnent sous UNIX, notamment bash, emacs, gcc, et bien d'autres.

2voto

RedGrittyBrick Points 78148

OSX est Unix simplement parce qu'Apple a payé pour qu'il le soit certifié par The Open Group, comme étant conforme à la spécification Unix. L'Open Group l'a certifié parce qu'Apple a fait le travail nécessaire pour le rendre conforme.

Je soupçonne qu'Apple est le seul à savoir combien de code AT&T Unix sous licence, s'il y en a, reste dans OSX, via ses origines BSD et autres.

OSX peut également inclure des programmes "userland" de GNU, tels que bash. Cela ne le rend pas moins conforme à la spécification Unix. Si vous transfériez bash au SVR4, le SVR4 serait toujours Unix.

1voto

Moosehead Points 41

Tiré de wikipedia :

OS X est basé sur le noyau Mach. Certaines parties de l'implémentation d'Unix de FreeBSD et NetBSD ont été incorporées dans NeXTSTEP, le noyau Mach. noyau de Mac OS X.

Le noyau d'OS X est un système d'exploitation (OS) conforme à POSIX construit au-dessus du noyau XNU. noyau XNU, avec des fonctions Unix standard disponibles à partir de l'interface de interface de ligne de commande. Apple a publié cette famille de logiciels comme un système d'exploitation libre et gratuit appelé Darwin. Au-dessus de Darwin, Apple a superposé un certain nombre de composants, notamment l'interface Aqua et le Finder, pour compléter le système d'exploitation basé sur l'interface graphique qui est OS X.

Le sous-système Darwin de Mac OS X est en charge de la gestion des système de fichiers, qui comprend la couche de permissions d'Unix.

0voto

bames53 Points 217

Si vous vous demandez si OS X a été développé en utilisant la base de code de, par exemple, System V, la réponse est non. La lignée d'OS X remonte à BSD et Mach.

Mais cela ne veut pas dire que ce n'est pas un vrai Unix. Pour autant que je sache, la certification ne signifie pas grand-chose, si ce n'est qu'Apple a décidé de la payer pour Leopard.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X