Статьи
Сравнение iPhone OS 1.0 с iOS 14 с помощью карт
Когда в 2007 году была выпущена iPhone OS 1.0, она изменила определение смартфона как устройства с ограниченным набором функций. В настоящее время iOS 14 содержит невероятное количество компонентов.
Если вы следили за недавними событиями от Apple, то, вероятно, видели рентгеновские изображения A14 и M1. Это заставило меня задуматься о том, что вы увидите, если сможете просветить iOS рентгеновскими лучами …
В моей предыдущей статье об эволюции языков программирования с iPhone OS 1.0 до iOS 14 я проанализировал iOS на основе количества двоичных файлов и их языков программирования. Как я указывал в прошлой публикации, размер двоичных файлов не принимался во внимание. В этой новой статье я рассматриваю iPhone OS 1.0 и iOS 14 с точки зрения размера с использованием древовидных карт.
Методология
Для создания изображений в этой статье я взял корневую файловую систему (включая общий кеш dyld) каждого основного выпуска iOS:
- iOS 14.0 (18A373) iPhone X
- iOS 13.1 (17A844) iPhone X
- iOS 12.0 (16A366) iPhone X
- iOS 11.1 (15B93) iPhone X
- iOS 10.1 (14B72) iPhone 5s
- iOS 9.0 (13A344) iPhone 5s
- iOS 8.0 (12A365) iPhone 5s
- iOS 7.0.1 (11A470a) iPhone 5s
- iOS 6.0 (10A403) iPhone 3GS
- iOS 5.0 (9A334) iPhone 3GS
- iOS 4.0 (8A293) iPhone 3GS
- iPhone OS 3.0 (7A341) iPhone 3GS
- iPhone OS 2.0 (5A347) iPhone 2G
- iPhone OS 1.0 (1A543a) iPhone 2G
Затем я создал древовидную карту. Возможно, вы знакомы с древовидными картами, поскольку они часто используются для визуализации иерархии файлов, чтобы дать вам графический обзор структуры. Одной из ключевых характеристик является то, что каждый файл отображается в виде прямоугольника с площадью, пропорциональной размеру файла. Древовидные карты, показанные в этой статье, были созданы с использованием великолепной GrandPerspective и аннотированы с помощью Pixelmator.
iPhone OS 1.0
Давайте посмотрим, что вы бы увидели, если бы сканировали iPhone OS 1.0 с помощью рентгеновских лучей:
На диаграмме ниже показаны некоторые из основных функциональных блоков:
Можно заметить, что:
- Структура довольно проста и имеет сходство с macOS
- Фреймворки занимают более трети всей ОС
- Шрифты занимают более 25% всей операционной системы
Мы можем спуститься на один уровень глубже и определить все компоненты:
Из списка компонентов мы можем четко определить все основные функции iPhone OS 1.0:
- Телефон
- SMS
- Погода
- Часы
- Почта
- Safari + Интернет
- Календарь
- Карты
- Обои на стену
- Рингтоны
- Офисная поддержка
- Аудиоплеер
- Видео-плеер
- …
Стоит упомянуть пару компонентов:
- Фреймворк UIKit занимает более 13% от общего размера
- Обои и рингтоны дают 6%
- ICU (International Components for Unicode) занимает более 5%
- SpringBoard составляет примерно 2%
Перенесемся на несколько лет вперед
Я не буду вдаваться в подробности о каждом выпуске iOS, но вы можете проверить древовидные карты от iPhone OS 2.0 до iOS 13.1 здесь:
Обратите внимание, что количество блоков увеличивается с каждым новым релизом iOS, а компоненты становятся меньше.
iOS 14
Сейчас 2020 год, и доступна iOS 14. Неудивительно, что iOS 14 намного сложнее, чем iPhone OS 1.0:
На схеме показаны функциональные блоки в iOS 14:
Мы можем отметить, что основная структура все еще довольно похожа на исходную версию iPhone OS 1.0: шрифты, фреймворки, приложения, библиотеки, /usr… все еще здесь.
Однако есть пара больших отличий:
- iOS 14 содержит множество предустановленных ассетов (Preinstalled Asset) и лингвистических данных (Linguistic Data). Насколько я могу судить, эти компоненты используются для машинного обучения на устройстве: детектор языка, голоса, токенизаторы, вокализаторы и т.д.
- Общий кеш dyld, механизм кэширования, представленный в iPhone OS 3.1, приводит к разделению Frameworks и Private Frameworks на несколько областей. Общий кеш dyld отмечен на диаграмме красным прямоугольником.
- Здоровье — это, несомненно, важная функция iOS 14.
В iOS 14 так много компонентов, что идентифицировать их все намного сложнее. Тем не менее я попробовал:
Хотя сейчас сложно перечислить все особенности, есть несколько явных тенденций:
- iOS 14 оснащена технологиями машинного обучения на устройстве: обнаружением лиц, глубокими сверточными сетями, фреймворками машинного зрения, распознаванием текста, нейронной сетью и т.д.
- С камерой и фотографиями связано множество компонентов: эффекты, Воспоминания, обработка видео, библиотека фотографий…
- Siri и голоса хорошо видны.
- Как мы уже упоминали, Здоровье — важная функция.
- Мы можем выделить несколько функций, добавленных за эти годы: HomeKit, Watch, CarPlay, Spotlight, Emoji, News, iWork, Wallet, Shortcuts, ARKit…
Дополнительная статистика:
- Шрифты теперь составляют менее 6% от размера.
- Лингвистические данные составляют почти 8% от размера.
- Хотя после iPhone OS 1.0 размер ICU увеличился более чем в 3 раза, сейчас он составляет примерно 0.5% от общего количества.
Сравнение iPhone OS 1.0 с iOS 14.0
Для удобства чтения все предыдущие древовидные карты в этой статье были показаны с одинаковым размером. Если мы представим iPhone OS 1.0 рядом с iOS 14 с пропорциональной областью, вы увидите, что вся iPhone OS 1.0 в основном принимает размер обоев iOS 14:
Вывод
Когда в 2007 году была выпущена iPhone OS 1.0, она изменила определение смартфона как устройства с ограниченным набором функций. В настоящее время iOS 14 содержит невероятное количество компонентов. Рассматривая их по размеру, мы можем определить наиболее важные особенности. Таким образом, мы отчетливо видим, что Apple продвигает ИИ и машинное обучение на устройствах вместе с такими технологиями, как обнаружение объектов в изображениях и видео, анализ языка, классификация звука и распознавание текста.