Ликбез по macOS. Разбираем в подробностях, как устроена macOS
Предположим, ты недавно приобрел «мак» или раздумываешь, не сделать ли это. Но macOS кажется чуждой и непонятной, да и вообще ходят слухи о том, что там чихнуть нельзя без разрешения Тима Кука. Другая распространенная небылица — что macOS всего лишь чуть‑чуть переделанный Linux. В этой статье мы пройдемся по всем основным механизмам macOS и заодно поговорим о том, какие в реальности есть ограничения и можно ли их обойти.
Краткая история macOS
История macOS, как и в целом история Apple, увлекательна и полна захватывающих перипетий. Здесь я перескажу ее в очень сокращенном и упрощенном виде.
Все началось в далекие восьмидесятые годы с компьютеров Apple II. Операционной системы в современном понимании этого слова у них, по сути, не было: сейчас их ОС мы бы назвали прошивкой. Как и в случае с другими домашними компьютерами той эпохи, в нее входил интерпретатор BASIC, служивший для выполнения пользовательских команд.
www
Никакого заметного наследия Apple II и III в macOS сейчас не найти, однако желающие прикоснуться к истории могут запустить эмулятор Apple II прямо в браузере.
Компьютер Apple Macintosh, вышедший на рынок в 1984 году, разительно отличался от этих машин. Его операционная система сразу включала в себя графический пользовательский интерфейс с поддержкой мыши. Оконный интерфейс по тем временам считался удивительной новинкой — до этого его не было ни у одного серийно производимого компьютера (Windows 1.0 появился через два года после Macintosh и многое у него позаимствовал).
Классическая Mac OS активно развивалась до 1996 года, а последний ее релиз вышел в 2001 году. И если для конца восьмидесятых она считалась передовой, то в девяностые ее архитектура с устаревшей моделью разделения памяти постепенно стала преградой для развития Apple. В качестве экстренной меры руководство компании решило приобрести стартап NeXT, основанный ранее вытесненным из Apple Стивом Джобсом.
Главной разработкой NeXT была графическая операционная система NeXTSTEP, в основе которой — Unix-образное ядро и окружение, продвинутый графический движок и набор объектно ориентированных фреймворков. Последний позволял разработчикам легко создавать оконные приложения на продвинутом по тем временам языке Objective-C. На компьютерах NeXT, к примеру, был создан прототип первого веб‑браузера.
После того как команда разработчиков NeXT перешла в Apple, совместными усилиями была создана новая система — Mac OS X. Позднее ее переименовали в OS X, а затем в macOS (отдел маркетинга в Apple никогда не сидит сложа руки). Технически Mac OS X основана на NeXTSTEP, однако ее интерфейс многое почерпнул из классической Mac OS.
В переходный период «макинтоши» поддерживали как классическую Mac OS, так и Mac OS X. С 2002 года все компьютеры Apple стали выходить с предустановленной Mac OS X, а Mac OS 9 еще несколько лет можно было запускать в режиме совместимости.
Ядро XNU
В основе macOS, как и в основе любой другой ОС, лежит ядро. Оно отвечает за выделение процессорного времени, управление оперативной памятью и кешем, взаимодействие с устройствами и сетью. В то же время оно обрабатывает системные вызовы приложений и обеспечивает взаимодействие процессов.
Современная macOS работает на ядре XNU, которое пришло из NeXTSTEP. За основу его кода в свое время был взят проект Mach — ответвление от ядра FreeBSD.
XNU означает X is Not Unix, «X — не Unix». Эта расшифровка — давно утерявший актуальность программистский юмор: macOS все же по большому счету считается одной из разновидностей Unix. Однако XNU не имеет бинарной совместимости с FreeBSD, то есть программы для FreeBSD в macOS нельзя запустить без изменений и перекомпиляции.
Ядро XNU — гибридное. Это значит, что в отличие от микроядер оно может быть дополнено расширениями, но при этом не является монолитным, как ядро Linux, где все функции собраны в один гигантский бинарный файл.
До macOS 10.15 основным способом расширения ядра были модули kext. Поскольку «кексты» работают в пространстве ядра, сбои в них могут приводить к нестабильной работе компьютера. К тому же они открывали большие возможности для недобросовестных разработчиков.
Сейчас «кексты» считаются устаревшим методом, и со временем он будет отключен. Вместо этого в Apple предлагают разработчикам использовать фреймворки DriverKit и SystemExtension, которые позволяют создавать драйверы и расширения, работающие в пространстве пользователя.
Darwin
Операционная система — это не только ядро. Вместе с Mach в NeXTSTEP, а затем и в Mac OS X перекочевал набор библиотек и исполняемых файлов, которые вместе с XNU обеспечивают поддержку POSIX — Portable Operating System Interface, «портируемого интерфейса операционной системы». Это стандарт, которому в той или иной мере соответствуют все Unix-образные операционные системы и который обеспечивает низкоуровневую совместимость между ними.
В macOS этот слой называется Darwin и по сути представляет собой самостоятельную операционную систему. Сюда не входят графическая среда и библиотеки, нужные для работы оконных приложений, но входят ядро, драйверы, сетевой стек, набор системных и пользовательских утилит командной строки, а также система запуска служб и приложений launchd.
При желании Darwin можно установить как самостоятельную минималистичную ОС с текстовым интерпретатором команд. Код Darwin с самого начала был открыт, однако со временем в нем появилось множество закрытых компонентов, включая специфичные для «маков» драйверы.
Последние версии Darwin уже было невозможно собрать и заставить работать без средств, доступных только программистам Apple. Получилось, что публикация исходников в таком виде стала не нужна ни Apple, ни сообществу, и ее просто прекратили. Код XNU тем временем по‑прежнему доступен на GitHub и продолжает обновляться.
Сейчас силами сообщества поддерживается проект PureDarwin — по‑настоящему открытая реализация Darwin.
info
Долгое время среди продвинутых маководов был популярен набор утилит MacPorts, также основанный на Darwin, но дополненный и расширенный современными версиями программ для Linux. MacPorts продолжают поддерживать, однако сейчас его почти полностью вытеснил пакетный менеджер brew.
Графическая система
Графический слой в macOS обычно называют Quartz, хотя подразумевается под этим набор библиотек Core Graphics. Две его важнейшие части — это Quartz 2D и Quartz Compositor.
Quartz 2D
Quartz 2D отвечает за все, что связано с двумерной графикой. В его основные задачи входит отрисовка текста и превращение графических примитивов, описанных в формате PostScript, в растровые изображения, которые затем передаются в Quartz Compositor.
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Поддержка macOS
Узнайте о совместимости вашей модели Mac, создании резервной копии и подготовьтесь к обновлению.
Знакомство с macOS Monterey
Универсальное управление
Делайте все по-своему сразу на трех устройствах. С помощью одной клавиатуры, мыши или трекпада можно работать одновременно на компьютере Mac и устройстве iPad.
Safari
В обновленном браузере Safari вы найдете оптимизированную панель вкладок, группы вкладок, которые синхронизируются между устройствами, и интеграцию с короткими заметками и фокусированием.
FaceTime
Делитесь опытом, работайте вместе, присоединяйтесь к звонку FaceTime с помощью любого веб-браузера и т. д.
Сообщения
Теперь контент, полученный в приложении «Сообщения», автоматически появляется в таких приложениях, как Safari, «Фото», «Подкасты» и News, в разделе «Отправлено Вам».
Фокусирование
Независимо от того, нужно вам сконцентрироваться или немного расслабиться, фокусирование поможет оставаться в моменте и синхронизировать данные на устройствах.
Короткие заметки
Функция «Короткие заметки» появится в приложении «Заметки», чтобы вы смогли продолжить работу с того места, где остановились, на Mac, iPad или iPhone.
Руководство пользователя macOS
Вы можете легко настроить новый Mac и начать им пользоваться. Выберите оформление рабочего стола, измените основные настройки, начните использовать приложения и выполнять другие задачи.
Использование Mac с другими устройствами Apple
Mac идеально работает со всеми устройствами Apple. Можно использовать iPhone в качестве веб-камеры Mac, управлять Mac и iPad с помощью одной клавиатуры и мыши и использовать другие возможности.
Экономия рабочего времени
С помощью новых функций Почты и Сообщений можно планировать отправку электронных писем на определенное время, редактировать недавно отправленные сообщения и выполнять другие действия. А функция «Постановщик» помогает расположить окна приложений таким образом, чтобы можно было легко переключаться между задачами, ни на что не отвлекаясь.
Общение и совместная работа
Можно начать совместную работу над проектом прямо из приложения «Сообщения». Если Вы планируете отпуск с друзьями, можно делиться группами вкладок в Safari, а затем легко обмениваться фотографиями со всей группой пользователей.
Безопасность Ваших данных и компьютера Mac
Нет ничего важнее защиты Вашей конфиденциальности и безопасности Ваших данных. В Mac встроены инструменты и приложения для надежной защиты Вашей личной информации и самого Mac: ключи доступа, Предотвращение отслеживания и многое другое.
Забыли пароль?
Узнайте, как изменить или сбросить пароль Apple ID.
Загрузите руководство с основными сведениями
У Вас новый Mac? Ознакомьтесь с основными сведениями о Вашей модели.
Служба поддержки Apple
Если у Вас возникли вопросы, Вы можете обратиться в службу поддержки Apple.
Чтобы изучить Руководство пользователя macOS, нажмите «Оглавление» вверху страницы либо введите слово или фразу в поле поиска.
Если Вам требуется дополнительная помощь, перейдите на веб-сайт поддержки macOS.
Некоторые функции и материалы доступны не во всех странах и регионах.
При подготовке материала использовались источники:
https://xakep.ru/2022/10/31/macos-tech-overview/
https://support.apple.com/ru-ru/macos
https://support.apple.com/ru-ru/guide/mac-help/welcome/mac