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.
fuente
Respuestas:
¿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 :
La misma página establece específicamente qué especificación define UNIX:
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:
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 :
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 :
Algunas personas erróneamente llaman al kernel OS X Darwin. Para citar la Guía de programación del kernel de Apple :
Y para citar la misma página:
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):
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:
Son no distribuciones en el sentido de las distribuciones de Linux. Considere el aviso de copyright de este documento :
Notas
En conclusión:
fuente
as close to original Unix as possible
sistema operativo sea compatible con POSIX.Fuente de la imagen: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/OSX_Technology_Overview/SystemTechnology/SystemTechnology.html
Implementación patentada HP-UX del sistema operativo Unix, basado en UNIX System V
Solaris Unix SVR4
fuente