MacOSX: Много *BSD или мало?
Доброй ночи всем 🙂 В час ночи с чаем решил задуматься. Вот в инете всю дорогу противоречивая инфа: то ли можно с натягом рассматривать связь MacOSX и FreeBSD, другие не рассматривают.
Я решил почитать литры всякой, в том числе и по терминальным командам для MacOSX, в результате чего прихожу к выводу, что да: MacOSX носит в себе элементы FreeBSD и можно тогда можно МакОСь отнести к стану *BSD.
А как думает ЛОР? 🙂 (не холивара ради. Хочу за BSD взяться на домашнем компе) Хочется у себя «в жызны» сделать единую экосистему. В ночных раздумьях 🙂
P.S. И да, я наконец-то осилил brew и xcode command line
У MacOS мало чего осталось от *BSD. То же ядро у них другое. Да и вроде вместо xorg’а у них свое упраление графикой.
судя по маковским манам, датированным началом 90х, юзерспейсные утилиты они позаимствовали ещё до появления FreeBSD
Darwin — это химера, микроядро Mach, отдельные части FreeBSD (сейчас — FreeBSD5) и I/O Kit.
А Mach — это развитие патча BSD ядра.
В общем в основе OS X лежит BSD и «киты» для ObjC, берущие начало в NextSTEP (OpenSTEP).
NextSTEP — это уже не уровень ядра. Ядерные киты плюсовые.
Ну, как я понимаю, изначально userland и большая часть утилит. При этом впилено уже столько своего, что можно относить, а можно и не относить. Знания FreeBSD тебе в макоси помогут мало.
Знания FreeBSD тебе в макоси помогут мало.
Так и наоборот: знания всяких там brew и xcode практически ничем не помогут знаниям FreeBSD.
прихожу к выводу, что да: MacOSX носит в себе элементы FreeBSD и можно тогда можно МакОСь отнести к стану *BSD.
нет, бсд — говно, os x — не говно.
Да и вроде вместо xorg’а у них свое упраление графикой.
Вроде? Удивляюсь с лора.
Хочется у себя «в жызны» сделать единую экосистему.
Да кто такая эта ваша «экосистема»? Все про неё говорят, но никто толком не может сформулировать что это такое, обычно говоря про банальную синхронизацию, которая, каким нибудь дропбоксом делается с пол пинка.
MacOSX носит в себе элементы FreeBSD
Именно — «носит»
На самом деле Mac OS X из двух систем как бы состоит: первая половина собсно то что пришло из NeXTSTEP и то что пользователь видит, с чем он работает, вторая от BSD (от пользователя скрыта и видна в основном всякими разработчикам и энтузиастам)
На BSD часть приходиться разграничение прав доступа, сетевой стек, работа с FS совместимость с UNIX/POSIX
Можно ли отнести Мас OS X к стану *BSD? Незнаю, смотря что имеется в виду под *BSD.
Mach — это развитие патча BSD ядра
Обновись до 10.9 хотя бы. Батарейка там лучше держит.
в том числе и по терминальным командам для MacOSX, в результате чего прихожу к выводу, что да
Скажи-ка, дядя, а насколько
Ко БЗДе приблизится винда
Коль водки бахнуть смачно
И dir сменить на ls?
Человек на linux.org.ru не знает чего-то о проприетарной ОС
Да я был бы рад, вот только люди жалуются на выпады звуковой системы да на сеть после пробуждения. Я конечно любитель вырубать систему в стиле «Винды», но иногда просто крышку закрываю и открываю, и мне тогда нужен сразу работающий со звуком и сетью ноут :)))
Ок, спасибо. Я хотел бы тогда задать такой под-вопрос: Программы для BSD и же для GNU/Linux лучше компилируются на MacOSX, или тут уже без разницы (куча кроссплатформенных)? Да, я реально уже хочу страдать «гентофилией», благо железка ’13 года, и вроде должно все быстренько собираться 🙂
А чего он тогда ерунду пишет, если не знает?
Да и вроде вместо xorg’а у них свое упраление графикой.
И вроде DE у них не GNOME.
обычно говоря про банальную синхронизацию
Да не, просто я хотел тут «подразумевать» возможность красноглазить. GNU/Linux мне плохо подходит, потому что я теряюсь в ее многообразии.
Может я и не прав, но мне кажется, что политика «1 ОС — почти 0 форков» показывает большую монолитность и «стабильность». OS X — это очень отдаленная от GNU/Linux и freeBSD ОСь, но она, тем не менее, в стане UNIX-подобных. Вот и начал подумывать о том, что пора браться за BSD.
P.S. и да, мне скучно на домашнем HP под виндой сидеть, скукота неописуемая. На маке вот начал баловаться компиляцией и репами homebrew. 😀
Скажи-ка, дядя, а насколько
С линупсом сблизится винда
Ежели водки бахнуть смачно
А сверху навернуть цыгвин?
Сигвином мазать можно много
Но хоть ты плачь, а хочешь сри
Но водкой не стереть следы винды
Программы для BSD и же для GNU/Linux лучше компилируются на MacOSX,
Источник
Является ли macOS UNIX? (И что это значит?)
Является ли macOS UNIX или просто Unix? Или это Unix-подобный? Мы отвечаем на бесконечные дебаты и объясняем такие стандарты, как POSIX и SUS.
macOS: UNIX или нет?
Эта тема поднимает кучу разных вопросов. Какова родословная macOS? Сколько из этого наследственного материала все еще присутствует в современных macOS, и имеет ли это значение? Прежде чем мы сможем ответить, является ли что-то UNIX, Unix или Unix-подобным, нам нужно понять, что означают эти термины. Кто решает, является ли что-то Unix или UNIX, и какие критерии они используют?
Давайте начнем с самого начала.
Unix был создан пятьдесят лет назад в Bell Labs , научно-исследовательской компании AT & T. Перенесемся в 1973 г. и в версию 4 Unix, которая была переписана на языке программирования C. Это сделало операционную систему намного более переносимой и более легкой для переноса на другие аппаратные платформы. В том же году Кен Томпсон и Деннис Ритчи , два основных архитектора Unix, представили на конференции доклад об операционных системах. Сразу же они получили запросы на копии операционной системы.
Связанный указом о согласии от 1956 года, AT & T должен был отказаться от «любого бизнеса, кроме предоставления услуг связи обычных операторов связи». Unix не квалифицировался как нечто, от чего AT & T могла бы извлечь выгоду. Итак, компания сделала что-то примечательное для того времени: распространил Unix в качестве исходного кода с либеральной лицензией. Небольшие сборы покрывали доставку и упаковку, а также «разумный гонорар».
Распространение Unixes
Поскольку Unix был предоставлен «как есть», он пришел без поддержки. В результате сообщество Unix начало объединяться, чтобы помогать участникам, а также исправлять и расширять Unix. Таким образом, вы можете получить исходный код, изменить его и получить поддержку от сообщества. Это знакомое кольцо. Различные разновидности Unix начали появляться, адаптироваться и настраиваться в соответствии с организацией, выполняющей работу.
Боб Фабри , профессор компьютерных наук в Калифорнийском университете в Беркли, был в программном комитете симпозиума по принципам операционных систем 1973 года. Он слушал презентацию Томпсона и Ричи, озаглавленную «Система разделения времени UNIX» .
Фабри запросил копию операционной системы, и в 1974 году Unix был установлен на PDP / 11 в Исследовательской группе по компьютерным наукам (CSRG) в Калифорнийском университете в Беркли. Примечательно, что Кен Томпсон провел там год, работая над тем, что быстро стало собственной разновидностью Unix в университете. Копии изменений и дополнений UC Berkeley были распространены и стали называться Berkeley Software Distribution (BSD). В конце концов, они стали дистрибутивами всей системы Unix, все еще известной как BSD. Номера версий, такие как 4.2BSD, идентифицировали разные версии.
В 1984 году AT & T была освобождена от строгих условий соглашения о согласии 1956 года и способна правильно продавать свою операционную систему. Он включает в себя код BSD, такой как TCP / IP , vi и оболочку C, csh . Даже при таком перекрестном опылении и сотрудничестве возникли трудности с лицензированием. BSD содержал код AT & T, который не был открытым исходным кодом, но элементы BSD были.
Версия BSD без кода AT & T была разработана, чтобы обойти эти проблемы. Однако когда код AT & T был удален, около 20 процентов ядра отсутствовало. Уильям Джолиц написал недостающие части, и эта версия Unix была выпущена как 386BSD . Проект 386BSD застопорился, но в 1993 году его база исходного кода породила проекты NetBSD и FreeBSD .
Это дало нам один кусок головоломки: FreeBSD.
Следующий шаг
После того, как он был уволен из Apple, Inc. в 1985 году, Стив Джобс основал компанию NeXT, Inc. Чтобы предоставить операционную систему для своей линейки продуктов для рабочих станций, NeXT разработал NeXTSTEP . Он использовал BSD в качестве кодовой базы, но представил совершенно другое ядро.
NeXT использовал модифицированную версию микроядра Mach и 4.3BSD для формирования NeXTSTEP, который является второй частью этой головоломки. Mach был разработан в Carnegie Mellon для облегчения исследований в области распределенных и параллельных вычислений. Исследовательская группа использовала BSD в качестве операционной системы и заменила ядро, а не написала свою собственную операционную систему.
В 1996 году Apple Inc. приобрела NeXT, Inc. и тем самым приобрела NeXTSTEP. Apple начала разрабатывать операционную систему, которая в конечном итоге стала macOS с помощью Mac OS X. Он обновил ядро Mach и заменил его более продвинутой версией, разработанной и использованной Open Software Foundation в операционной системе OSF / 1 . Apple также обновила компоненты BSD обновленными и улучшенными версиями из дистрибутива FreeBSD.
Apple вернула элементы ядра BSD обратно в ядро Mach. Он также разработал гибридное ядро, которое объединило характеристики как монолитной, так и микроядерной архитектуры.
Также был включен комплект ввода / вывода , разработанный Apple на основе DriverXit NeXTSTEP. Это позволило добавлять драйверы в ядро без необходимости каждый раз изменять его.
XNU — третья часть головоломки.
Стандарты POSIX и SUS
В 1996 году два органа по стандартизации — X / Open и Open Software Foundation — объединились, чтобы сформировать The Open Group .
Open Group является органом по сертификации торговой марки UNIX. Другими словами, перед тем, как вы сможете назвать ее UNIX, она должна проштамповать вашу операционную систему как соответствующую ее стандартам. UNIX во всех заглавных буквах является знаком соответствия.
Итак, категории следующие:
- Unix: семейство операционных систем. Это семейство включает как операционные системы UNIX, так и Unix-подобные операционные системы.
- Операционные системыUNIX : они были сертифицированы как соответствующие стандартам.
- Unix-подобныеоперационные системы : они выглядят и работают как Unix, но не были сертифицированы как совместимые.
Конечно, вполне возможно, что некоторые операционные системы в категории «Unix-like» могут быть протестированы завтра и признаны совместимыми. Сейчас это, по сути, UNIX, но их можно отнести только к категории Unix, потому что у них еще нет штампов.
Есть два стандарта, которые сертифицируют UNIX: POSIX и Single UNIX Specification (SUS) . SUS — это расширенный набор POSIX. Итак, что-то может быть POSIX-совместимым, но это не делает его UNIX. Однако, если что-то совместимо с SUS, это UNIX.
POSIX и SUS образуют большие коллекции документов (около 3700 страниц). Они определяют работу и ожидаемое поведение каждого аспекта совместимой системы UNIX. Все, от асинхронного и синхронного ввода-вывода до интерфейса сценариев и программ уровня пользователя, каталогизируется и определяется.
Стандарты определяют интерфейсы приложений и поведение во время выполнения, но не определяют, как они реализованы .
Итак, MacOS UNIX?
Ответ должен быть да.
Вы можете проследить его происхождение через FreeBSD до BSD, а оттуда — до Unix, распространяемого Bell Labs, до увеличения платы за лицензию от AT & T.
Но это не имеет значения.
Если вы пишете операционную систему с нуля прямо сейчас, если она удовлетворяет требованиям SUS, она считается UNIX. И не важно, как вы это реализуете. Ядро XNU в основе macOS представляет собой гибридную архитектуру. Он объединяет код Apple с частями ядер Mach и BSD.
Но это тоже не важно. Важно то, что он соответствует требованиям стандартов, по которым он измеряется.
Часть BSD ядра XNU предоставляет интерфейсы прикладного программирования POSIX (такие как различные системные вызовы API и BSD). Сохранение этого элемента ядра BSD без изменений в XNU является ключом к получению сертификации в качестве UNIX. Это позволяет XNU говорить о совместимости и совместимости UNIX с остальной частью системы.
macOS — это совместимая с UNIX 03 операционная система, сертифицированная The Open Group. Это было с 2007 года, начиная с MAC OS X 10.5. Единственным исключением был Mac OS X 10.7 Lion, но соответствие было восстановлено с OS X 10.8 Mountain Lion.
Забавно, но так же, как GNU означает «GNU — не Unix», XNU — «X не Unix ».
Источник