Вопрос или проблема
Недавно у меня был спор, в котором утверждалось, что Mac OS X — это не UNIX, а Unix-подобная система.
Я знаю, что существует Английская спецификация UNIX, и те, кто соответствует этой спецификации, могут использовать торговую марку UNIX.
Является ли Mac OS X операционной системой UNIX или это Unix-подобная система?
Все выпуски Mac OS X (ныне macOS), кроме одного, были сертифицированы как Unix The Open Group, начиная с 10.5:
- 15.0 (Sequoia) на Intel Macs и на Apple Silicon Macs
- 14.0 (Sonoma) на Intel Macs и на Apple Silicon Macs
- 13.0 (Ventura) на Intel Macs и на Apple Silicon Macs
- 12.0 (Monterey) на Intel Macs и на Apple Silicon Macs
- 11.0 (Big Sur) на Intel Macs и на Apple Silicon Macs
- 10.15 (Catalina)
- 10.14 (Mojave)
- 10.13 (High Sierra)
- 10.12 (Sierra)
- 10.11 (El Capitan)
- 10.10 (Yosemite)
- 10.9 (Mavericks)
- 10.8 (Mountain Lion)
- 10.6 (Snow Leopard)
- 10.5 (Leopard)
В любое время на странице Apple на сайте The Open Group указывается только текущая версия macOS и иногда предыдущая версия, но все вышеуказанные ссылки в какой-то момент были найдены через эту страницу.
Статус macOS как сертифицированной Unix отмечается в подробном описании Unix-технологий от Apple, в котором также содержатся другие полезные технические аспекты, которые помогут вам сравнить её с другими системами UNIX® и Unix-подобными системами.
Эндрю Джози, вице-президент Standard & Certification в The Open Group, подтверждает, что 10.7 Lion никогда не был зарегистрирован как продукт UNIX 03.
Да, OS X — это UNIX.
“UNIX” — это, на самом деле, просто торговая марка, применяемая The Open Group после завершения сертификации. Множество различных — совершенно несовместимых — операционных систем сертифицируется как UNIX. OS X среди них. Вот текущая страница сертификации OS X 10.9 “Mavericks” как сертифицированной “UNIX 03”: http://www.opengroup.org/openbrand/register/brand3602.htm
Apple отправляла OS X на сертификацию (и получала её) для каждой версии, начиная с 10.5. Однако версии до 10.5 (как и многие Unix-подобные ОС, например, множество дистрибутивов Linux) могли бы, вероятно, пройти сертификацию, если бы подали заявку.
Так что все зависит от того, как вы определяете “UNIX”: как “торговую марку The Open Group, примененную к операционным системам, прошедшим сертификацию от The Open Group как UNIX система”, или как “операционная система, действующая как оригинальная система AT&T Unix и соответствующая стандартам, изложенным в любой версии Единой спецификации Unix, даже если она никогда не подавалась для тестирования и сертификации в The Open Group”, тогда каждая OS X, начиная с оригинальной, вероятно, бы квалифицировалась. (Как и большинство дистрибутивов Linux, даже если ни один из них не прошел сертификацию The Open Group.)
О, и я не могу еще оставить комментарий, но как обновление к посту Уоррена Янга – Apple действительно получила сертификацию UNIX для 10.7 (или, по крайней мере, они утверждают, что получили): https://ssl.apple.com/media/us/osx/2012/docs/OSX_for_UNIX_Users_TB_July2011.pdf
Ну, учитывая, что она полностью совместима с POSIX, я бы сказал, да.
MacOS использует Unix-ядро в своей основе. Графический слой просто (ну, возможно, не “просто”) наложен поверх Unix-основы. Все эти функции с указанием и щелчком мыши — это просто конструкция для тех, кто не знает терминала. 🙂
Одно большое отличие в том, что интеграция X11 немного другая. Приложения X11 будут выглядеть не очень хорошо на Mac, нужно вручную запускать XServer, который не пользуется большим вниманием. Кроме того, я думаю, это микроядро Mach с сетевым стеком FreeBSD, а пользовательская среда похожа на Linux.
Mac OS X 10.6 может компилировать исходный код из (уже упомянутой) книги “Advanced Programming in the UNIX® Environment, Second Edition”, если флаги препроцессора _POSIX_C_SOURCE
и _DARWIN_C_SOURCE
включены (см. страницу man compat(5) и здесь). Так что мой ответ будет “Да!”.
Можно ли также (как-либо) компилировать исходный код этой книги на Windows?
(Касательно среды пользователя, похожей на Linux: предварительно скомпилированные Mac OS X бинарники пакета GNU findutils и других инструментов GNU доступны на сайте rudix.org).
В юридическом смысле да. UNIX — это торговая марка, принадлежащая The Open Group, право на использование которой Apple приобрела. То же касается HP, IBM и Oracle в отношении их UNIX-систем.
Тем не менее, unix (без заглавной буквы) также является спецификацией, которая до 1986 года также была охраняема авторским правом. Не случайно, что коммерческий unix взорвался в конце 80-х, а свободный unix последовал за ним, например, Linux в 1991 году.
Linux и FreeBSD не менее чем OS X (Darwin) технически квалифицируются как unix, но не оплатили сертификацию UNIX от The Open Group и, следовательно, не могут использовать это имя.
.
Ответ или решение
Mac OS X, ныне известная как macOS, часто вызывает вопросы касательно своего статуса как операционной системы UNIX. Чтобы понять, является ли macOS UNIX или Unix-подобной системой, важно рассмотреть различные аспекты, включая сертификацию UNIX, а также ее архитектуру и происхождение.
Теория: Сертификация и торговая марка UNIX
UNIX — это зарегистрированная торговая марка, право на использование которой предоставляется организацией The Open Group. Для того чтобы операционная система была признана UNIX, она должна сертифицироваться согласно Single UNIX Specification, что подтверждает соответствие стандартам POSIX и другим нормам, установленным этой группой. Это отличается от термина "Unix-подобная", который применяется к системам, напоминающим UNIX по своему функционалу, но не обязательно прошедшим формальную сертификацию.
С момента выпуска версии Mac OS X 10.5 (Leopard) Apple начала подавать свои системы на сертификацию как UNIX, и все последующие версии, за исключением 10.7 Lion, успешно прошли эту процедуру. Это означает, что начиная с Leopard почти все версии macOS являются сертифицированными UNIX операционными системами.
Пример: Архитектура и основы macOS
macOS построена на основе Darwin, свободно распространяемой операционной системы, которая в свою очередь основывается на XNU kernel, включающем элементы из Mach microkernel и элементов BSD (Berkeley Software Distribution). Это создаёт мощную и современную инфраструктуру, которая удовлетворяет требованиям POSIX, что подтверждает ее Unix-подобную природу.
При этом, важнейшие элементы UNIX — такие как файловая система, процессы, сигналы, безопасность и сетевые механизмы — полноправно интегрированы в macOS, что отвечает стандартам UNIX, на которые ориентируются многие разработчики и производители программного обеспечения. Например, возможность компилировать код из книги "Advanced Programming in the UNIX Environment", включая использование специфических для UNIX и macOS препроцессорных директив, таких как _POSIX_C_SOURCE
и _DARWIN_C_SOURCE
, подчеркивает соответствие инфраструктуре UNIX.
Применение: Юридический и практический статус
Юридически macOS фактически соответствует стандартам UNIX, поскольку начиная с версии 10.5 она получила право использовать товарный знак UNIX. Это позволяет позиционировать macOS как полноправную UNIX-систему, что подкрепляется её присутствием в официальном реестре The Open Group. Однако, несмотря на это, многие пользователи продолжают воспринимать macOS как UNIX-подобную систему из-за её уникального графического интерфейса и различий в реализации X11, что делает её несколько отличной от традиционных UNIX-систем, таких как Linux и другие.
На практике это предполагает, что пользователи macOS могут рассчитывать на работу в полноценно POSIX-совместимой среде, что не только обеспечивает широкий спектр функциональности UNIX, но и облегчает разработку многоплатформенных решений, ожидающих версии для UNIX-систем.
Таким образом, macOS по праву можно считать UNIX-системой с юридической точки зрения благодаря своей сертификации, и Unix-подобной в плане инфраструктуры и наследия. Это делает её гибридной платформой, совмещающей традиционные принципы UNIX с современными инновациями Apple в области пользовательского интерфейса и системной архитектуры.