Apple iOS

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 14:45, 6 февраля 2019.
iOS
Версия операционной системы macOS
125px-Apple iOS new.svg.png
OS9 home screen.png
Главный экран iPhone 5 под управлением iOS 9.3.5
Разработчик Apple
Написана на C++, C
Линейка ОС macOS
Состояние разработки Активное
Исходный код закрытый (со свободными компонентами)
Дата выхода на
производство
9 января 2007 года
Общая
доступность
1 год
Последний релиз iOS 12.1.2 / 20 декабря 2018 года
Последний просмотр iOS 12.1.3 beta 4 / 10 января 2019 года
Целевой маркетинг Мировой рынок
Доступно в Мультиязычная
Метод обновления Apple App Store
Платформы ARM, ARM64
Ядро (тип) XNU (гибридное)
Пользовательское
пространство
Cocoa Touch
По умолчанию
пользовательский
интерфейс
Графический интерфейс
Лицензия Проприетарное программное обеспечение
Официальный веб-сайт apple.com/ru/ios
Статус поддержки
актуальное
Статьи в серии
Apple iOS 1, Apple iOS 2, Apple iOS 3, Apple iOS 4, Apple iOS 5, Apple iOS 6, Apple iOS 7, Apple iOS 8, Apple iOS 9, Apple iOS 10, Apple iOS 11, Apple iOS 12
iOS (до 24 июня 2010 года – iPhone OS) – проприетарная операционная система от компании Apple, выпускаемая исключительно для устройств данной компании. Впервые представлена Стивом Джобсом 9 января 2007 года одновременно с первой моделью iPhone. Позже была разработана версия для iPad, Apple TV, Apple Watch.

В основе iOS лежит POSIX-совместимая ОС Darwin, а основа Darwin — это ядро XNU, появившееся на свет в результате слияния микроядра Mach и компонентов ядра FreeBSD. Единственная поддерживаемая архитектура – ARM.

История создания

Операционная система iPhone OS была представлена 9 января 2007 года совместно с мобильным телефоном iPhone лично Стивом Джобсом на выставке-конференции Macworld Conference & Expo и выпущена в июне того же года. Apple не предполагала отдельного названия для операционной системы, поэтому первоначальный слоган звучал так: «iPhone работает на OS X».

Приложения iOS

По состоянию на 1 мая 2014 года магазин приложений App Store содержит более 1,4 млн приложений для iOS, которые все вместе были загружены более 100 миллиардов раз.

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

Версия Номер сборки Дата релиза Последняя версия для
1.1.5 4B1 15 June 2008 года; 11 years ago (2008-06-15) iPhone (1-е поколение); iPod touch (1-е поколение)
2.2.1 5H11 27 January 2009 года; 10 years ago (2009-01-27) iPhone (1-е поколение) - iPhone 3G; iPod touch (1-е поколение), iPod touch (2-е поколение)
3.1.3 7E18 2 February 2010 года; 9 years ago (2010-02-02) iPhone (1-е поколение); iPod touch (1-е поколение)
4.2.1 8C148 22 November 2010 года; 8 years ago (2010-11-22) iPhone 3G; iPod touch (2-е поколение)
5.1.1 9B206 7 May 2012 года; 7 years ago (2012-05-07) iPod touch (3-е поколение); iPad (1-е поколение)
6.1.6 10B400 21 February 2014 года; 5 years ago (2014-02-21) iPhone 3GS; iPod touch (4-e поколение)
7.1.2 11D257
11D258
30 June 2014 года; 5 years ago (2014-06-30) iPhone 4
9.3.5 13G36 25-08-2016 iPhone 4s, iPod touch (5-е поколение); iPad 2, iPad (3-е поколение), iPad mini
10.2 14A403 13-12-2016 iPhone 5; iPhone 5c; iPhone 5s; iPhone 6; iPhone 6 Plus; iPhone 6s, iPhone 6s Plus, iPhone SE; iPhone 7, iPhone 7 Plus;iPad 4,iPad Air,iPad Air 2,iPad mini 2,iPad mini 3,iPad mini 4;iPod touch 6
11.2.1 15C153 13-12-2017 iPhone 5s; iPhone 6; iPhone 6 Plus; iPhone 6s, iPhone 6s Plus, iPhone SE; iPhone 7, iPhone 7 Plus, iPhone 8, iPhone 8 Plus, iPhone X;iPad Air,iPad Air 2,iPad mini 2,iPad mini 3,iPad mini 4, iPad Pro;iPod touch 6
12.1.2 16C104 13-12-2018 iPhone 5s; iPhone 6; iPhone 6 Plus; iPhone 6s, iPhone 6s Plus, iPhone SE; iPhone 7, iPhone 7 Plus, iPhone 8, iPhone 8 Plus, iPhone X,iPhone XR, iPhone XS, iPhone XS Max;iPad Air,iPad Air 2,iPad mini 2,iPad mini 3,iPad mini 4, iPad Pro;iPod touch 6

Информация с оффициального сайта

Производительность – Любое дело сделается быстрее. iOS прошла оптимизацию как для iPhone, так и для iPad. В результате заметно возросла скорость работы системы и отклика приложений. Даже самые простые действия — такие как включение Камеры или набор текста — стали намного быстрее. Возможности многозадачности тоже были значительно усовершенствованы. Благодаря этим улучшениям возросла производительность всех устройств, совместимых с системой, в том числе iPhone 5s и iPad Air.

  • До 70% быстрее включается камера
  • До 50% быстрее появляется клавиатура
  • До 2 раз быстрее открываются приложения при интенсивной работе

FaceTime на 32 человека сразу.

Теперь в аудио- и видеозвонках по FaceTime могут участвовать до 32 собеседников одновременно. Когда кто-то из них вступает в беседу, его окно увеличивается, чтобы остальным было удобнее следить за разговором. Пользователь может начать такой звонок по FaceTime прямо из групповой переписки в Сообщениях или присоединиться к тому, который уже идёт.

Memoji – Создайте Animoji с собственным лицом.

Можно создать Memoji, который будет похож на вас и передаст ваше настроение. Можно сделать сразу несколько альтер эго и использовать их в Сообщениях и FaceTime.

Четыре новых Animoji.

Чтобы добавить веселья разговору в Сообщениях или по FaceTime, можно примерить на себя новые Animoji — коалу, тигра, привидение или ти-рекса. Кроме того, все Animoji стали ещё выразительнее — теперь они умеют подмигивать и даже показывать язык.

Эффекты Камеры – Оживите любую беседу.

Можно сделать беседы в Сообщениях и звонки FaceTime ярче. Возможность снять фото или видео и сразу же делиться ими. Использовать фильтры, добавлять Animoji, Memoji, анимированные текстовые эффекты, забавные стикеры и многое другое.

Дополненная реальность – Реальна настолько, что ею можно поделиться.

ARKit 2 позволяет разработчикам создавать ещё более впечатляющие приложения с дополненной реальностью, включая многопользовательские. Можно пересылать друг другу объекты дополненной реальности и помещать их в окружающей обстановке. А новое приложение Measure для iOS позволяет измерять объекты в реальном мире — достаточно просто навести на них камеру.

Экранное время – Пользуйтесь устройствами осознанно.

Приложения помогают нам делать удивительные вещи, поэтому с ними можно легко потерять счёт времени. Функция «Экранное время» показывает, сколько времени вы и ваши дети проводите в приложениях, на сайтах и со своими устройствами. Это позволит вам эффективно распоряжаться своим временем с iPhone или iPad.

Уведомления – Держите уведомления под контролем.

Функция быстрой настройки уведомлений поможет не отвлекаться от важных дел в течение дня. Прямо с экрана блокировки переключайте уведомления от выбранных приложений в беззвучный режим. Тогда они будут появляться только в Центре уведомлений. Вы даже можете выключить их совсем.

На основе ваших предпочтений Siri будет давать подсказки. Цепочки сообщений и уведомления на одну тему объединяются в группы, поэтому теперь вы сможете проще узнавать всё самое важное.

Не беспокоить

iOS 12 позволяет вам полностью контролировать уведомления, но иногда необходимо оградиться даже от сообщений и звонков. Режим «Не беспокоить» теперь можно включить на определённое время
или для выбранного места. Когда ваша встреча закончится или вы покинете заданную геопозицию, режим отключится автоматически.

Общий доступ к фото – Новый способ показать ваши самые удачные снимки.

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


Поиск Фото – Лучший способ найти нужные фотографии.

Поиск даёт подсказки, которые помогут найти нужный снимок
или освежить в памяти самые интересные моменты. Ещё до того, как вы начнёте писать запрос, вам будут предложены подсказки на основе недавних событий, встреч и мест. По мере набора текста подсказки будут становиться точнее — и вам останется только добавить несколько ключевых слов.

Быстрые команды Siri – Cделайте привычные дела проще.

Теперь Siri анализирует повседневные дела, для которых вы используете сторонние приложения, и в нужный момент даёт полезные советы прямо на экране блокировки. Можно активировать быстрые команды голосом или создавать собственные в новом приложении «Быстрые команды».

Конфиденциальность – iOS защищает ваши личные данные. Даже когда сайты этого не делают.

Создатели считают конфиденциальность неотъемлемым правом человека. Вот почему в состав iOS всегда входят система шифрования, функции интеллектуальной защиты и другие инструменты, которые обеспечивают безопасность вашей личной информации. В iOS 12 они усовершенствовали все эти функции. Теперь Safari запрещает сайтам без вашего разрешения отслеживать вас по нажатию кнопки «Поделиться» или по использованию виджетов для комментариев. Кроме того, Safari не позволяет рекламодателям собирать персональные данные вашего устройства с целью его отслеживания и показа целевой рекламы онлайн.

Новое приложение «Книги».

С обновлённым дизайном приложения «Книги» пользователю будет ещё проще читать любимую литературу.

Новый дизайн приложения «Акции».

Обновлённое приложение «Акции» позволяет легко следить за рынком ценных бумаг с помощью наглядных котировок и графиков. Впервые приложение доступно не только на iPhone, но и на iPad.

Диктофон теперь есть на iPad.

Самое популярное приложение для записи аудио на iPhone теперь доступно и на iPad. Используйте iCloud, чтобы голосовые заметки всегда были под рукой.

Автоматические надёжные пароли.

Уникальные пароли для всех приложений и сайтов создаются и сохраняются в Safari и других приложениях автоматически. Теперь можно использовать сложные пароли и не бояться их забыть.

Сторонние приложения для навигации в CarPlay.

Поддержка сторонних приложений навигации добавлена в CarPlay. Теперь водители могут выбирать знакомый интерфейс на приборной панели.

Больше информации об аккумуляторе.

График использования аккумулятора в Настройках теперь показывает данные за последние 24 часа или 10 дней. Выберите интересующий вас период времени, чтобы увидеть, какими приложениями вы пользовались.

Автозаполнение кода безопасности.'

Одноразовые пароли из SMS автоматически появляются в нужном поле. Теперь не придётся запоминать их и вводить вручную.

Siri теперь может гораздо больше.

Пользователь может смотреть результаты соревнований, проверять пароли и находить любимые Воспоминания.[Источник 1]

Особенности

Домашний экран

Домашний экран представляет собой панель, на которой отображаются значки всех приложений, установленных в системе. В случае нехватки места для значков, система создает дополнительную страницу, доступ к которой можно получить, смахнув пальцев влево или вправо. Также внизу экрана существует Dock, в котором пользователь добавляет часто используемые приложения. Данная панель не меняется при переходе на другую страницу. Чтобы получить доступ к домашнему экрану пользователь должен нажать кнопку Home или смахнуть пальцев вверх на iPhone X. Сверху расположены индикаторы заряда, время, уровень сигнала сотовой связи, и активные в текущий момент сервисы (Wi-Fi, Bluetooth, GPS и др.).

В iPhone OS 3 был представлен Spotlight, позволяющий пользователям искать носители, приложения, электронные письма, контакты, сообщения, напоминания, события календаря и аналогичный контент. В iOS 7 и более поздних версиях Spotlight можно получить, вытаскивая в любом месте главного экрана (кроме верхнего и нижнего краев, которые открывают Центр уведомлений и Центр управления).[Источник 2] В iOS 9 есть два способа доступа к Spotlight. Как и в случае с iOS 7 и 8, выключение на любом рабочем экране будет показывать Spotlight. Тем не менее, он также может быть доступен, как в iOS 3-6. Это дает Spotlight, наделенный предложениями Siri, которые включают в себя предложения, предложения и новости о контактах. В iOS 10 Spotlight находится в верхней части панели «Сегодня».[Источник 3]

Начиная с iOS 3.2, пользователи могут установить фоновое изображение для Начального экрана. Эта функция доступна только для устройств третьего поколения - iPhone 3GS, iPod touch третьего поколения (iOS 4.0 или новее), всех моделей iPad (начиная с iOS 3.2) или более новой.

Исследователи обнаружили, что пользователи создают значки на своих домашних экранах на основе частоты использования и связанных с ними приложений, а также из соображений удобства и эстетики.

Системный шрифт

Изначально Helvetica была основным системным шрифтом. С выпуском iPhone 4 и Retina Display был разработан шрифт Helvetica Neue. В бета версии iOS 7 Apple изменила шрифт на Helvetica Neue Light, что вызвало критику за неправильное использование тонкого шрифта для мобильных экранов с низким разрешением. В итоге Apple выбрала Helvetica Neue. В выпуске iOS 7 также появилась возможность масштабирования текста или применения других форм изменений доступности текста через «Настройки». В iOS 9 Apple изменила шрифт на San Francisco, разработанный Apple шрифт, нацеленный на максимальную удобочитаемость и соответствие шрифтов в линейке продуктов, однако тоже был встречен с критикой, но это не помешало Apple сделать его основным в системе.[Источник 4]

Папки

В iOS 4 появились папки, которые можно создать, перетащив приложение поверх другого. Заголовок для папки автоматически выбирается категорией приложений внутри, но имя также может быть отредактировано самостоятельно. Когда приложения внутри папок получают значки уведомлений, отдельные номера уведомлений складываются, и общее число отображается как значок уведомления в самой папке. Первоначально папки на iPhone могли включать до 12 приложений, в то время как папки на iPad могли включать в себя 20, но с увеличением размера дисплея в новых поколениях устройств, iOS 7 добавила в папки страницы, тем самым увеличив максимальный размер до 135 приложений в одной папке. В iOS 9 увеличился размер до 240 приложений в одной папке для iPad.[Источник 5]

Центр уведомлений

В iOS 5 Apple представила Центр уведомлений, который позволяет пользователям просматривать историю уведомлений. Пользователь может открыть соответствующее уведомление, которое перенесет его в соответсвующее приложение, или очистить его. Уведомления отображаются в баннерах, которые отображаются кратко в верхней части экрана. Пользователи также могут просматривать уведомления в модальных окнах оповещений, настраивая параметры уведомлений приложения. Представленные с помощью iOS 8 виджетов теперь доступны через Центр уведомлений.

Доступность

iOS предлагает различные функции доступности, которые помогают пользователям с нарушениями зрения и слуха. Одна из основных функций VoiceOver предоставляет информацию о чтении голосом с экрана, включая контекстные кнопки, значки, ссылки и другие элементы пользовательского интерфейса, а также позволяет пользователю перемещаться по операционной системе с помощью жестов. Любые приложения с элементами управления по умолчанию и разработанные с помощью платформы UIKit получают встроенную функциональность VoiceOver. Apple разработала технологию для использования Bluetooth и специальный технологический протокол, позволяющий совместимому стороннему оборудованию подключаться к iPhones и iPads для потоковой передачи звука напрямую в звуковые аппараты пользователя. Дополнительная настройка, доступная для продуктов Made for iPhone, включает в себя отслеживание батареи и настройки звука для разных сред. Apple приложила все усилия для обеспечения доступности для iOS 10 в 2016 году, добавив новый редактор произношения в VoiceOver, добавив параметр Magnifier для увеличения объектов через камеру устройства, поддержку программного обеспечения TTY для глухих людей для совершения телефонных звонков с iPhone и давая учебные пособия и рекомендации для сторонних разработчиков о включении в свои приложения надлежащих функций доступности.[Источник 6]

В 2012 году Лиат Корновски из The Atlantic писал, что «iPhone оказался одним из самых революционных событий с момента изобретения Брайля», а в 2016 году Стивен Акино из TechCrunch назвал Apple «лидером в вспомогательная технология», с Сарой Хэрлингер, старшим менеджером по глобальной политике и инициативам в области доступности в Apple, заявив, что «мы рассматриваем доступность как одно из основных прав человека. Основываясь на наших продуктах, мы предлагаем видение инклюзивного мира, где есть возможность и доступ к информация является безбарьерной, позволяющей людям с ограниченными возможностями достигать своих целей».

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

Многозадачность для iOS была впервые выпущена в июне 2010 года вместе с выпуском iOS 4. Но только некоторые устройства - iPhone 4, iPhone 3GS и iPod Touch третьего поколения поддерживали многозадачность. IPad не получал многозадачность до iOS 4.2.1 в ноябре. В настоящее время многозадачность поддерживается на iPhone 3GS и выше, iPod Touch третьего поколения и выше, и на всех моделях iPad.

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

До iOS 4 многозадачность ограничивалась выбором приложений Apple, входящих в состав устройства. Пользователи могли, однако, «джейлбрейк» их устройство, чтобы неофициально многозадачно. Начиная с iOS 4, на устройствах третьего поколения и новых iOS, многозадачность поддерживается через семь фоновых API:

  • Фоновый звук - приложение продолжает работать в фоновом режиме, пока оно воспроизводит аудио- или видеоконтент
  • Voice over IP - приложение приостанавливается, когда телефонный звонок не выполняется
  • Фоновое местоположение - заявка уведомляется об изменениях местоположения
  • Всплывающие уведомления
  • Локальные уведомления - расписание приложений для локальных уведомлений, которые должны быть доставлены в заданное время
  • Задание задачи - приложение запрашивает у системы дополнительное время для выполнения заданий
  • Быстрая переключение приложений - приложение не выполняет никакого кода и может быть удалено из памяти в любое время

В iOS 5 были введены три новых API:

  • Газетный киоск - приложение может загружать контент в фоновом режиме, чтобы быть готовым для пользователя
  • Внешний аксессуар - приложение взаимодействует с внешним аксессуаром и делится данными через определенные промежутки времени
  • Bluetooth-аксессуар - приложение взаимодействует с аксессуаром Bluetooth и регулярно делится данными

В iOS 7 Apple представила новую функцию многозадачности, предоставляя всем приложениям возможность выполнять фоновое обновление. Эта функция предпочитает обновлять наиболее часто используемые приложения пользователя и предпочитает использовать сети Wi-Fi через сотовую сеть без существенного сокращения времени автономной работы устройства.[Источник 7]

Переключение приложений

В iOS 4.0 до iOS 6.x двойной щелчок на домашней кнопке активирует коммутатор приложений. Прокручиваемый стыковочный интерфейс появляется снизу, перемещая содержимое экрана вверх. Выбор значка переключается на приложение. В крайнем левом углу находятся значки, которые функционируют как музыкальные элементы управления, блокировка вращения и iOS 4.2 и выше, контроллер громкости.

С введением iOS 7 двойной щелчок на домашней кнопке также активирует коммутатор приложений. Однако, в отличие от предыдущих версий, он отображает скриншоты открытых приложений поверх значка, а горизонтальная прокрутка позволяет просматривать предыдущие приложения, и можно закрыть приложения, перетащив их вверх, подобно тому, как WebOS обрабатывает несколько карт.

С введением iOS 9, коммутатор приложений получил значительное визуальное изменение; в то же время сохраняя метафору карты, представленную в iOS 7, значок приложения меньше и появляется над снимком экрана (который теперь больше, из-за удаления «последних и избранных контактов»), и каждая «карта» приложения накладывается на другую , формируя эффект rolodex по мере прокрутки пользователя. Теперь вместо главного экрана, появляющегося в крайнем левом верхнем углу переключателя приложений, он отображается справа. В iOS 11 коммутатор приложений получает крупную редизайн. В iPad сочетаются Control Center и приложение. Переходник приложений в iPad также можно получить, развернув снизу. В iPhone не удается получить доступ к переключателю приложений, если в ОЗУ нет приложений.

Завершение задач

В iOS 4.0 до iOS 6.x кратковременное удерживание значков в коммутаторе приложений делает их «покачиванием» (аналогично рабочему экрану) и позволяет пользователю принудительно выйти из приложений, нажав на красный круг минус, который появляется в углу значок приложения. Очистка приложений от многозадачности осталась неизменной с iOS 4.0 до 6.1.6, последней версии iOS 6.

Начиная с iOS 7, процесс стал быстрее и проще. В iOS 7 вместо того, чтобы удерживать значки, чтобы закрыть их, они закрываются, просто вытаскивая их вверх с экрана. До трех приложений можно очистить одновременно по сравнению с одним в версиях до iOS 6.1.6.

Завершение задачи

Запуск задачи позволяет приложениям продолжить выполнение определенной задачи после приостановки приложения. Начиная с iOS 4.0, приложения могут запросить до десяти минут для выполнения задачи в фоновом режиме. Это не распространяется на фоновый просмотр и скачивание (например, если вы загружаете приложение в одном приложении, оно не будет завершено, если вы отключаетесь от приложения).[Источник 8]

Siri

Siri - это интеллектуальный личный помощник, часть ОС. Взаимодействует с пользователем голосовыми запросами, отвечает на вопросы, дает рекомендации и выполняет действия. Используя технологии нейронных сетей подстраивается под конкретного пользователя, тем самым результаты индивидуализируются.

Появился впервые в феврале 2010 года, после чего был приобретен Apple спустя два месяца, а затем интегрирован в iPhone 4S в октябре 2011 года. В то же время отдельное приложение также было удалено из магазина приложений iOS.

Siri поддерживает широкий спектр пользовательских команд, включая выполнение действий телефона, проверку базовой информации, планирование событий и напоминаний, настройку параметров устройства, поиск в Интернете, навигацию по областям, поиск информации о развлечениях и возможность взаимодействия с iOS-интегрированными приложениями. С выпуском iOS 10 в 2016 году Apple открыла ограниченный сторонний доступ к Siri, в том числе сторонние приложения для обмена сообщениями, а также платежи, совместное использование поездок и интернет-приложения. С выпуском iOS 11 Apple обновила голоса Siri для более четких человеческих голосов, теперь она поддерживает последующие вопросы и перевод на язык, а также дополнительные действия сторонних разработчиков.[Источник 9]

Архитектура

XNU и Darwin

Условно начинку OS X / iOS можно разделить на три логических уровня (см. рис. 1): ядро 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.

Рисунок 1 – Устройство iOS

Фреймворки

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, который является всего лишь стандартным приложением, которое можно остановить, заменить или вообще удалить из системы (в этом случае на экране останутся вполне рабочие кнопки навигации и строка состояния со «шторкой»).[Источник 10]

Стороннее ПО

Другие приложения могут быть разработаны с помощью Xcode для Mac и iPhone, iPod Touch и iPad, Codea для iPad, и опубликованы в App Store – онлайн-магазине, который поставляется с самим iPhone/iPod touch/iPad, начиная с версии iPhone OS 2.0, и является крупнейшим магазином мобильных приложений (на июнь 2013 года – более 900 тыс. приложений для iOS, более 350 тыс. приложений специально для iPad).

Отличия от других мобильных систем

Оптимизация мобильной операционной системы

Стабильность и плавность работы системы смартфона – главные параметры для любого пользователя. Благодаря своей оптимизации, продуманному интерфейсу и одинаковым техническим комплектующим в лидеры этого показателя битвы iOs vs Android вырывается система от Apple.

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

Стабильность мобильных операционных систем

Как уже было указано в пункте выше, стабильность Android хромает. Это касается и технической части устройств: производители используют разные комплектующие, а некоторые из них не имеют официальной поддержки Google.

Ситуация с iOS получше: если и встречаются проблемы с технической начинкой устройство – дело не в системе, а в гаджете. Компания без проблем заменит ваше устройство на новое, но если вы все же захотели сделать откат iOS, то это тоже возможно.

Различия в технической поддержке Apple и Google

Компания Google предоставляет технический сервис только для “родной” версии операционной системы. За поддержкой для модифицированных версий Android стоит обращаться к компаниям-производителям.

iOS – закрытая система, что позволяет обеспечить 100% поддержку.[Источник 11]

Сравнительная таблица

Сравнительная таблица переведена ниже.

Платформа Windows Mobile 6.5.3 Windows Phone 7 BlackBerry OS 6.0 Symbian 3 Android 2.3.4 iOS 4.3.2
Компания Microsoft Microsoft Research In Motion Nokia Google Apple
Возраст 19 8 - 20 11 11
Исходный код Закрытый Закрытый Закрытый Открытый Открытый Закрытый
Тип ядра Гибридное Гибридное Незвестно Микроядро Монолитное Гибридное
Поддерживаемые архитектуры процессоров ARM ARM Текстячейки ARM, X86 ARM, X86 ARM
Дружественность 2 3 2 2 3 3
Производительность системы 1 3 2 1 3 2
Вычислительные затраты 2 3 3 2 3 3
Надежность 2 2 3 3 2 3
Отказоустойчивость 2 2 2 3 2 3
Преемственность 2 3 3 1 2 3
Многозадачность Да Нет Да Да Да Да
Официальный магазин приложений Да Да Да Да Да Да
Количество приложений в магазине на момент 2010 года - 11 26 54 206 333
Мультитач Да Да Да Да Да Да
Копирование/вставка Да Нет Да Да Да Да
Технология экрана Емкостная/Резистивная Емкостная Емкостная/Резистивная Емкостная/Резистивная Емкостная/Резистивная Емкостная
Обновление прошивки По воздуху/ По кабелю По воздуху/ По кабелю По воздуху/ По кабелю По воздуху/ По кабелю ТекПо воздуху/ По кабелюстячейки По кабелю
Место в мире - 5/2 4/4 2/5 1/1 3/3

Для анализа программных платформ будем использовать несколько критериев.

  1. Компания-разработчик данной мобильной операционной системы.
  2. Возраст – сколько лет на рынке.
  3. Исходный код. Может быть закрытым или открытым. Закрытый исходный код – как правило, это означает, что распространяются только откомпилированные версии платформы и лицензия подразумевает отсутствие доступа к исходному коду операционной системы; Открытый – означает, что исходный код доступен для просмотра, изучения и изменения, что позволяет стороннему разработчику принять участие в доработке самой системы.
  4. Тип ядра. Монолитное ядро предоставляет богатый набор абстракций оборудования. Все части монолитного ядра работают в одном адресном пространстве. Это такая схема операционной системы, при которой все компоненты её ядра являются составными частями одной программы, используют общие структуры данных и взаимодействуют друг с другом путём непосредственного вызова процедур. Микроядро предоставляет только элементарные функции управления процессами и минимальный набор абстракций для работы с оборудованием. Бо́льшая часть работы осуществляется с помощью специальных пользовательских процессов, называемых сервисами. Решающим критерием «микроядерности» является размещение всех или почти всех драйверов и модулей в сервисных процессах, иногда с явной невозможностью загрузки любых модулей расширения в собственно микроядро, а также разработки таких расширений. Гибридные ядра – это модифицированные микроядра, позволяющие для ускорения работы запускать «несущественные» части в пространстве ядра.
  5. Поддерживаемые архитектуры процессоров. Процессоры x86 – это микропроцессоры, поддерживающие одноимённый набор инструкций и обладающие микроархитектурой, производной от IA-32, то есть Intel Architecture 32-бит. Чипы построены на основе архитектуры CISC (Complex Instruction Set Computing, то есть «с полным набором инструкций»), в которой каждая инструкция может выполнять сразу несколько низкоуровневых операций. ARM-процессоры – 32-битные чипы на базе архитектуры RISC (Reduced Instruction Set Computer), то есть с сокращённым набором команд. В основу этой архитектуры положена идея повышения быстродействия за счёт максимального упрощения инструкций и ограничения их длины.
  6. Дружественность – оценка того, насколько неподготовленный пользователь сможет разобраться с системой.
  7. Производительность системы – насколько сложные и технически трудные операции может выполнять система.
  8. Вычислительные затраты – насколько быстро система обрабатывает определенную операцию.
  9. Надежность – свойство системы сохранять во времени способность выполнять требуемые функции.
  10. Отказоустойчивость – свойство технической системы сохранять способность правильно функционировать после отказа системы или некоторых ее частей.
  11. Преемственность – показывает, насколько компания-разработчик поддерживает обновление программной платформы на устройствах с устаревшей системой. Например, взять коммуникатор Motorola Milestone. При выпуске на нем был установлен Android 2.1., спустя год была выпущена Android 2.2. под него. Это не самый лучший показатель.
  12. Многозадачность – свойство операционной системы обеспечивать возможность параллельной (или псевдопараллельной) обработки нескольких процессов.
  13. Официальный магазин приложений создает компания-разработчик. Это электронный магазин, в который можно попасть прямо с мобильного устройства. В этом магазине компания-разработчик, а так же сторонние разработчики выкладывают свои приложения для бесплатного/платного скачивания пользователями.
  14. Количество приложений в магазине – данные от 27 апреля 2011 года.
  15. Мультитач – функция сенсорных систем ввода, осуществляющая одновременное определение координат двух и более точек касания.
  16. Копирование/вставка – возможность копировать и вставлять текст.
  17. Технология экрана. Резистивный экран представляет собой стеклянный жидкокристаллический дисплей, на который наложена гибкая мембрана. На соприкасающиеся стороны нанесён резистивный состав, а пространство между плоскостями разделено диэлектриком. По краям пластин закреплены электроды (четыре или восемь, пять или шесть и семь). Несложно догадаться, что при нажатии экран и мембрана соприкасаются в месте нажатия, координаты которого вычисляются путём последовательной подачи тока на верхнюю и нижнюю пластины и замеров напряжения в точке касания пластин. Именно поэтому на такой экран можно нажимать любым твёрдым предметом – от ногтя и стилуса до карандаша или спички, и он сработает. Ёмкостный сенсорный экран в общем случае представляет собой стеклянную панель, на которую нанесён слой прозрачного резистивного материала. По углам панели установлены электроды, подающие на проводящий слой низковольтное переменное напряжение. Поскольку тело человека способно проводить электрический ток и обладает некоторой ёмкостью, при касании экрана в системе появляется утечка. Место этой утечки, то есть точку касания, определяет простейший контроллер на основе данных с электродов по углам панели.
  18. Обновление прошивки По воздуху – обновление происходит через WiFi соединение либо через 3G прямо на мобильном устройстве. По кабелю – для этого необходимо подсоединить мобильное устройство к персональному компьютеру и с помощью специализированных программ установить обновление.
  19. Место в мире – учитываются темпы развития и нынешняя доля рынка на 29 марта 2011 года и прогноз на 2015 год.[Источник 12]

Источники

  1. iOS 12 // Apple [2019]. Дата изменения: 01.01.2019. URL: https://www.apple.com/ru/ios/ios-12/ (дата обращения: 17.01.2019).
  2. Apples iOS 7 brings quick Spotlight search access to every app page // AppleInsider [2018]. Дата изменения: 10.06.2013. URL: https://appleinsider.com/articles/13/06/10/apples-ios-7-embeds-search-bar-into-every-app-screen (дата обращения: 25.11.2018).
  3. iOS 10 will make you love your lock screen // The Verge [2018]. Дата изменения: 08.07.2016. URL: https://www.theverge.com/2016/7/8/12128150/ios-10-hands-on-preview-lockscreen (дата обращения: 25.11.2018).
  4. Why Apple abandoned the worlds most beloved typeface // Wired [2018]. Дата изменения: 01.06.2015. URL: https://www.wired.com/2015/06/apple-abandoned-worlds-beloved-typeface/ (дата обращения: 25.11.2018).
  5. iOS 9 lets you store 105 more apps per folder on the iPad // 9To5Mac [2018]. Дата изменения: 08.07.2015. URL: https://9to5mac.com/2015/07/08/new-folders-ios-9/ (дата обращения: 25.11.2018).
  6. When it comes to accessibility, Apple continues to lead in awareness and innovation // TechCrunch [2013–2018]. Дата изменения: 19.05.2016. URL: https://techcrunch.com/2016/05/19/when-it-comes-to-accessibility-apple-continues-to-lead-in-awareness-and-innovation/ (дата обращения: 25.11.2018).
  7. App Programming Guide for iOS // Apple Developer [2018]. Дата изменения: 27.03.2017. URL: https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html (дата обращения: 25.11.2018).
  8. iOS 9 vs. iOS 8: A look at the UI changes in iOS 9 // iPhone Hacks [2018]. Дата изменения: 17.06.2015. URL: http://www.iphonehacks.com/2015/06/ios-9-vs-ios-8-a-look-at-the-ui-changes-in-ios-9.html (дата обращения: 25.11.2018).
  9. Siri on iOS 11 gets improved speech and can suggest actions based on how you use it // The Verge [2018]. Дата изменения: 05.06.2017. URL: https://www.theverge.com/2017/6/5/15732136/apple-siri-update-announced-new-features-wwdc-2017 (дата обращения: 25.11.2018).
  10. Кау устроена iOS // Xakep [2000–2018]. Дата изменения: 08.10.2014. URL: https://xakep.ru/2014/10/08/kau-ustroena-ios/ (дата обращения: 25.11.2018).
  11. Ответ на вопрос: Какая ОС лучше – iOS или Android // BuyiTunes [2017]. Дата изменения: 13.03.2015. URL: http://buyitunes.net/ios-vs-android/ (дата обращения: 25.11.2018).
  12. Сравнительный анализ мобильных операционных систем // habr [2006–2018]. Дата изменения: 26.01.2012. URL: Сравнительный (дата обращения: 25.11.2018).