byn1970 (byn1970) wrote,
byn1970
byn1970

Очередная жертва маркетинга и глобализации. Blackberry 10.

В 2017 году на рынке мобильных ОС сложилась фактическая дуополия: Google конкурирует с Apple, Android уверенно вытесняет iOS на большинстве рынков. Но еще несколько лет назад ситуация выглядела иначе. Вполне неплохо себя чувствовала Microsoft с ее Windows Phone, и пусть на четвертом месте, но вполне ощутимо на рынке присутствовала BlackBerry с собственной ОС BlackBerry 10.
Что это за система и как так получилось, что она практически исчезла с рынка? В этой статье мы обсудим особенности BlackBerry 10 и ее отличия от Android и iOS, полюбуемся на пользовательский интерфейс и проверим заявления маркетологов о безопасности этой ОС.


Архитектура BlackBerry 10

Открытый исходный код, регулярные обновления, сообщества разработчиков — все это не про BlackBerry 10. BlackBerry 10 была разработана на основе операционной системы QNX канадской компанией RIM (Research In Motion), позднее переименованной в BlackBerry Inc. QNX (читается «кьюникс») — ОС реального времени, основанная на архитектуре микроядра. Когда-то ее предустанавливали на машинное и телекоммуникационное оборудование, встраивали в бортовые ПК автомобилей, в сетевое оборудование Cisco (IOS XR, до 2013 года), и наконец она оказалась в смартфонах.

Что такое QNX и что может дать микроядро в применении к мобильной ОС? Возьмем, к примеру, Android. Он построен на ядре Linux, включающем в себя как собственно базовые сервисы ОС (управление процессами и потоками, обмен сигналами и сообщениями, таймеры и синхронизация), так и огромный пласт подсистем и сервисов. В ядро Linux входят все драйверы аппаратной части устройства, драйверы файловой системы, сетевой стек и даже такие вещи, как поддержка CIFS.

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

В BlackBerry 10 используется очень компактное микроядро QNX Neutrino, внутри которого работают планировщик процессов, система обмена сообщениями, обработчик исключений и таймеры. Все остальное: все драйверы, файловые системы, службы и приложения — исполняется в пространстве пользователя в виде отдельных процессов. И все они общаются друг с другом через микроядро, которое выступает диспетчером сообщений от одного компонента системы к другому.

В такой архитектуре ошибка в драйвере сетевой карты приведет… да в общем-то, ни к чему не приведет. В лучшем случае драйвер просто упадет, и система его перезапустит и переконфигурирует. В худшем — взломщик окажется в ловушке этого драйвера: сам-то драйвер взломан, но что делать дальше? Хорошо, можно запустить другую службу, чтобы открыть «черный ход», но вот незадача: чтобы это сделать, надо послать сообщение компоненту proc, отвечающему за запуск процессов, а он совсем не захочет принимать сообщения от сетевого драйвера. А может быть, попытаться вклиниться в сетевой поток и подделать трафик? Ну, как говорится, удачи в написании шелл-кода, который все это проделает в динамически меняющемся трафике.



Минус микроядерной архитектуры только в том, что ядра на ее основе более медлительны в сравнении с монолитными. Однако устройства на BlackBerry 10 работают исключительно плавно в своей базовой функциональности, даже если они оснащены давно устаревшим двухъядерным Snapdragon S4. Даже если запущено приложение, полностью загружающее ресурсы слабенького процессора, свайп от нижнего края экрана — и приложение плавно и без задержек сворачивается в окошко. Подобного уровня оптимизации нет ни в Android, ни даже в iOS — во всяком случае, последних версий.


Железо

На основе BlackBerry 10 было выпущено множество устройств. Сенсорные BlackBerry Z10, Z30, Z3, Leap, клавиатурные Q10, Q5, Classic и Passport. Все эти модели, за исключением Passport, собирались на основе устаревшего уже в момент выхода моделей чипсета Snapdragon S4 в разных вариациях. Что заставляло BlackBerry упорно цепляться за устаревшее железо, продолжая выпускать устройства, заведомо проигрывающие конкурентам?

Дело в драйверах. Если говорить об Android, драйверы для наборов системной логики создают производители микросхем — Qualcomm, MediaTek и другие, причем делают они это за свой счет (разумеется, включая стоимость разработки в стоимость отгруженных микросхем). Но писать драйверы для BlackBerry 10, основанной на QNX, производители не стали, и компании пришлось самостоятельно заниматься этим. Разработка драйверов — процесс дорогой, сложный и небыстрый; неудивительно, что в BlackBerry приняли решение максимально использовать уже написанные драйверы.

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



Внешний вид и управление

BlackBerry 10 была пионером того, что спустя время в Google назвали Material design. Рабочие столы, приложения, экраны настроек — плоские карточки с тенями, которые перемещаются и перелистываются, как материальные объекты. Никакой полупрозрачности, все очень строго, логично и продуманно.



Виджетов как таковых в BlackBerry 10 нет, зато, если свернуть приложение, оно превращается в своеобразный виджет, или «живую плитку». Часы идут, календарь показывает ближайшие события, Device Monitor отслеживает и отображает состояние устройства, а приложение двухфакторной аутентификации — актуальные коды. Стоит коснуться такого окошка, как приложение моментально разворачивается на весь экран. Свайп вверх от нижнего края экрана — снова сворачивается в плитку. Прикоснуться к крестику в нижней правой части плитки — закрыть приложение и выгрузить его из памяти (в отличие от Android, закрытые приложения честно выгружаются).

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

Вообще, при изучении BlackBerry 10 создается впечатление, что система собрала в себе все лучшее, что могут предложить разнообразные кастомные прошивки для Android. Пробуждение экрана свайпом? Есть. Включение экрана при извлечении смартфона из чехла или поднятии со стола? Есть, и прекрасно работает. Разнообразные жесты и действия на переворачивание телефона? Тоже имеются.


Уведомления и контроль фоновых процессов

В BlackBerry 10 совершенно потрясающе настраиваются уведомления. На каждый чих можно сделать свою уникальную реакцию устройства, настроив звуки и вибрацию, а также цвет светодиодного индикатора. Более того, уведомления можно еще и группировать в профили — например, разрешив в ночное время звук только для телефонных звонков (или только от избранных контактов). Впрочем, «ночным режимом» профили далеко не ограничены: с помощью сторонних приложений (работающих, нужно отметить, в фоновом режиме) их можно переключать в зависимости от… да практически от чего угодно, на что хватит фантазии.



Работу в фоне можно разрешать и запрещать приложениям по отдельности, причем гранулярный динамический (при первом запуске) контроль разрешений появился в BlackBerry 10 задолго до выхода Android 6.0.


BlackBerry Hub

Центральная часть BlackBerry 10 — BlackBerry Hub. Он вызывается характерным жестом из любого приложения или места ОС. Достаточно подцепить текущий экран свайпом вверх от нижнего края экрана и смахнуть его вправо, как откроется хаб:



В хабе собраны все учетные записи и все уведомления, поступающие от интегрированных с ним приложений. Это и письма на разные адреса электронной почты, и твиты в Twitter, и сообщения в Facebook, и уведомления Skype, а также звонки и СМС.

И это не просто место, в котором можно просмотреть сообщения или твиты: на них можно ответить или отреагировать, не выходя из хаба и, как правило, даже не запуская соответствующего приложения. Для человека, который должен всегда быть на связи и который использует для этого несколько каналов, хаб просто идеальное решение. (От себя добавлю: действительно, очень удобно. После BlackBerry 10 я так и не смог отвыкнуть от хаба, пришлось устанавливать его версию для Android. Это, конечно, бледная тень былого величия, но все равно удобно!)





источник - https://xakep.ru/2017/02/09/forgotten-blackberry/
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 0 comments