Операционная система iOS. Что это такое? Тип операционной системы ios
iOS — операционная система (ОС) для мобильных устройств, выпущенная компанией Apple в 2007 году. В отличие от конкурирующих систем подходит только для различных мобильных устройств марки Apple.
Главным конкурентом является ОС от компании Google. Но в последнее время эти системы всё больше становятся похожи между собой, перенимая положительные аспекты друг у друга. Android, глядя на iOS, становится ближе к пользователям: сюда относится как простота и удобство работы «из коробки», так и эстетика интерфейса. iOS же в свою очередь наращивает функциональность и расширяет возможности индивидуальной настройки.
Преимущества iOS
Качество приложений (AppStore)
AppStore — это интернет-магазин приложений для iOS, созданный компанией Apple в 2008 году.
По причине того, что в App Store строгий фильтр допуска приложений к публикации, на устройства могут быть установлены только по-настоящему качественные приложения. Большинство из приложений платные по причине того, что разработчики вкладывают много сил в разработку и тестирование и совсем не хотят потерять своих клиентов и опуститься в рейтинге, выпуская сырой продукт.
Простое обновление
Переход с релиза на релиз ОС осуществляется одним нажатием и доступно сразу после релиза и публикации нового обновления. При этом о необходимости произвести обновление пользователя уведомит сам девайс. В отличие от конкурирующих платформ, iOS поддерживает устройства, выпущенные более года назад, тем самым
не заставляет своих клиентов приобретать новое более мощный гаджет, после выхода нового программного обеспечения.
Обновления приложений осуществляется также одним нажатием, причем в настройках можно задать автоматическую загрузку и установку обновлений, после чего вы можете быть уверены, что ваши программы всегда будут пребывать в актуальном состоянии.
Лучшие приложения публикуются в AppStore первыми
Многие разработчики предпочитают вначале выпустить приложение на iPhone, и только через некоторое время написать аналог под Android и Windows Phone. Связано это с качественной средой разработки и удобными инструментами для создания новых приложений.
Единая экосистема
Экосистема мобильных устройств Apple (т.е. интеграция или взаимодействие различных гаджетов) самая развитая на рынке. Их оптимизация поражает, ведь компания производит и аппаратную, и программную часть сама. Это значит, что операционная система максимально оптимизирована под конкретное устройство. А набор устройств, связанных между собой аккаунтом Apple ID позволяет синхронизировать данные между собой, делая работу легче и продуктивнее.
Теперь не нужно думать о том, как переслать информацию с одного гаджета на другое, вы просто продолжаете работать. Потому что доступ к вашим документам имеют все ваши девайсы.
Удобный и простой для освоения интерфейс
Взяв любой аппарат Apple в руки, вы уже будете знать как им пользоваться. Это стало возможным благодаря интуитивно понятному интерфейсу, который создавался таким образом, чтобы его смог без труда освоить каждый. На домашнем экране расположены все встроенные приложения, достаточно доли секунды, чтобы бросить взгляд на экран и узнать погоду, новости, время и многое другое.
Надежность
По исследованию компании Strategy Analytics, техника Apple показывает более чем в 2 раза большую надежность по сравнению с аппаратами своих конкурентов.
Безопасность
Достигается за счет закрытости платформы, благодаря чему
вы можете забыть о таких технологических понятиях как «компьютерные вирусы».
Но защита обеспечивается не только от виртуальных атак, защитить ваш девайс от воров поможет функция «Найти iPhone» и сканер отпечатков пальцев (Touch ID).
И это не весь список достоинств системы. Список недостатков гораздо скромнее.
Недостатки iOS
Не универсальная система
Да, за безопасность приходится платить: вы не сможете установить систему на устройство другого производителя, не сможете добавить новую функцию или расширить возможности, не нарушив пользовательского соглашения.
Ограничение передачи файлов через Bluetooth
Имея на своем борту Bluetooth, iPhone не может передать файл на устройство другого производителя, но данный недостаток легко решается отправкой файла на «облако».
Закрытая файловая система
Производитель позаботился о систематизации файлов на устройстве, но не всем пользователям это нравится.
Платные приложения, музыка и фильмы
Многие считают это недостатком, но разве за труд разработчиков и авторов не нужно платить?
Таким образом, система может похвастаться удобством, стабильностью, безопасностью и простотой использования, что для многих пользователей вполне достаточно.
IOS 7 против Windows Phone 8
- Поддерживается на iPhone XR и новее.
- Требуется подписка на iCloud с объёмом хранилища 200 ГБ или 2 ТБ и устройство управления умным домом, например Apple TV или iPad.
- Функция доступна в некоторых городах США.
- Новые карты некоторых городов и штатов в конце 2019 года станут доступны в США, а в 2020 году - в других странах.
- Доступно на iPhone 8 или новее и iPod touch (7‑го поколения), при этом на устройстве должна быть установлена новейшая версия iOS.
- Поддерживается при использовании AirPods 2‑го поколения. Голосовой помощник Siri доступен на iPhone 4s или новее, iPad Pro, iPad (3‑го поколения или новее), iPad Air или новее, iPad mini или новее и iPod touch (5‑го поколения или новее). Требуется подключение к интернету. Голосовой помощник Siri может быть доступен не на всех языках и не во всех регионах. Возможности Siri также могут различаться. За передачу данных по сотовым сетям может взиматься плата.
- Тестирование проводилось компанией Apple в мае 2019 года на образцах iPhone X и iPhone XS Max с поддержкой пиковой производительности и на iPad Pro 11 дюймов с использованием iOS 12.3 и предварительных версий iPadOS и iOS 13. Для вывода устройств из режима сна использовалась боковая или верхняя кнопка. Производительность зависит от конкретной конфигурации, контента, ёмкости аккумулятора, использования устройства и других факторов.
- Тестирование проводилось компанией Apple в мае 2019 года на образцах iPhone XS с поддержкой пиковой производительности и на iPad Pro 11 дюймов с использованием iOS 12.3 и предварительных версий iPadOS и iOS 13. Для тестирования использовались сторонние приложения, перекомпонованные в предварительной версии серверной среды App Store; сведения о меньшем размере скачиваемых файлов приложений основаны на среднем значении, полученном для выборки наиболее часто используемых приложений. Производительность зависит от конкретной конфигурации, контента, ёмкости аккумулятора, характера использования устройства, версий программного обеспечения и других факторов.
- Поддерживается на iPhone XR или новее, iPad Pro 11 дюймов, iPad Pro 12,9 дюйма (3‑го поколения), iPad Air (3‑го поколения) и iPad mini (5‑го поколения).
- Функции могут быть изменены. Некоторые функции, приложения и сервисы могут быть доступны не во всех регионах и не на всех языках.
- Фильм
Все в курсе, что мобильные девайсы 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-го, кроме слухов, не было известно почти ничего.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 для сторонних и стоковых приложенийINFO
Как и во многих других ОС, 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).
Многозадачность
Одна из самых спорных особенностей iOS - это реализация многозадачности. Она вроде бы и есть, а с другой стороны, ее нет. В сравнении с традиционными настольными ОС и пресловутым Android iOS не является многозадачной операционной системой в привычном смысле этого слова и не позволяет приложениям свободно работать в фоне. Вместо этого ОС реализует API, который приложение может использовать для выполнения отдельных задач, пока оно находится в фоновом режиме. Впервые такой API появился в iOS 4 (до этого фоновые задачи могли выполнять только стоковые приложения) и наращивался по мере развития операционной системы. Сегодня (речь идет об iOS 7) так называемый Background API позволяет делать следующее:- проигрывать аудио;
- совершать VoIP-звонки;
- получать информацию о смене местоположения;
- получать push-уведомления;
- планировать отложенный вывод уведомлений;
- запрашивать дополнительное время для завершения работы после перехода в фоновый режим;
- обмениваться данными с подключенными к девайсу аксессуарами (в том числе Bluetooth);
- получать и отправлять данные по сети (начиная с iOS 7).
Выводы
Стоит сказать, что за время своего развития и последующего переезда в мобильные девайсы NeXTSTEP не только не растеряла все свои достоинства, но и приумножила их. Можно долго слушать россказни сотрудников Google, уверяющих, что Android разрабатывался без оглядки на iOS, но факт остается фактом: многие архитектурные решения Android позаимствовал именно у iOS. И не потому, что так было проще, а благодаря их красоте и эффективности.Шесть стадий загрузки iOS
- Boot ROM . После включения устройства первым запускается минималистичный загрузчик, прошитый в постоянную память устройства. Его задача - произвести начальную инициализацию железа и передать управление первичному загрузчику LLB. Boot ROM всегда имеет заводскую прошивку и не может быть обновлен.
- Low Level Bootloader (LLB) . Далее управление получает LLB. Это первичный загрузчик, задача которого - найти в памяти устройства iBoot, проверить его целостность и передать ему управление либо переключить девайс в режим восстановления, если это не удалось. Код LLB хранится в NAND-памяти устройства и обновляется вместе с установкой новой версии прошивки. Кроме всего прочего, он выводит на экран загрузочный логотип.
- iBoot . Это вторичный и основной загрузчик айдевайсов. Он включает в себя драйвер файловой системы, с помощью которого получает доступ к содержимому NAND-памяти, находит ядро и передает ему управление. В iBoot также встроен драйвер UART, с помощью которого можно производить отладку ядра и ОС, подключив девайс к COM-порту или USB-порту компа (с помощью кабеля USB - UART).
- Поддерживается на iPhone XR и новее.
- Требуется подписка на iCloud с объёмом хранилища 200 ГБ или 2 ТБ и устройство управления умным домом, например Apple TV или iPad.
- Функция доступна в некоторых городах США.
- Новые карты некоторых городов и штатов в конце 2019 года станут доступны в США, а в 2020 году - в других странах.
- Доступно на iPhone 8 или новее и iPod touch (7‑го поколения), при этом на устройстве должна быть установлена новейшая версия iOS.
- Поддерживается при использовании AirPods 2‑го поколения. Голосовой помощник Siri доступен на iPhone 4s или новее, iPad Pro, iPad (3‑го поколения или новее), iPad Air или новее, iPad mini или новее и iPod touch (5‑го поколения или новее). Требуется подключение к интернету. Голосовой помощник Siri может быть доступен не на всех языках и не во всех регионах. Возможности Siri также могут различаться. За передачу данных по сотовым сетям может взиматься плата.
- Тестирование проводилось компанией Apple в мае 2019 года на образцах iPhone X и iPhone XS Max с поддержкой пиковой производительности и на iPad Pro 11 дюймов с использованием iOS 12.3 и предварительных версий iPadOS и iOS 13. Для вывода устройств из режима сна использовалась боковая или верхняя кнопка. Производительность зависит от конкретной конфигурации, контента, ёмкости аккумулятора, использования устройства и других факторов.
- Тестирование проводилось компанией Apple в мае 2019 года на образцах iPhone XS с поддержкой пиковой производительности и на iPad Pro 11 дюймов с использованием iOS 12.3 и предварительных версий iPadOS и iOS 13. Для тестирования использовались сторонние приложения, перекомпонованные в предварительной версии серверной среды App Store; сведения о меньшем размере скачиваемых файлов приложений основаны на среднем значении, полученном для выборки наиболее часто используемых приложений. Производительность зависит от конкретной конфигурации, контента, ёмкости аккумулятора, характера использования устройства, версий программного обеспечения и других факторов.
- Поддерживается на iPhone XR или новее, iPad Pro 11 дюймов, iPad Pro 12,9 дюйма (3‑го поколения), iPad Air (3‑го поколения) и iPad mini (5‑го поколения).
- Функции могут быть изменены. Некоторые функции, приложения и сервисы могут быть доступны не во всех регионах и не на всех языках.
- Фильм