База ios что это
IOS — что это такое: подробно и простыми словами
IOS является мобильной операционной системой для продуктов компании Apple. Устанавливается на все модели смартфонов iPhone и, на некоторые планшеты iPad.
При выборе нового смартфона или планшета возникает вопрос — на какой ОС устройство будет лучше и быстрее работать? Хотя на рынке не так много мобильных операционных систем, IOS стоит столпом и знать, что это следует каждому.
Прошлый материал был посвящен тому, что такое айфон, там мы дали ему подробное определение и рассмотрели, как он повлиял на всю индустрию мобильных телефонов. Сейчас вы узнаете, что это такое айос и основные принципы ее работы.
Что такое IOS
IOS (айос) — это мобильная операционная система, созданная и разработанная компанией Apple исключительно для своих устройств. На ее основе работают iPhone и iPod Touch, раньше устанавливалась и на iPad до появления iPadOS в 2 019 году. Является второй по популярности операционной мобильной системой сразу после Андроид.
IOS была представлена публике в 2 007 году 29 июня с первым телефоном iPhone, после чего была портирована и на iPod Touch с iPad. Айос поддерживает установку сторонних приложений, которые позволяют решать множество различных задач и расширяют функционал устройства. На данный момент доступно более 2 миллионов приложений и игр, которые находятся в официальном магазине App Store.
Управление в IOS
Управление в IOS реализовано на основе манипуляций с помощью касаний, мультитач жестов и свайпов. Элементы управления состоят из различных ползунков, переключателей и кнопок. Взаимодействовать с ними нужно касаниями пальцев и жестами на сенсорном экране устройства. Такое взаимодействие запускает определенные функции в ОС, это может быть: запуск приложений и другого ПО, пролистывание, сжатие, увеличение и другие действия.
Также в операционной системе настроено взаимодействие и с модулями, которые есть на устройстве, к примеру, на айфоне установлен акселерометр — его используют некоторые приложения и сама система, чтобы реагировать, на положение телефона в пространстве, его встряхивание, вращение и т.д. Встряхивание, например, является сигналом отмены определенного действия.
Много похвалы Apple получила за дополнительные функции позволяющим пользоваться ОС людям с ограниченными возможностями.
Обновления
Обновления ОС выходят ежеквартально, а номерные версии приурочены обычно к выходу нового устройства в линейке iPhone и появляются каждый год.
В новых версиях обычно добавляются кое-какие новые функции и убираются старые. Появляется поддержка новых возможностей для телефонов, к примеру, улучшенная камера. Поддержка увеличенного количества ОЗУ и т.д. Также, выходят и бета версии, которые при желании можно протестировать и самому.
IOS плюсы и минусы — обзор
У IOS есть ряд преимуществ перед другими операционными системами. Именно они сделали данную ОС номером один при выборе смартфона.
Быстрая работа — является самой быстрой мобильной операционной системой. По одинаковым характеристикам телефонов — здесь конкурентов у IOS нет.
Удобство использования — после запуска и первичной настройки — больше от пользователя никаких действий не потребуется. Не будет выскакивать предложение очистить кеш, настроить расстояние до уха и много другого ненужного. Запустил — получил работающий телефон с качественной камерой и множеством приложений.
Безопасность и конфиденциальность — любая программа спрашивает согласие на обработку любых данных/программ, которые есть на вашем телефоне и без вашего на то согласия не может получить к ним доступ. Это же делает и бесполезными большинство вирусов, т.к. даже если такое ПО и будет запущено, то без согласия ничего сделать просто не сможет.
Интуитивный интерфейс и легкое управление — максимально удобный и понятный для пользователя. В нем очень трудно заблудится и вообще не разобраться. Все необходимые настройки находятся в одноименном меню и качественно сгруппированы. А основные функции вынесены в нижнюю и верхнюю шторку. Интерфейс является эталоном для всех мобильных телефонов, после выхода первого iPhone с Айос на ее основе и создавались другие ОС.
Много приложений — в магазине App Store уже более 2.1 миллиона приложений на любой вкус. Есть тысячи игр, книг и многое другое.
Удобная файловая система — все находится максимально просто и быстро. Структурированно и понятно. Нет никаких папочек — есть умный поиск и каталог.
Игры — Айос оптимизированная система и очень производительная, в игры играть одно удовольствие.
Множество функций — в IOS есть много различных возможностей и функций для пользователей. А приложения увеличивают функционал.
Поддержка людей с ограниченными возможностями — одна из лучших. Apple получила высокую оценку за ее реализацию.
SIRI — голосовой помощник, который может управлять всей системой и ее функциями. Можно в качестве голоса установить женский или мужской вариант.
Немного истории
В 2 005 году Стив Джобс начал планировать iPhone и перед ним стала необходимость в разработке новой мобильной операционной системы. За основу использовали Mac OS, что дало возможность многим разработчиком на этой ОС быстро привыкнуть к новой. Назвали ее iPhone OS.
ОС была выпущена вместе с первым iPhone в июне 2 007 года. Вначале она не поддерживала приложения, но Apple в том же году объявила, что разрабатывает комплект разработки программного обеспечения для нее — SDK. В марте 2 008 года они анонсировали iPhone SDK.
В июле 2 008 года был запущен App Store с всего 500 доступными приложениями. Он начал быстро пополняться, и к сентябрю приложений уже было 3 000, а к июлю 2 009 года уже 15 000. На данный момент их уже около 2 миллионов и постоянно добавляются новые.
В июне 2 010 года Apple переименовала iPhone OS в IOS. В октябре 2 016 года компания открыла академию разработчиков IOS в Неаполе, в которую и сейчас может поступить любой желающий.
App Store
App Store — это официальный магазин приложений и игр компании Apple для ее мобильной системы IOS и iPad OS. В нем есть миллионы различных приложений и игр на любой вкус.
Есть и бесплатный контент и платный. Это целая медиа библиотека, где каждый желающий может установить к себе на устройство программный продукт, который будет решать для него определенные задачи.
В App Store не пропускаются приложения, которые могут навредить пользователю, украсть его данные и другие потенциально опасные. Отбор идет строгий, поэтому он является защищенным и безопасным.
В заключение
Это были основные моменты, которые следует знать об операционной системе IOS. В дальнейшем линейка статей на тему продуктов компании Apple будет расширяться, и вы увидите еще много интересных и познавательных материалов.
Что такое Apple iOS. Краткий обзор операционной системы iOS для мобильных телефонов
Что такое iOS?
iOS — операционная система корпорации Apple, устанавливаемая ею на мобильные телефоны iPhone 3-13, планшеты iPad, а также на музыкальный плеер iPod.
Чем мне нравится данная операционная система:
ipa файл — файл программы для установки на iOS. Система имеет встроенный браузер Safari. Новая версия выходит раз в году.
AppStore — магазин программ для устройств на iOS. Самое большое количество программ для мобильных телефонов. Приложение есть на каждом из устройств и его нельзя удалить. Для работы приложения нужен AppleID
Цена программы в пределах от 0.99 доллара до нескольких тысяч долларов. Для покупки программ требуется привязка к аккаунту пользователя дебетовой карты Visa. После того, как вы привязали карту, с вас снимается доллар, чтобы проверить, все ли в порядка с вашей картой. 1 доллар блокируется на карте, однако через некоторое время он возвращается.
Apple ID — ваш аккаунт в операционной системе iOS. У вас может быть несколько аккаунтов. Все программы, которые вы покупаете, привязываются к данному аккаунту. Если вы зайдете с другого устройства под своим аккаунтом, все платные программы, которые вы купили раннее, можно будет скачать бесплатно.
Как обновить iOS?
Для обновления на новую версию iOS есть iTunes.
iTunes — ключевая программа для пользователей i-девайсов. Через нее происходит активация устройства, закачка музыки, аудиокниг и т.д. Скачать ее можно с сайта Apple. Также данная программа позволяет скачивать и производить обновление устройств на iOS. Нужно подключить устройство и справа на странице программа высветит возможность обновления. Перед обновлением отключите все антивирусы и фаерволы.
Текущую версию iOS вашего устройства можно посмотреть через Настройки — Основные — Об устройстве — Версия
Список фич iOS меняется от версии к версии. Начиная с 5й версии появилась интеграция с iCloud или с облаком.
Как это работает? — все достаточно просто. У тех программ, у которых есть интеграция с iCloud при вводе данных на одном устройстве они автоматом появляются на другом устройстве.
Добавление новых фич ведется от версии к версии.
Недостатки Apple iOS
У системы компании Apple есть ряд существенных недостатков.
Что такое iOS в устройствах Apple: какие модели поддерживают
Ежедневно по всему миру продается огромное количество устройств от корпорации Apple. «Яблочники» есть у многих, но далеко не все разбираются в их устройстве, не знают принципов работы операционной системы iOS – что это такое? Как расшифровывается и как работает iOS?
Что такое iOS
Итак, iOS – что это? Так называется операционная система, разработанная для различных гаджетов (смартфонов, планшетов, проигрывателей) от компании Apple. Она впервые появилась в 2007 году и была разработана для iPhone и iPod. С 2014 года система работает на iPad. Отличительная особенность данной ОС от Android заключается в том, что она не поддерживается на устройствах других производителей.
iOS — что это такое для чайников? Говоря проще, это набор функций, опций и команд, которые отвечают за нормальное функционирование устройства. За счет операционной системы айфона человек может звонить, писать сообщения, играть и выполнять другие задачи. А все началось с того, что основатель крупнейшей корпорации Apple Стив Джобс задумал реализовать планы, касающиеся создания сенсорного монитора компьютера. Но впоследствии он передумал, решив, что такая идея лучше сочетается с мобильным устройством.
Стив Джобс презентует новый айфон
Обратите внимание! Операционная система iOS была разработана на базе другой – OS X, которая сейчас носит название macOS. Она была презентована вместе с первым телефоном компании iPhone 2G.А.
Как переводится и расшифровывается iOS
Многих интересует, что это «айос» означает на английском. Расшифровка аббревиатуры простая – «i» указывает на принадлежность к продуктам компании Apple, подобно iPhone, iPad. В свою очередь OS – это Operating System, что может переводиться как «оперативная система». Еще один вопрос, волнующий пользователей – как произносится iOS? На самом деле все просто, слово читается как «айос».
Куда важнее написания – функциональные возможности и отличия от других популярных операционных систем, в частности Андроид. Именно этот вопрос будет рассмотрен далее.
Чем iOS отличается от других операционных систем
Что такое айос было рассмотрено, теперь можно перейти к вопросу, что такое iOS устройство и к ключевым особенностям данной операционной системы. К ним относятся:
Сравнение iOS и Android
Обратите внимание! Разработчики постоянно работают над улучшениями имеющейся ОС. Они готовы прислушиваться к пользователям, активно используют обратную связь для общения с ними.
Встроенные функции iOS
Главная черта iOS – огромный набор встроенных опций, к которым относят:
Встроенные функции на айфоне
Обратите внимание! Помимо встроенных функций и приложений пользователь может самостоятельно устанавливать расширения и программные комплексы, скачивать их бесплатно из мобильного приложения App Store или на одноименном сайте.
Какие существуют версии iOS и чем они отличаются друг от друга
Платформа iOS поддерживается на iPhone, iPad, iPod. Разработчики и инженеры корпорации Apple беспрерывно работают над усовершенствованием операционной системы. В этой связи они регулярно, обычно ежегодно, выпускают новые версии ОС. Каждая последующая – лучше предыдущей, поскольку в ней исправлены ошибки, неточности, баги. Более новая версия ОС iOS может не поддерживаться на устаревшем устройстве. Например, iOS 10 Не способна работать на айфоне 5 S.
Обратите внимание! Узнать, какая версия системы iOS установлена на устройстве можно в настройках, выбрав пункт «О телефоне».
Итак, на вопрос, что такое iOS в айфоне можно ответить, что это полный набор функций, отвечающих за функционирование устройства. Так какие же есть версии этой операционной системы и чем они отличаются между собой.
iOS 1 – появление iPhone
Первый iPhone стал сенсацией на рынке телефонов. Это был настоящий технический прорыв. Тем не менее, первая операционная система обладала крайне малым набором функций и опций. Можно выделить следующие основные минусы первого девайса от Apple:
Все недостатки удалось компенсировать уникальным, лаконичным и стильным внешним видом. Поэтому телефон разошелся в короткие сроки огромными партиями. Но разработчики, естественно, не остановились на достигнутом и спустя некоторое время выпустили следующую версию.
Обновление iOS 1
Обновление вышло уже через три месяца после первого официального релиза. Разработчики внесли следующие изменения:
Такими быстрыми, но грамотными и качественными изменениями компания указала на свои серьезные побуждения, касающиеся продвижения в данной области.
iOS 2
Следующая версия была презентована в июле 2008 года совместно с новой версией смартфона iPhone 3G. Главные особенности данного обновления:
Обратите внимание! Версия iOS 2 считается наиболее неудачной, поскольку уже за первый месяц использования в форму обратной связи пришло немало писем и обращений с просьбой устранить различные баги.
iOS 3
Была презентована в июне 2009 года вместе с новым устройством iPhone 3G S. Данная ОС не имела принципиальных изменений, но появились некоторые опции:
Данная версия стала намного лучше предыдущей, тем не менее и для нее нашлась замена.
iOS 4
Вышла в июне 2010 года. Ключевые изменения коснулись следующих пунктов:
Изменения в операционной системе во многом определялись улучшением самих мобильных устройств. Так, например, Face Time возник после добавления фронтальной камеры, чтобы пользователи могли вести беседы видя друг друга.
iOS 5
Вышла совместно с новой версией телефона iPhone 4 S осенью 2011 года. Теперь пользователям открылись новые возможности:
Основный минус данной версии – малое время жизни аккумулятора.
iOS 6
Вышла совместно с iPhone 5 осенью 2012 года. Данная версия открыла пользователям новые возможности:
На смену пришла новая версия.
iOS 7
Вышла осенью 2013 года, предлагая следующее:
Данная версия стала настоящим прорывом. В то время лидером на рынке были телефоны на базе Android и мало кто знал, что это такое айос, но после выхода седьмой версии именно она заняла первое место. С данного момента развитие корпорации пошло семимильными шагами. Каждая новая версия поражала пользователей, побуждая их скупать все устройства Apple. К настоящему времени к выходу готовится уже 14 версия.
iOS 14
Дата выхода запланирована на конец сентября 2020 года. Чего ждать пользователям:
Полный перечень компания Apple пока не выпустила, поэтому пользователям остается лишь догадываться и отправлять обращения в форму обратной связи.
Сравнение версий iOS
Преимущества и недостатки iOS для iPhone
Почему iPhone так популярен? Объясняется это рядом плюсов, к которым относят:
Преимущества и недостатки iOS
Вместе с тем имеются и недостатки. Прежде всего, это высокая стоимость девайсов, которая во много раз превышает стандартную цену на устройства. Пользователи также отмечают другие неисправности и баги, но, как показывает практика, они исправляются в новых версиях iOS.
Кау устроена 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-го, кроме слухов, не было известно почти ничего.
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 реализует лишь базовую часть 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 приложение ограничено в следующих возможностях:
Все эти ограничения соответствуют sandbox-профилю (набору ограничивающих правил) container и применяются к любому стороннему приложению. Для стоковых приложений, в свою очередь, могут применяться другие ограничения, более мягкие или жесткие. В качестве примера можно привести почтовый клиент (профиль MobileMail), который в целом имеет такие же серьезные ограничения, как и сторонние приложения, но может получить доступ ко всему содержимому каталога Library/. Обратная ситуация — SpringBoard, вообще не имеющий ограничений.
Вторая проблема — это защита системы от самой себя и пользователя. Баги могут существовать как в стоковом софте от Apple, так и в головах юзеров. Sandbox защищает от обоих. Даже если злоумышленник найдет дыру в Safari и попытается ее эксплуатировать, он все равно останется в песочнице и не сможет навредить системе. А юзер не сможет «сломать свой любимый телефончик» и не напишет гневных отзывов в адрес Apple. К счастью, знающие люди всегда могут сделать jailbreak и обойти защиту sandbox (собственно, в этом и есть смысл джейлбрейка).
Многозадачность
Одна из самых спорных особенностей iOS — это реализация многозадачности. Она вроде бы и есть, а с другой стороны, ее нет. В сравнении с традиционными настольными ОС и пресловутым Android iOS не является многозадачной операционной системой в привычном смысле этого слова и не позволяет приложениям свободно работать в фоне. Вместо этого ОС реализует API, который приложение может использовать для выполнения отдельных задач, пока оно находится в фоновом режиме.
Впервые такой API появился в iOS 4 (до этого фоновые задачи могли выполнять только стоковые приложения) и наращивался по мере развития операционной системы. Сегодня (речь идет об iOS 7) так называемый Background API позволяет делать следующее:
Такие ограничения на работу в фоне необходимы в первую очередь для того, чтобы сохранить заряд батареи и избежать лагов интерфейса, так знакомых пользователям Android, где приложения могут делать в фоне все что захотят. На самом деле Apple настолько сильно заботится о сохранении батареи, что даже реализовала специальный механизм для группировки фоновых действий приложений и их запуска в нужные моменты, например тогда, когда смартфон активно используется, подключен к Wi-Fi-сети или к зарядному устройству.
Выводы
Стоит сказать, что за время своего развития и последующего переезда в мобильные девайсы NeXTSTEP не только не растеряла все свои достоинства, но и приумножила их. Можно долго слушать россказни сотрудников Google, уверяющих, что Android разрабатывался без оглядки на iOS, но факт остается фактом: многие архитектурные решения Android позаимствовал именно у iOS. И не потому, что так было проще, а благодаря их красоте и эффективности.
Шесть стадий загрузки iOS
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, конечная цель которых — не загрузить ОС, а перевести смартфон в режим обновления.
Евгений Зобнин
Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.