Оригинальный UNIX был создан в AT & T. Они создали операционную систему для обработки текста, но не смогли ее продать из-за некоторых ограничений, под которыми они находились. Так как они не могли продать его, они были довольно щедрыми в предоставлении университетам доступа к исходным лентам. Несколько Unis внесли изменения, наиболее известным из которых был Калифорнийский университет в Беркли (UCB), который выпустил изменения как Berkeley Software Distribution или BSD. Вариант UNIX для BSD внес несколько важных дополнений в то, что называется UNIX, включая модель виртуальной памяти, сокеты BSD (например, TCP/IP), vi и CSH - первую оболочку, разработанную для интерактивного использования.
BSD UNIX начался как патчи к коду AT & T UNIX. Люди из Беркли очистили и удалили код AT & T, и в итоге был выпущен исходный код BSD без авторских прав AT & T. Это породило 386BSD, которая затем породила NetBSD, FreeBSD, OpenBSD и FireflyBSD (и другие). В конце концов, кодовые базы AT & T и BSD были объединены в "Официальную UNIX", и это было названо SVR4.
Ядро MacOS X Darwin основано на элементах NetBSD и FreeBSD, а также некотором коде Маха. Вы можете сказать, что это UNIX, он имеет кодовую линию через UC Berkeley вплоть до оригинального AT & T.
Но что значит UNIX? Это родословная от AT & T? Если так, то BSD отвечает требованиям, как и Solaris, и куча других. Это API, на котором вы можете запустить код UNIX? Затем те, которые подходят, как и Linux, который является записью с нуля в API UNIX корпус. Для большей части кода Cygwin будет квалифицироваться как цель для кода UNIX, поэтому он также является UNIX, даже если он работает поверх ядра Windows, а ядро UNIX - это DLL в пространстве пользователя. Это значок, который вы можете шлепнуть по коробке? Если это так, Apple, наконец, заплатил за это наличными в Leopard. Хм, но Microsoft заплатила за этот значок для подсистемы Windows NT4 POSIX. Да, Windows NT была под маркой "UNIX" до Solaris. Тем не менее, NetBSD, который является прямым потомком источников UNIX, никогда не платил за этот значок и не называет себя UNIX.
Что касается bash, я бы не стал использовать GNU в качестве стандарта для определения, является ли Mac OS X UNIX. bash распространен на платформах UNIX (и IIRC с bash является одним из требований для SVR4 UNIX), но может быть перенесен и на не-UNIX. «GNU - это не UNIX» - это больше о GNU Hurd, который должен был стать конкурентом UNIX в пространстве операционной системы. Предполагалось, что Hurd - это микроядро, которое может делать замечательные вещи, а также запускать код UNIX. Ядро Hurd мало что сделало, но достижение цели Hurd породило огромное количество невероятно полезного программного обеспечения, работающего под UNIX, включая bash, emacs, gcc и многие другие.