На чем написан mac os

Обновлено: 06.07.2024

Все в курсе, что мобильные девайсы Apple работают под управлением iOS. Многие знают, что iOS представляет собой облегченную версию настольной Mac OS X. Некоторые догадываются, что в основе Mac OS X лежит POSIX-совместимая ОС Darwin, а те, кто всерьез интересуется IT, в курсе, что основа Darwin — это ядро XNU, появившееся на свет в результате слияния микроядра Mach и компонентов ядра FreeBSD. Однако все это голые факты, которые ничего не скажут нам о том, как же на самом деле работает iOS и в чем ее отличия от настольного собрата.

Mac OS X

Операционная система, установленная сегодня на все маки и (в измененном виде) на айдевайсы, ведет свою историю аж с 1988 года, который в мире IT известен также тем, что стал годом выпуска первой бета-версии операционной системы NeXTSTEP. Сама NeXTSTEP была детищем команды разработчиков Стива Джобса, который к тому времени уже покинул Apple и основал компанию NeXT, которая занялась разработкой компьютеров для образовательных нужд.

В момент своего появления на свет NeXTSTEP была поистине передовой операционной системой, которая включала в себя множество технологических новаций. В основе ОС лежало модифицированное микроядро Mach, дополненное компонентами ядра FreeBSD, включая эталонную реализацию сетевого стека. Более высокоуровневые компоненты NeXTSTEP были написаны с использованием языка Objective-C и предоставляли разработчикам приложений богатый объектно-ориентированный API. Система была снабжена развитым и весьма удобным графическим интерфейсом (ключевые компоненты которого сохранились в OS X и даже iOS) и мощной средой разработки, включавшей в себя в том числе известный всем современным разработчикам визуальный дизайнер интерфейса.

После провала NeXT и возвращения Стива Джобса в компанию Apple в 1997 году NeXTSTEP легла в основу проекта Rhapsody, в рамках которого началась разработка системы-наследника Mac OS 9. В 2000 году из Rhapsody был выделен открытый проект Darwin, исходники которого опубликованы под лицензией APSL, а уже в 2001 году появилась на свет OS X 10.0, построенная на его основе. Спустя несколько лет Darwin лег в основу операционной системы для готовящегося к выпуску смартфона, о котором до 2007-го, кроме слухов, не было известно почти ничего.

Рабочий стол NeXTSTEP. Справа можно видеть док, который в OS X/ iOS переехал в нижнюю часть экрана

XNU и Darwin

Условно начинку OS X / iOS можно разделить на три логических уровня: ядро XNU, слой совместимости со стандартом POSIX (плюс различные системные демоны/сервисы) и слой NeXTSTEP, реализующий графический стек, фреймворк и API приложений. Darwin включает в себя первые два слоя и распространяется свободно, но только в версии для OS X. iOS-вариант, портированный на архитектуру ARM и включающий в себя некоторые доработки, полностью закрыт и распространяется только в составе прошивок для айдевайсов (судя по всему, это защита от портирования iOS на другие устройства).

По своей сути Darwin — это «голая» UNIX-подобная ОС, которая включает в себя POSIX API, шелл, набор команд и сервисов, минимально необходимых для работы системы в консольном режиме и запуска UNIX-софта. В этом плане он похож на базовую систему FreeBSD или минимальную установку какого-нибудь Arch Linux, которые позволяют запустить консольный UNIX-софт, но не имеют ни графической оболочки, ни всего необходимого для запуска серьезных графических приложений из сред GNOME или KDE.

Ключевой компонент Darwin — гибридное ядро XNU, основанное, как уже было сказано выше, на ядре Mach и компонентах ядра FreeBSD, таких как планировщик процессов, сетевой стек и виртуальная файловая система (слой VFS). В отличие от Mach и FreeBSD, ядро OS X использует собственный API драйверов, названный I/O Kit и позволяющий писать драйверы на C++, используя объектно-ориентированный подход, сильно упрощающий разработку.

iOS использует несколько измененную версию XNU, однако в силу того, что ядро iOS закрыто, сказать, что именно изменила Apple, затруднительно. Известно только, что оно собрано с другими опциями компилятора и модифицированным менеджером памяти, который учитывает небольшие объемы оперативки в мобильных устройствах. Во всем остальном это все то же XNU, которое можно найти в виде зашифрованного кеша (ядро + все драйверы/модули) в каталоге /System/Library/Caches/com.apple.kernelcaches/kernelcache на самом устройстве.

Уровнем выше ядра в Darwin располагается слой UNIX/BSD, включающий в себя набор стандартных библиотек языка си (libc, libmatch, libpthread и так далее), а также инструменты командной строки, набор шеллов (bash, tcsh и ksh) и демонов, таких как launchd и стандартный SSH-сервер. Последний, кстати, можно активировать путем правки файла /System/Library/LaunchDaemons/ssh.plist. Если, конечно, джейлбрейкнуть девайс.

На этом открытая часть ОС под названием Darwin заканчивается, и начинается слой фреймворков, которые как раз и образуют то, что мы привыкли считать OS X / iOS.

Слой Darwin

Описание фреймворков iOS на сайте Apple

Фреймворки

Darwin реализует лишь базовую часть Mac OS / iOS, которая отвечает только за низкоуровневые функции (драйверы, запуск/остановка системы, управление сетью, изоляция приложений и так далее). Та часть системы, которая видна пользователю и приложениям, в его состав не входит и реализована в так называемых фреймворках — наборах библиотек и сервисов, которые отвечают в том числе за формирование графического окружения и высокоуровневый API для сторонних и стоковых приложений

Как и во многих других ОС, API Mac OS и iOS разделен на публичный и приватный. Сторонним приложениям доступен исключительно публичный и сильно урезанный API, однако jailbreak-приложения могут использовать и приватный.

В стандартной поставке Mac OS и iOS можно найти десятки различных фреймворков, которые отвечают за доступ к самым разным функциям ОС — от реализации адресной книги (фреймворк AddressBook) до библиотеки OpenGL (GLKit). Набор базовых фреймворков для разработки графических приложений объединен в так называемый Cocoa API, своего рода метафреймворк, позволяющий получить доступ к основным возможностям ОС. В iOS он носит имя Cocoa Touch и отличается от настольной версии ориентацией на сенсорные дисплеи.

Далеко не все фреймворки доступны в обеих ОС. Многие из них специфичны только для iOS. В качестве примеров можно привести AssetsLibrary, который отвечает за работу с фотографиями и видео, CoreBlueTooth, позволяющий получить доступ к синезубу, или iAd, предназначенный для вывода рекламных объявлений в приложениях. Другие фреймворки существуют только в настольной версии системы, однако время от времени Apple переносит те или иные части iOS в Mac OS или обратно, как, например, случилось с фреймворком CoreMedia, который изначально был доступен только в iOS.

Все стандартные системные фреймворки можно найти в системном каталоге /System/Library/Frameworks/. Каждый из них находится в своем собственном каталоге, называемом бандлом (boundle), который включает в себя ресурсы (изображения и описание элементов интерфейса), хидеры языка си, описывающие API, а также динамически загружаемую библиотеку (в формате dylib) с реализацией фреймворка.

Одна из интересных особенностей фреймворков — их версионность. Один фреймворк может иметь сразу несколько разных версий, поэтому приложение, разработанное для устаревших версий системы, будет продолжать работать, даже несмотря на изменения, внесенные в новые версии ОС. Именно так реализован механизм запуска старых iOS-приложений в iOS 7 и выше. Приложение, разработанное для iOS 6, будет выглядеть и работать именно так, как если бы оно было запущено в iOS 6.

SpringBoard

Уровнем выше находятся приложения, системные и устанавливаемые из магазина приложений. Центральное место среди них занимает, конечно же, SpringBoard (только в iOS), реализующее домашний экран (рабочий стол). Именно оно запускается первым после старта системных демонов, загрузки в память фреймворков и старта дисплейного сервера (он же менеджер композитинга, он же Quartz Compositor), отвечающего за вывод изображения на экран.

SpringBoard — это связующее звено между операционной системой и ее пользователем, графический интерфейс, позволяющий запускать приложения, переключаться между ними, просматривать уведомления и управлять некоторыми настройками системы (начиная с iOS 7). Но также это и обработчик событий, таких как касание экрана или переворот устройства. В отличие от Mac OS X, которая использует различные приложения и демоны-агенты для реализации компонентов интерфейса (Finder, Dashboard, LaunchPad и другие), в iOS почти все базовые возможности интерфейса пользователя, в том числе экран блокировки и «шторка», заключены в одном SpringBoard.

В отличие от других стоковых приложений iOS, которые располагаются в каталоге /Applications, SpringBoard наравне с дисплейным сервером считается частью фреймворков и располагается в каталоге /System/Library/CoreServices/. Для выполнения многих задач он использует плагины, которые лежат в /System/Library/SpringBoardPlugins/. Кроме всего прочего, там можно найти, например, NowPlayingArtLockScreen.lockboundle, отвечающий за отображение информации о проигрываемой композиции на экране блокировки, или IncomingCall.serviceboundle, ответственный за обработку входящего звонка.

Начиная с iOS 6 SpringBoard разделен на две части: сам рабочий стол и сервис BackBoard, ответственный за коммуникации с низкоуровневой частью ОС, работающей с оборудованием (уровень HAL). BackBoard отвечает за обработку таких событий, как касания экрана, нажатия клавиш, получение показания акселерометра, датчика положения и датчика освещенности, а также управляет запуском, приостановкой и завершением приложений.

SpringBoard и BackBoard имеют настолько большое значение для iOS, что, если каким-либо образом их остановить, вся система застынет на месте и даже запущенное в данный момент приложение не будет реагировать на касания экрана. Это отличает их от домашнего экрана Android, который является всего лишь стандартным приложением, которое можно остановить, заменить или вообще удалить из системы (в этом случае на экране останутся вполне рабочие кнопки навигации и строка состояния со «шторкой»).

Приложения

На самой вершине этой пирамиды находятся приложения. iOS различает встроенные (стоковые) высоко привилегированные приложения и сторонние, устанавливаемые из iTunes. И те и другие хранятся в системе в виде бандлов, во многом похожих на те, что используются для фреймворков. Разница заключается лишь в том, что бандл приложения включает в себя несколько иную метаинформацию, а место динамической библиотеки занимает исполняемый файл в формате Mach-O.

Стандартный каталог хранения стоковых приложений — /Applications/. В iOS он абсолютно статичный и изменяется только во время обновлений системы; пользователь получить к нему доступ не может. Сторонние приложения, устанавливаемые из iTunes, напротив, хранятся в домашнем каталоге пользователя /var/mobile/Applications/ внутри подкаталогов, имеющих вид 4-2-2-2-4, где два и четыре — это шестнадцатеричные числа. Это так называемый GUID — уникальный идентификатор, который однозначно идентифицирует приложение в системе и нужен в том числе для создания изолированной песочницы (sandbox).

Sandbox

В iOS песочницы используются для изолирования сервисов и приложений от системы и друг от друга. Каждое стороннее приложение и большинство системных работают в песочнице. С технической точки зрения песочница представляет собой классический для мира UNIX chroot, усиленный системой принудительного контроля доступа TrustedBSD MAC (модуль ядра sandbox.kext), которая отрезает приложениям не только доступ к файлам за пределами домашнего каталога, но и прямой доступ к железу и многим системным функциям ОС.

В целом заключенное в sandbox приложение ограничено в следующих возможностях:

  • Доступ к файловой системе за исключением своего собственного каталога и домашнего каталога пользователя.
  • Доступ к каталогам Media и Library внутри домашнего каталога за исключением Media/DCIM/, Media/Photos/, Library/AddressBook/, Library/Keyboard/ и Library/Preferences/.
  • Доступ к информации о других процессах (приложение «считает» себя единственным в системе).
  • Прямой доступ к железу (разрешено использовать только Cocoa API и другие фреймворки).
  • Ограничение на использование оперативной памяти (контролируется механизмом Jatsam).

Все эти ограничения соответствуют sandbox-профилю (набору ограничивающих правил) container и применяются к любому стороннему приложению. Для стоковых приложений, в свою очередь, могут применяться другие ограничения, более мягкие или жесткие. В качестве примера можно привести почтовый клиент (профиль MobileMail), который в целом имеет такие же серьезные ограничения, как и сторонние приложения, но может получить доступ ко всему содержимому каталога Library/. Обратная ситуация — SpringBoard, вообще не имеющий ограничений.

Вторая проблема — это защита системы от самой себя и пользователя. Баги могут существовать как в стоковом софте от Apple, так и в головах юзеров. Sandbox защищает от обоих. Даже если злоумышленник найдет дыру в Safari и попытается ее эксплуатировать, он все равно останется в песочнице и не сможет навредить системе. А юзер не сможет «сломать свой любимый телефончик» и не напишет гневных отзывов в адрес Apple. К счастью, знающие люди всегда могут сделать jailbreak и обойти защиту sandbox (собственно, в этом и есть смысл джейлбрейка).

Многозадачность

Одна из самых спорных особенностей iOS — это реализация многозадачности. Она вроде бы и есть, а с другой стороны, ее нет. В сравнении с традиционными настольными ОС и пресловутым Android iOS не является многозадачной операционной системой в привычном смысле этого слова и не позволяет приложениям свободно работать в фоне. Вместо этого ОС реализует API, который приложение может использовать для выполнения отдельных задач, пока оно находится в фоновом режиме.

Впервые такой API появился в iOS 4 (до этого фоновые задачи могли выполнять только стоковые приложения) и наращивался по мере развития операционной системы. Сегодня (речь идет об iOS 7) так называемый Background API позволяет делать следующее:

  • проигрывать аудио;
  • совершать VoIP-звонки;
  • получать информацию о смене местоположения;
  • получать push-уведомления;
  • планировать отложенный вывод уведомлений;
  • запрашивать дополнительное время для завершения работы после перехода в фоновый режим;
  • обмениваться данными с подключенными к девайсу аксессуарами (в том числе Bluetooth);
  • получать и отправлять данные по сети (начиная с iOS 7).

Такие ограничения на работу в фоне необходимы в первую очередь для того, чтобы сохранить заряд батареи и избежать лагов интерфейса, так знакомых пользователям Android, где приложения могут делать в фоне все что захотят. На самом деле Apple настолько сильно заботится о сохранении батареи, что даже реализовала специальный механизм для группировки фоновых действий приложений и их запуска в нужные моменты, например тогда, когда смартфон активно используется, подключен к Wi-Fi-сети или к зарядному устройству.

Выводы

Стоит сказать, что за время своего развития и последующего переезда в мобильные девайсы NeXTSTEP не только не растеряла все свои достоинства, но и приумножила их. Можно долго слушать россказни сотрудников Google, уверяющих, что Android разрабатывался без оглядки на iOS, но факт остается фактом: многие архитектурные решения Android позаимствовал именно у iOS. И не потому, что так было проще, а благодаря их красоте и эффективности.

Шесть стадий загрузки iOS

  1. Boot ROM. После включения устройства первым запускается минималистичный загрузчик, прошитый в постоянную память устройства. Его задача — произвести начальную инициализацию железа и передать управление первичному загрузчику LLB. Boot ROM всегда имеет заводскую прошивку и не может быть обновлен.
  1. Low Level Bootloader (LLB). Далее управление получает LLB. Это первичный загрузчик, задача которого — найти в памяти устройства iBoot, проверить его целостность и передать ему управление либо переключить девайс в режим восстановления, если это не удалось. Код LLB хранится в NAND-памяти устройства и обновляется вместе с установкой новой версии прошивки. Кроме всего прочего, он выводит на экран загрузочный логотип.
  1. iBoot. Это вторичный и основной загрузчик айдевайсов. Он включает в себя драйвер файловой системы, с помощью которого получает доступ к содержимому NAND-памяти, находит ядро и передает ему управление. В iBoot также встроен драйвер UART, с помощью которого можно производить отладку ядра и ОС, подключив девайс к COM-порту или USB-порту компа (с помощью кабеля USB — UART).

4 Ядро. Здесь все как обычно. Ядро производит инициализацию оборудования, после чего передает управление демону launchd.

5 Launchd. Это первичный процесс iOS и Mac OS X, он подключает файловые системы, запускает демоны/службы (например, backupd, configd, locationd), дисплейный сервер, фреймворки, а на последнем этапе загрузки отдает управление SpringBoard. В iOS и Mac OS X launchd используется как замена стандартного /bin/init в UNIX, однако его функциональность гораздо шире.

6 SpringBoard. Вот и экран блокировки!

Первые четыре этапа в этой цепи образуют chain of trust, реализованный с помощью сверки цифровой подписи загружаемого компонента. Цифровую подпись имеют LLB, iBoot и ядро, что позволяет исключить внедрение в цепочку хакнутого загрузчика или ядра, которые могут быть использованы для загрузки сторонней операционной системы или джейлбрейка. Единственный способ обойти этот механизм — найти дыру в одном из загрузчиков и воспользоваться ею для обхода проверки. В свое время было найдено несколько таких дыр в Boot ROM (наиболее известен эксплойт limera1n от geohot, актуальный для iPhone 1–4), а в начале 2014 года и в iBoot (хакер iH8sn0w, эксплойт так и не был опубликован).

Удерживая кнопку «Домой» при включении iPhone, можно заставить iBoot загрузиться в так называемый режим восстановления (Recovery), который позволяет восстановить прошивку iOS или обновить ее, используя iTunes. Однако механизм автоматического OTA-обновления использует другой режим, именуемый DFU (Device Firmware Upgrade), который активируется на раннем этапе загрузки сразу после Boot ROM и реализован в двух компонентах: iBSS и iBEC. По сути, это аналоги LLB и iBoot, конечная цель которых — не загрузить ОС, а перевести смартфон в режим обновления.

Процесс загрузки iOS

Евгений Зобнин

Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.

Многие полагают, что macOS основана на ядре Linux. На самом деле две системы значительно различаются и своей историей и своими особенностями. Сегодня я рассмотрю эти отличия, хотя и сходство, конечно же, тоже имеется.

Широко известно, что Android, самая популярная операционная система для умных телефонов и планшетных компьютеров, основана на Линуксе. И зачастую это представление переносится и на те системы, которые управляют работой устройств, предлагаемых компанией Apple. И не только ее компьютеров, но также iPhone и iPad.

Коммерческий проект

В далеком 1985 году Стив Джобс вынужден был покинуть Apple из-за разногласий с Джоном Скалли, который тогда был главой компании. Легендарным компьютерным гением была основана новая компания — NeXT. Для экономии времени при создании новой ОС ею использовалось ядро Mach от Университета Карнеги-Меллона и часть кода BSD. Итогом этого труда стала система NeXTSTEP.

Как известно, NeXT так никогда и не удалось достичь финансового успеха. Тем временем, Apple неоднократно пыталась обновить свою ОС. В числе ее попыток было даже партнерство с IBM.

В 1997 году Apple приобрела новую компанию Стива Джобса. Он вернулся в основанную им совместно со Стивом Возняком компанию и принес с собой NeXTSTEP, которая со временем и легла в основу macOS и iOS.

Студенческая разработка

Линукс изначально была некоммерческим проектом. Ее ядро было разработано финским студентом Линусом Торвальдсом. Его код был опубликован в Usenet в августе 1991 года и студенту начали поступать предложения по использованию кода. В 1992 году у Линукса появилась поддержка графического интерфейса.

Не Юникс

Ядро macOS называется XNU и расшифровывается как «X — не Unix». Оно является гибридным ядром, в котором части ядра Mach сочетается с FreeBSD и C++ API, используемым для написания драйверов. Фрагменты Mach отвечают за выполнение задач низкого уровня, в числе которых — многозадачность, защищенная память, управление виртуальной памятью и поддержка отладки ядра.

Таким образом, даже в самой максимально упрощенной формулировке, macOS правильнее считать системой, основанной на BSD, а не на Линуксе.

Какая из систем старше

Если macOS включает в себя микроядро Mach и монолитное ядро BSD, то Линукс основана исключительно на монолитном ядре. Оно отвечает за управление центральным процессором, памятью, взаимодействием между процессорами, драйвера устройств, файловую систему и взаимодействие с сервером.

Возможно многие из вас удивятся, но ядро XNU, на котором основана система Apple, по сути является более «древним», чем Линукс. Ведь оно базируется на двух намного более старых базах кода. Линукс новее и была написана «с нуля». Она находит себе в применение в самых разнообразных устройствах, а не только в девайсах, выпускаемых одной компанией.

Таким образом, в корне неправильным оказывается и другое распространенное представление, согласно которому Mac и iPhone прочно ассоциируются в сознании пользователей с чем-то очень современным и молодежным, а Линукс — с системой для пожилых программистов, которые еще помнят эпоху гигантских вычислительных машин.

Решающая роль экранной картинки

Другое дело, что являясь коммерческим проектом, macOS развивается лидером технологической индустрии. Она постоянно совершенствуется и, что самое главное для многих пользователей, становится более привлекательным ее графический интерфейс. Пользователь не работает напрямую с ядром, поэтому для многих в понятие «операционная система» входит прежде всего ее «графика».

Впрочем, современные Линуксы также весьма привлекательны, но, возможно, им не хватает того стиля и гармонии, которые годами шлифовались лучшими специалистами. «Линуксовых» систем огромное множество и они значительно различаются между собой и дизайном и функционалом, что также не способствует их привлекательности для обычного пользователя, который предпочел бы, чтобы все на компьютере из года в год выполнялось так, как он привык.

Какую операционную систему предпочитаете вы и почему именно она нравится вам больше альтернативных вариантов?

Мне просто интересно, кто знает, какие языки программирования Windows, Mac OS X и Linux состоят из и какие языки используются для каждой части ОС (т. е.: ядро, подключаемая архитектура, компоненты GUI и т. д.).

Я предполагаю, что для каждого есть несколько языков, и, очевидно, я знаю, что ядро Linux написано на C.

Я полностью предполагаю, что Mac OS X содержит много кода Objective-C, поскольку это язык Apple, полученный из следующий.

Windows, я слышал, содержит сборку C, C++ и Intel. Содержит ли Linux или Mac OS какой-либо код сборки?

кроме того, существуют ли языки сценариев, такие как Ruby, Python и т. д., используемые разработчиками ОС для написания сценариев частей ОС? Какие части ОС будут написаны на каждом языке?

  • Windows: c++, ядро находится в C
  • Mac: Objective C, ядро находится в C (подсистема ввода-вывода PnP встроена в C++)
  • Linux: большинство вещей находятся в C, многие приложения userland находятся в Python, KDE-это все c++

все ядра также будут использовать некоторый код сборки.

Linux: C. Некоторые детали в сборке.

[. ] Это в основном в C, но большинство людей не назвали бы то, что я пишу C. Он использует все мыслимые функции 386, которые я мог найти, как это было проект, чтобы научить меня о 386. Как уже упоминалось, это использует MMU, как для подкачки (еще не на диск), так и для сегментации. Это сегментация, которая делает его действительно зависимым от 386 (каждая задача имеет Сегмент 64Mb для кода и данных-максимум 64 задачи в 4Gb. Кто должен более 64 Мб / задача - жесткие куки). [. ] Некоторые из моих "C"-файлов (специально мм. с) почти столько же ассемблер как C. [. ] В отличие от minix, мне также нравятся прерывания, поэтому прерывания обрабатываются не пытаясь скрыть причину. (источник)

Mac OS X: Cocoa в основном в Objective-C. ядро написано на C, некоторые части в сборке.

Mac OS X, на уровне ядра, в основном является старой, свободной операционной системой под названием BSD (в частности, это Дарвин, своего рода гибрид BSD, Mach и некоторых других вещей). почти полностью C, с небольшим количеством ассемблера. (источник)

большая часть Cocoa реализована в Objective-C, объектно-ориентированном языке, который компилируется для работы с невероятной скоростью, но использует действительно динамическую среду выполнения, что делает ее уникально гибкой. Поскольку Objective-C является надмножеством C, легко смешивать C и даже C++ в ваших приложениях Cocoa. (источник)

Mac OS — это сокращение от Macintosh Operating System, то есть операционная система для компьютеров Apple Macintosh. Согласно легенде, название Macintosh произошло от любимого сорта яблок Джефа Раскина, тогда ведущего разработчика Apple (на самом деле они назывались McIntosh, но эта торговая марка уже была занята).

Содержание

История

Apple использует Mac OS с 1984 года, когда появился первый компьютер Apple Macintosh. Правда, тогда операционная система была известна еще под именем Macintosh System Software. Первая версия Mac OS увидела свет в 1984 году. Благодаря графическому интерфейсу и наличию мыши работать с Macintosh было гораздо удобнее, чем с IBM PC того времени (см. рисунок 1). В то время ОС от Apple находилась далеко впереди конкурентов из мира IBM PC по удобству использования – у нее уже был графический интерфейс и мышь в дополнение к привычной клавиатуре. Все это давало возможность отображать тексты на мониторе так, как они будут выглядеть на бумаге после печати, а пользователю уже не нужно было вводить команды – впервые он мог просто выбирать их щелчком кнопкой мыши. Наконец, именно на Mac OS была впервые применена многозадачность. Владельцам ПК такие возможности стали доступны только через 6 лет, с выходом в 1990 году Windows 3.0. [Источник 1]


История версий

System 1.0 (1984)

В версии System 1.0 Apple реализовала удобный для пользователей графический интерфейс. Уже в самой первой редакции ОС команда разработчиков смогла сделать понятное взаимодействие с элементами в оконном режиме. Фактически, более совершенные версии операционной системы отличаются от своего «предка» лишь качеством графики и более расширенным функционалом (см. рисунок 2).


System 2.0, 4.0, 5.0, 6.0 (1985-1988)

В этот период разработчики добавили дополнительные возможности, настройки и стандартные приложения, также появилась иерархическая файловая система. Особое внимание создатели операционной системы уделяли ее адаптации под новые комплектующие и устройства. В частности, разработчики позаботились о поддержке слотов расширения, периферийных устройств, новых процессоров и более емких накопителей. Отметим, что полноценная панель многозадачности появилась только в версии System 5.

System 3.0

Графический интерфейс в версии Mac OS System 3.0


System 7.0 – 7.6 (1991-1996)

Первое масштабное обновление ОС получила только через семь лет существования. Обновление привело к цветному интерфейсу, хотя многие элементы по-прежнему оставались серыми, но некоторые из них были цветными. Разработчики значительно усовершенствовали режим многозадачности. В последующих обновлениях Apple устраняла ошибки, добавляла поддержку новых компонентов, реализовывала новые программы, как собственные, так и от сторонних разработчиков программного обеспечения.

System 8 (1997)

Данная редакция была выпущена летом 1997 года после того, как Стив Джобс вновь присоединился к Apple. Изначально предполагалось, что новая версия продолжит традицию и выйдет под нумерацией 7.7, однако Джобс принял иное решение. В то время пользователи могли устанавливать System 7 на компьютеры других производителей. Apple решила прекратить подобную практику и перестала выпускать System 7. Именно с тех пор «яблочная» ОС устанавливается исключительно на устройства Apple. За первые две недели после выхода System 8, компания продала 1,2 млн копий, а в последующие шесть месяцев реализовала еще три миллиона. Примечательно, что System 8 претерпела лишь немногочисленные изменения. Например, компания добавила больше цветов и оттенков в элементы интерфейса и снабдила ОС новыми темами оформления и панелью управления.

Mac OS 9 (1999)

23 октября 1999 года купертиновцы выпустили версию Mac OS 9, ставшую последним обновлением классических Mac OS. Пользователи данной редакции получили возможность хранить свою информацию и устанавливать системные настройки. В числе нововведений также следует отметить появление шифрования данных по технологии Keychain, возможность работы с удаленными серверами и усовершенствованную поддержку USB-протокола. 5 декабря 2001 года состоялся релиз последнего обновления Mac OS 9.2.2.

Mac OS X 10.0 Cheetah (2000)

Первая публичная бета-версия OS X стала доступна 13 сентября 2000. Стоимость дистрибутива составляла $30. Официальная версия появилась через полгода.4 марта 2001 года состоялся релиз первой официальной версии OS X 10.0. Apple решила сделать кардинальный шаг от классического восприятия операционных систем Macintosh. Был продемонстрирован совершенно новый пользовательский интерфейс Aqua. Впервые использовались такие приложения как TextEdit, Просмотр, Почта и QuickTime. Cheetah была очень требовательна к железу: 128 МБ оперативной памяти (неофициальный минимум 64 МБ) и 800 МБ свободного дискового пространства (желательно 1,5 ГБ) в то время были предметом роскоши. В последующем из-за таких жёстких требований к памяти OS X 10.0 подверглась критике (стандартным объёмом памяти в Macintosh было 64 МБ RAM). [Источник 2]

Особенности и преимущества

Система Mac OS была основана на прототипе графического интерфейса пользователя, позаимствованным руководством Apple в исследовательском центре Xerox PARC. Разработчики Macintosh использовали некоторые идеи прототипа Xerox, доработав и расширив их, добавив собственные.Стоит отметить, что впоследствии ряд других компаний использовал в своих продуктах идеи Apple, например, компания Microsoft, которая представила похожую на Mac OS графическую оболочку для своей операционной системы MS-DOS, названную Windows (в переводе с английского - окна).В противовес продуктам конкурентов Apple хотел, чтобы компьютеры Macintosh стали альтернативой большинству ЭВМ. В компании даже придумали определение для своей продукции. Ранние версии Mac OS были совместимы только с компьютерами Macintosh, основанными на процессорах Motorola 68k, позже операционная система от Apple была совместима с архитектурой процессора PowerPC (PPC). Последние версии ОС - Mac OS X - стали совместимы с архитектурой Intel x86. Однако политика компании не позволяет устанавливать Mac OS на любые устройства, основанные архитектуре Intel x86. Операционная система Mac может устанавливаться только на компьютеры и ноутбуки Apple. Однако, как показывает практика, взломанную (пиратскую) версию Mac OS можно было установить практически на любой компьютер, поддерживающий архитектуру Intel x86. Такие пиратские версии оперативной системы разрабатывались сообществом OSx86 и были доступны посредством файлообменных сетей. Но, стоит отметить, что установка Mac OS на компьютерах, выпущенных не компанией Apple, незаконна, поскольку противоречит условиям лицензии на операционную систему. При этом стоит учесть, что технических противопоказаний для такого шага нет: с 2006 года компьютеры Apple используют процессоры Intel (старые Macintosh были построены на базе PowerPC) и мало отличаются по составу комплектующих от обычных ПК, а сама Mac OS совместима с большим ассортиментом комплектующих персональных компьютеров.

Mac OS X значительно отличается от предыдущих версий Mac OS. В основе системы лежит Darwin - открытая POSIX-совместимая операционная система, выпущенная Apple Inc. в 2000 году. Данная ОС совмещает в себе код, написанный самой Apple, с кодами, полученными от систем NeXTSTEP, FreeBSD, а также свободных программных проектов. В 2001 году вышла обновленная версия Mac OS X Puma (см. Рисунок 4).


Плюсы

Если сравнивать Mac OS с основным конкурентом ОС Windows от Microsoft, то можно выделить несколько основных отличий.

  • Во-первых, надежность и стабильность работы операционной системы. В этом отношении лидерство можно отдать Apple. Дело в том, что Mac OS создана непосредственно для компьютеров Macintosh, что говорит об их полной совместимости. Таким образом, компьютер Apple под управлением Mac OS не дает сбоев, загрузка приложений осуществляется быстрее. Стоит также отметить, что отсутствие в Mac OS системного реестра снимает массу проблем, которые в ПК под управлением Windows зачастую приводят к переустановке системы. Профессионалы в области видео, дизайна, компьютерной графики выбирают именно Apple Macintosh, так как данные машины и их операционная система надежны.
  • Во-вторых, Mac OS отличается более интересным и практичным дизайном, что можно описать фразой "Ничего лишнего". По словам Билла Гриббонса, доктора наук, специализирующегося на влиянии человеческого фактора в информационном дизайне, "Подход Apple к разработке продукта - это то, что отличает их от Microsoft." Он также подчеркнул, что Microsoft не всегда фокусируется на технологии, в Windows не всегда лучший комфорт в работе для пользователей, и не всегда легко изучаемый продукт, который не всегда отвечает запросам пользователей.

Например, интерфейс системы Mac OS X тоже имеет существенные отличия от Windows. Если в Windows каждой программе обычно соответствует одно окно с открывающимися в нем вкладками и панелями инструментов, то в Мас OS используются "плавающие" окна и панели, не привязанные к общему окну, а располагающиеся на рабочем столе.

  • Mac OS проста в установке и удалении приложений. Так, например, инсталляция большинства программ под оперативную систему компании Apple осуществляется гораздо проще, чем под Windows. В среде Mac OS программа предстает перед пользователем в виде единственного объекта - так называемого "пакета", причем для установки достаточно просто перетащить значок "пакета" в любую папку или запустить его прямо с диска. При таком способе установки программа не оставляет следов в системном реестре (поскольку в Mac OS его нет) и папках общего пользования. Лишь единичные программы (в основном, такие "монстры", как Adobe Creative Suite или Microsoft Office) используют привычные для пользователей Windows инсталляторы.
  • Компьютеры под управлением Mac OS практически не подвержены заражению вредоносным ПО и устойчивы к несанкционированному доступу к личной информации.

Недостатки

Есть у Mac OS X и определенные недостатки, которые, в том числе, связаны и с достоинствами данной операционной системы.

  • Использование надежных технологий и оригинального дизайна сказывается и на стоимости, как компьютера, так и самой ОС - как правило, она на порядок выше стоимости ПК под управлением Windows.
  • У Apple отсутствовали компьютеры средней производительности, так как компания была сосредоточена на выпуске мощных машин для выполнения профессиональных задач, что сужало целевую аудиторию. Из-за этого Apple вынужден был держать и высокую стоимость своих продуктов.
  • Еще одним недостатком Mac OS являлось меньшее число программ, которые можно установить на компьютер. Среди софта для Mac OS существует программное обеспечение для решения любых задач, однако его выбор все же не так велик, как для Microsoft Windows.
  • Минусом Mac OS также являлся негибкий пользовательский интерфейс. Операционная система от Apple не дает пользователю возможности так гибко управлять размерами и расположением панелей интерфейса, как это можно сделать в Windows. При этом начертание системных шрифтов в Mac OS можно менять в ограниченных пределах и только с помощью специальных дополнительных программ.
  • Кроме того, ряд экспертов выделяли и имиджевые различия двух систем. Macintosh с ее Mac OS разработан в основном для графических и мультимедийных функций, и с этими задачами справляется лучше, чем Windows. В свою очередь, Windows существенно лучше работает со статистическими и офисными приложениями. Мало кто играл в компьютерные игры на Macintosh, тогда как на рынке есть целый сегмент игровых ПК и специальных периферийных устройств под управлением ОС Windows. [Источник 3]

Характеристики

Пользовательский интерфейс Mac состоит из анимированных панелей, включающих в себя иконки и значки работающих приложений и папок с документами. Кнопки Пуск здесь нет. При наведении курсора на нижний край дисплея плавно выплывает ряд кнопок и так же плавно скрывается, когда курсор отводится в сторону. В широком ранге можно кустомизировать наличие значков приложений и их привязку к разным сторонам экрана.Прежде всего, бросается в глаза ювелирная отполированность всего, что находится на экране и заметно более высокая скорость реагирования, чем на Windows. Многие пользователи Windows знакомы с Rocket Dock – это и есть подражание маковскому интерфейсу.Еще одно отличие – главная панель меню приложения всегда прикреплена к верхней части дисплея. Довольно необычно, но вскоре понимаешь, насколько это удобно.

Шрифты на экране Mac выглядят в точности так, как они и будут напечатаны на принтере. На первый взгляд это кажется несколько непривычно, но привыкаешь быстро. По этой типографской точности визуализации шрифтов, Mac отлично подходит для работы над задачами полиграфии.

В Mac OS на системном уровне решена задача запуска одновременно нескольких разных рабочих столов. Переключение горячими клавишами, ничего не глючит и не конфликтует. [Источник 4]

Заключение

ОС Mac OS устанавливался только на компьютеры Macintosh компании Apple, что является принципиальным решением ее руководства. Это не значит, что Mac OS не совместима с компьютерами других производителей и не может быть на них установлена. Установить систему конечно можно, но на данный момент это считается не законным. Компьютеры Macintosh имеют небольшой модельный ряд и не могут похвастаться разнообразием, к тому же они стоят в несколько раз дороже обычных персональных ЭВМ, поэтому число пользователей Macintosh сравнительно мало относительно общего числа компьютерных пользователей во всем мире. В 2000-х Mac OS была переименована в Mac OS X, а затем в macOS.

Читайте также: