Mac OS X разработана на лицензированной Unix или это Unix-подобный клон, который, в отличие от Linux, достаточно хорошо соответствует спецификации Unix, чтобы быть зарегистрированным в качестве Unix OS. Только до Leopard, Mac OS X не получила сертификацию Unix. Но в Леопарде Терминал все еще печатает:

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

Но GNU - это GNU, а не Unix, а Mac OS X зарегистрирована как Unix. Это сбивает меня с толку, является ли OS X Unix или Unix-подобным.

Другими словами, OS X написан поверх Unix или переписан Unix, который настолько же Unix, насколько это возможно. Может быть, вместе с ответом кто-то может предоставить происхождение или другую справочную информацию.

4 ответа4

3

Оригинальный 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 и многие другие.

2

OSX - это Unix просто потому, что Apple заплатила за его сертификацию Open Group в соответствии со спецификацией Unix. Open Group сертифицировала это, потому что Apple фактически включила работу, необходимую для его соответствия.

Я подозреваю, что только Apple знает, сколько лицензионного кода AT & T Unix, если таковой имеется, остается в OSX, через его BSD и другие источники.

OSX также может включать в себя "пользовательские" программы из GNU, такие как bash. Это не делает его менее совместимым со спецификацией Unix. Если вы перенесли bash в SVR4, SVR4 все равно будет Unix.

1

Взято из википедии:

OS X основана на ядре Маха. Некоторые части реализации Unix во FreeBSD и NetBSD были включены в NeXTSTEP, ядро Mac OS X.

Ядро OS X - это POSIX-совместимая операционная система (ОС), созданная поверх ядра XNU, со стандартными средствами Unix, доступными из интерфейса командной строки. Apple выпустила это семейство программного обеспечения в виде бесплатной операционной системы с открытым исходным кодом под названием Darwin. Помимо Дарвина, Apple наложила несколько компонентов, включая интерфейс Aqua и Finder, для завершения операционной системы на основе графического интерфейса, которая является OS X.

Подсистема Darwin в Mac OS X отвечает за управление файловой системой, которая включает уровень разрешений Unix.

0

Если вы спрашиваете, была ли OS X разработана с использованием кода, например, System V, ответ будет отрицательным. Происхождение OS X восходит к BSD и Mach.

Но это не значит, что это не настоящий Unix. Насколько я знаю, сертификация ничего не значит, кроме того, что Apple решила заплатить за Leopard.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .