¿Es macOS UNIX? (¿Y qué significa eso?)

¿Es macOS UNIX o solo Unix? ¿O es similar a Unix? Respondemos al debate interminable y explicamos estándares como POSIX y SUS en el camino.

macOS: ¿UNIX o no?

Este tema plantea un montón de preguntas diferentes. ¿Cuál es el linaje de macOS? ¿Cuánto de ese material hereditario todavía está presente en macOS de hoy? ¿Importa? Antes de que podamos comenzar a responder si algo es UNIX, Unix o similar a Unix, debemos estar cómodos con lo que significan esos términos. ¿Quién decide si algo es Unix o UNIX y qué criterios utilizan?

Empecemos desde el principio.

Unix fue creado hace cincuenta años en Laboratorios Bell, una empresa de investigación y desarrollo propiedad de AT&T. Avance rápido hasta 1973 y la versión 4 de Unix, que se reescribió en el lenguaje de programación C. Esto hizo que el sistema operativo fuera mucho más portátil y más fácil de transferir a diferentes plataformas de hardware. Ese mismo año, Ken Thompson y Dennis Ritchie, dos de los principales arquitectos de Unix, presentaron un artículo en una conferencia sobre sistemas operativos. Inmediatamente recibieron solicitudes de copias del sistema operativo.

Atado por un Decreto de consentimiento que se remonta a 1956, AT&T tuvo que evitar «cualquier negocio que no sea el suministro de servicios de comunicaciones de operador común». Unix no calificó como algo de lo que AT&T pudiera beneficiarse. Entonces, la compañía hizo algo notable en ese momento: distribuyó Unix como código fuente con una licencia liberal. Los pequeños cargos cubrían el envío y el embalaje y una «regalía razonable».

  Cómo ajustar el brillo de la pantalla a la carga de la batería en macOS

Una proliferación de Unixes

Debido a que Unix se proporcionó «tal cual», vino sin soporte. Como resultado, una comunidad Unix comenzó a unirse para ayudar a los miembros, y parchear y extender Unix. Por lo tanto, puede obtener el código fuente, modificarlo y obtener soporte de la comunidad. Eso le suena familiar. Comenzaron a aparecer diferentes versiones de Unix, adaptadas y ajustadas para adaptarse a la organización que realiza el trabajo.

Bob Fabry, profesor de informática en UC Berkeley, formó parte del comité de programa del Simposio sobre principios de sistemas operativos de 1973. Escuchó una presentación de Thompson y Ritchie, titulada The UNIX Time-Sharing System.

Fabry solicitó una copia del sistema operativo y, en 1974, se instaló Unix en un PDP / 11 en el Grupo de Investigación en Ciencias de la Computación (CSRG) en UC Berkeley. De manera significativa, Ken Thompson pasó un año allí, trabajando en lo que rápidamente se convirtió en el sabor propio de Unix de la universidad. Se distribuyeron copias de los cambios y adiciones de UC Berkeley y se conocieron como Berkeley Software Distribution (BSD). Finalmente, se convirtieron en distribuciones de todo un sistema Unix, todavía conocido como BSD. Los números de versión, como 4.2BSD, identificaron las diferentes versiones.

  Cómo programar Night Shift en macOS

En 1984, AT&T fue liberada de las restricciones del decreto de consentimiento de 1956 y pudo comercializar su sistema operativo adecuadamente. Incluía código BSD, como TCP / IP, viy el shell C, csh. Incluso con esta polinización cruzada y colaboración, hubo dificultades con la concesión de licencias. BSD contenía código de AT&T, que no era de código abierto, pero sí los elementos de BSD.

Se desarrolló una versión de BSD sin código de AT&T para solucionar estos problemas. Sin embargo, cuando se eliminó el código de AT&T, faltaba aproximadamente el 20 por ciento del kernel. William Jolitz escribió las partes faltantes, y esa versión de Unix fue lanzada como 386BSD. El proyecto 386BSD se estancó, pero en 1993, su base de código fuente dio lugar a la NetBSD y FreeBSD proyectos.

Eso nos ha dado una pieza del rompecabezas: FreeBSD.

Próximo paso

Después de ser despedido de Apple, Inc. en 1985, Steve Jobs fundó una empresa llamada NeXT, Inc. Para proporcionar un sistema operativo para su línea de productos de estaciones de trabajo, NeXT desarrolló Próximo paso. Usó BSD como base de código pero introdujo un kernel completamente diferente.

NeXT usó una versión modificada de Mach microkernel y 4.3BSD para formar NeXTSTEP, que es la segunda parte de este rompecabezas. Mach fue desarrollado en Carnegie Mellon para facilitar la investigación en computación distribuida y paralela. El equipo de investigación utilizó BSD como sistema operativo y reemplazó el kernel en lugar de escribir su propio sistema operativo.

  Cómo habilitar / deshabilitar las pilas de escritorio en macOS Mojave

XNU

En 1996, Apple, Inc. compró NeXT, Inc. y, por lo tanto, adquirió NeXTSTEP. Apple comenzó a desarrollar el sistema operativo que finalmente se convertiría en macOS a través de Mac OS X. Actualizó el kernel de Mach y lo reemplazó con la versión más avanzada que la Open Software Foundation desarrolló y usó en el OSF / 1 sistema operativo. Apple también actualizó los componentes de BSD con versiones actualizadas y mejoradas de la distribución de FreeBSD.

Apple devolvió elementos del kernel BSD al kernel de Mach. También desarrolló un núcleo híbrido que combinaba características de ambos monolítico y arquitecturas de microkernel.

los Kit de E / S, que Apple desarrolló basándose en DriverKit de NeXTSTEP, también se incluyó. Esto hizo posible agregar controladores a un kernel sin tener que modificarlo cada vez.

XNU es la tercera parte del rompecabezas.

Los estándares POSIX y SUS

En 1996, dos organismos de normalización:X / Abrir y el Fundación de software abierto– se fusionó para formar El grupo abierto.

El Open Group es el certificador