¿Es macOS una distribución de Unix?

19

Sé que macOS es un sistema operativo UNIX , pero no sé si macOS podría llamarse una distribución UNIX de la misma manera que Gentoo o Debian son distribuciones GNU / Linux .

¿Es macOS una distribución UNIX? Si no es así, ¿cómo podría uno referirse correctamente a la membresía de macOS en la familia de sistemas operativos UNIX y al cumplimiento de la especificación UNIX única (es decir, es una variante de Unix , una versión de Unix , un sabor de Unix , etc.)? Además, esta pregunta se aplica a Solaris, HP-UX y otros dispositivos (¿son todas distribuciones UNIX?).

Además, ¿la palabra "distribución" está restringida a los sistemas operativos GNU (/ Linux, / Hurd, / kFreeBSD, / etc), o puede usarse en otros casos?

EDITAR: Me di cuenta de que el sitio web oficial de UNIX usa "implementaciones de UNIX" y "sistemas operativos UNIX" para referirse a la familia de sistemas operativos Unix, es decir, los que implementan el Estándar Unix Único.

Seninha
fuente
¿Cómo define "distribución de Unix" y qué quiere decir con "ser una distribución de Unix"?
Jörg W Mittag
@ JörgWMittag No tengo ninguna definición para ello. Creo que el sentido de distribuciones GNU-ish como el conjunto de sistemas operativos que comparten el mismo software central, como se define en la respuesta, es el más adecuado.
Seninha
2
UNIX es una marca. Unix es un sistema operativo. Son dos cosas diferentes.
fpmurphy
1
Estrictamente hablando, Debian y Gentoo no son distribuciones de Unix, son distribuciones de Linux. Linux no es Unix, simplemente funciona como Unix. Tampoco AFAIK son distribuciones de GNU: las herramientas de GNU son parte de cualquier distribución de Linux, pero no la única parte.
jamesqf
1
Si publica su edición como respuesta, obtendrá mi voto positivo.
dcorking

Respuestas:

32

¿Qué es UNIX?

Respuesta corta: UNIX es una especificación / estándar hoy en día.

Al momento de escribir, para citar las fuentes oficiales , "UNIX® es una marca registrada de The Open Group", la compañía que entre muchas cosas proporciona la certificación UNIX :

"UNIX®, un estándar abierto propiedad y administrado por The Open Group, es un habilitador de tecnologías clave y ofrece un costo total de propiedad reducido, mayor agilidad, estabilidad e interoperabilidad de TI en entornos heterogéneos que permiten la innovación empresarial y de mercado en todo el mundo ".

La misma página establece específicamente qué especificación define UNIX:

La última versión del estándar de certificación es UNIX V7, alineada con la Especificación UNIX Única Versión 4, Edición 2013

Los detalles de esas especificaciones se pueden encontrar aquí . Curiosamente, el último estándar enumerado en su sitio web es UNIX 03, y para citar otra fuente , "UNIX® 03: la marca para los sistemas que se ajustan a la versión 3 de la Especificación Single UNIX".

Para citar la página Acerca de nosotros con mi propio énfasis en negrita:

El éxito del enfoque UNIX condujo a una gran cantidad de sistemas operativos "similares", a menudo divergentes en compatibilidad e interoperabilidad. Para abordar esto, los proveedores y usuarios se unieron en la década de 1980 para crear el estándar POSIX® y más tarde la Especificación UNIX Única .

Entonces, lo que esto sugiere (o al menos es mi interpretación) es que cuando un sistema operativo se ajusta al estándar POSIX y a las especificaciones de UNIX único, es compatible en el comportamiento con Unix como sistema operativo que alguna vez existió en un momento de la historia. Tenga en cuenta que esto no menciona la presencia de ningún rastro del código fuente original de Unix, ni menciona el núcleo de ninguna manera (esto será importante más adelante).

En cuanto al AT&T y System V Unix desarrollado por Ritchie y Thompson, hoy en día podemos decir que ha dejado de existir. Basado en las fuentes anteriores, parece que UNIX hoy en día no es ese sistema operativo específico, sino más bien un estándar derivado de la mejor generalización posible sobre cómo se comportan los sistemas operativos en la familia Unix .


 ¿Dónde se encuentra macOS X en el mundo * nix?

En una definición muy específica, macOS versión 10.13 High Sierra en hardware basado en Intel cumple con el estándar UNIX 03 y, para citar el certificado pdf , "Apple Inc. ha firmado un Acuerdo de licencia de marca comercial con X / Open Company Limited". Nota al margen: dudo en preguntar qué significaría que se trate macOS 10.13 en hardware que no sea Intel, pero teniendo en cuenta que el hardware se menciona para otro sistema operativo, el hardware es significativo. Ejemplo: "Hewlett Packard Enterprise: HP-UX 11i V3 versión B.11.31 o posterior en servidores HP 9000 con arquitectura de precisión" (desde la página de registro ).

Volvamos a la sección anterior de mi respuesta. Dado que esta versión particular del sistema operativo se ajusta al estándar de interoperabilidad y compatibilidad, significa que el sistema operativo tiene el comportamiento y la implementación del sistema más cercanos posible al Unix original como sistema operativo. Por lo menos, será cercano en comportamiento y en ambiente. Cuanto más se acerque al nivel del sistema y al nivel del kernel, más específica y sombreada será el área, pero al menos la mecánica y el comportamiento fundamentales que estaban presentes en Unix deberían estar presentes en un sistema operativo que pretende ser compatible. macOS X debería estar muy cerca de ese objetivo.


¿Qué es una distribución?

Para citar Wikipedia :

Una distribución de Linux (a menudo abreviada como distribución) es un sistema operativo hecho de una colección de software, que se basa en el núcleo de Linux y, a menudo, un sistema de gestión de paquetes.

Recordemos por un segundo que Linux, como en Linux Kernel, se supone que es un software distribuible , con modificaciones, o al menos de acuerdo con GPL v2 . Si consideramos un gestor de paquetes y un núcleo, Ubuntu y Red Hat son distribuciones tiene sentido. macOS X tiene un kernel diferente que el AT&T Unix original, por lo que llamar a macOS X una distribución de Unix no tiene sentido. La gente sugiere que el núcleo de macOS X se basa en FreeBSD, pero para citar Wiki de FreeBSD :

El núcleo XNU utilizado en OS X incluye algunos subsistemas de (versiones anteriores de) FreeBSD, pero es principalmente una implementación independiente

Algunas personas erróneamente llaman al kernel OS X Darwin. Para citar la Guía de programación del kernel de Apple :

El núcleo, junto con otras partes centrales de OS X, se denominan colectivamente Darwin. Darwin es un sistema operativo completo basado en muchas de las mismas tecnologías que subyacen a OS X.

Y para citar la misma página:

La tecnología Darwin se basa en las tecnologías BSD, Mach 3.0 y Apple.

Según todo lo anterior, podemos decir con confianza que OS X no es una distribución , en el sentido de la distribución de Linux. Del mismo modo, otros sistemas operativos mencionados son compatibles con POSIX y son sistemas Unix certificados, pero nuevamente difieren en los núcleos y las variaciones en las llamadas del sistema subyacente (por eso existen libros sobre la programación del sistema Solaris y es un tema digno por derecho propio). Por lo tanto, no son distribuciones en el sentido en que lo son las distribuciones de Linux: un núcleo común con variaciones en las utilidades. En el caso de Linux, verá libros sobre la programación del sistema Linux o la programación del kernel de Linux, no la programación del sistema específica de la distribución, porque no hay nada específico del sistema en una distribución en particular.

La confirmación de lo que vemos aquí se puede encontrar en la documentación oficial. Por ejemplo, un artículo sobre developerWorks de IBM que abordó la diferencia entre los tipos de SO UNIX y los estados de distribución de Linux (énfasis agregado):

La mayoría de las variantes modernas de UNIX conocidas hoy en día son versiones con licencia de una de las ediciones originales de UNIX . Sun's Solaris, Hewlett-Packard's HP-UX y IBM's AIX® son sabores de UNIX que tienen sus propios elementos y fundamentos únicos .

En otras palabras, se basan en la misma base, pero no comparten exactamente la misma en el sentido en que las distribuciones de Linux comparten el núcleo.

Consideraciones

Tenga en cuenta que la distribución de palabras parece usarse principalmente cuando se hace referencia a sistemas operativos que tienen el núcleo de Linux en su núcleo. Tomemos, por ejemplo, el tipo de sistemas operativos BSD: hay GhostBSD , que se basa en el núcleo y utiliza algunas de las utilidades de FreeBSD , pero nunca he visto que se haga referencia a él como una distribución BSD; cada sistema operativo BSD solo menciona en qué se basa y, por lo general, un sistema operativo se menciona como un sistema operativo por derecho propio. Claro, BSD significa Berkeley Software Distribution, pero ... eso es todo.

Para citar esta respuesta en nuestro sitio en respuesta a la pregunta de si diferentes versiones de BSD usan los mismos núcleos:

No, aunque hay similitudes debido a los tenedores históricos. Cada proyecto evolucionó por separado.

Son no distribuciones en el sentido de las distribuciones de Linux. Considere el aviso de copyright de este documento :

Algunas partes de este producto pueden derivarse de los sistemas UNIX® y Berkeley 4.3 BSD

Notas

En conclusión:

  • macOS X puede denominarse sistema operativo similar a Unix, sistema similar a Unix, implementación de Unix, sistema operativo compatible con POSIX cuando desee relacionarlo con el AT&T Unix original;
  • "Versión Unix" no sería el término apropiado porque macOS X es muy diferente del AT&T Unix original, y como se mencionó anteriormente, no hay más Unix en el sentido del software, y ahora es más un estándar de la industria;
  • Probablemente la palabra "distribución" se ajuste solo al mundo de Linux.
  • El verdadero problema es que usted (el lector) y yo tenemos demasiado tiempo para discutir sobre el tema sobre el que los abogados deberían estar discutiendo. Tal vez deberíamos ser como Linux Torvalds y usar terminología y sistemas operativos que solo nos permitan seguir adelante con la vida y hacer las cosas que honestamente nos importan y se supone que debemos preocuparnos.
Sergiy Kolodyazhnyy
fuente
15
Es posible que desee comprobar qué significa realmente BSD antes de afirmar que la palabra "distribución" no se usa allí ;-).
Stephen Kitt
2
Perdón por las ediciones múltiples, la falta de "a" sy "the" me hizo un poco difícil seguir todo el texto. POSIX es más nuevo que los antiguos Unices y no estoy muy seguro de si la respuesta es mezclarlos a ambos; También creo que está haciendo un mal servicio que caracteriza el mundo BSD, que está mucho más cerca de Unix que de Linux. La certificación también en sí misma no significa mucho más que alguien haya tenido el tiempo y el dinero para pasar por el proceso de certificación, y eso debe hacerse en todas las versiones. OMI, reelaborando el texto un poco más, esto tiene el potencial de ser una muy buena respuesta.
Rui F Ribeiro
1
@Matthew Sin embargo, no respondería por la calidad de la tierra de usuario BSD de OS / X / Mac OS. A menudo, las utilidades son versiones muy antiguas en comparación con las de FreeBSD, e incluso una implementación adecuada y reciente de IPv6 tardó mucho en aparecer solo en versiones muy recientes.
Rui F Ribeiro
3
El sitio web estándar de Unix utiliza "implementaciones de UNIX" para referirse a los sistemas operativos Unix. Entonces esta es la palabra que estaba buscando: implementación.
Seninha
3
@Sergiy Kolodyazhnyy. El cumplimiento de POSIX no significa que una versión de un as close to original Unix as possiblesistema operativo sea compatible con POSIX.
fpmurphy
4

P: ¿Es macOS una distribución de Unix? Si no es así, ¿cómo podría uno referirse correctamente al ser de macOS en la familia de sistemas operativos Unix (es decir, es una variante de Unix, una versión de Unix, un sabor de Unix, etc.)? Además, esta pregunta se aplica a Solaris, HP-UX y otros dispositivos (¿son todas distribuciones de Unix?).

Fuente de la imagen: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/OSX_Technology_Overview/SystemTechnology/SystemTechnology.html

Mac OS X

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

" XNU es el núcleo del sistema operativo de la computadora desarrollado en Apple Inc. desde diciembre de 1996 para su uso en el sistema operativo macOS y lanzado como software gratuito y de código abierto como parte del sistema operativo Darwin . También se utiliza como el núcleo para iOS , sistemas operativos tvOS y watchOS XNU es una abreviatura de X is Not U nix.


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

" Construyendo su primer núcleo

Antes de poder construir un núcleo, primero debe obtener el código fuente. El código fuente del kernel OS X se puede encontrar en el proyecto Darwin xnu en http://www.opensource.apple.com . Para averiguar su versión actual del kernel, use el comando uname -a. Si tiene problemas, busque información en los archivos de las listas de correo darwin-kernel y darwin-development. Si eso no ayuda, solicite ayuda en cualquiera de las listas. Los archivos de la lista y la información de suscripción se pueden encontrar en http://www.lists.apple.com ".


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

Cocoa : una plataforma avanzada de desarrollo orientada a objetos para OS X. Cocoa es un conjunto de marcos con interfaces de programación tanto en Java como en Objective-C. Se basa en la integración de OPENSTEP, las tecnologías de Apple y Java.

Darwin : otro nombre para el núcleo del sistema operativo OS X. El kernel Darwin es equivalente a la del núcleo OS X más los BSD bibliotecas y comandos esenciales para el BSD entorno de línea de comandos. Darwin es tecnología de código abierto.

Xcode : entorno de desarrollo gráfico integrado de Apple. Está disponible de forma gratuita con el paquete OS X Developer Tools.

XNU : el núcleo de OS X. El acrónimo significa X no es Unix. XNU combina la funcionalidad de Mach y BSD con el Kit de E / S, el modelo de controlador para OS X.


  • Arquitectura

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

"En el núcleo de macOS hay un sistema operativo compatible con POSIX construido sobre el núcleo XNU , con las instalaciones estándar de Unix disponibles desde la interfaz de línea de comandos. Apple ha lanzado esta familia de software como un sistema operativo gratuito y de código abierto llamado Darwin . Además de Darwin , Apple superó varios componentes, incluida la interfaz Aqua y el Finder, para completar el sistema operativo basado en GUI que es macOS ".


P: ¿ Distribución o lanzamiento ? - Fuente: https://en.wikipedia.org/wiki/MacOS#Updating_methods

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

"macOS High Sierra (versión 10.13) es la decimocuarta versión principal de macOS, el sistema operativo de escritorio de Apple Inc. para computadoras Macintosh. El sucesor de macOS Sierra, se anunció en la WWDC 2017 el 5 de junio de 2017". "Tipo de núcleo: híbrido (XNU)".


P: Además, esta pregunta se aplica a Solaris, HP-UX y otros dispositivos (¿son todas distribuciones de Unix?).

Robar
fuente
3
Aconsejaría intentar pegar las citas múltiples con palabras propias.
Rui F Ribeiro
Como mencionó @RuiFRibeiro, debe agregar algunas explicaciones; lo que no dijo, sin embargo, es que no está claro en qué posición se encuentra con todas estas citas diferentes.
Paradoja