ym88659208ym87991671
Операционная система Салют ТВ | Документация для разработчиков

Операционная система Салют ТВ

Обновлено 6 декабря 2023

Операционная система, которая управляет устройствами Сбера и партнеров: от колонок до телевизоров, от ТВ-приставок до умных дисплеев.

ОС обеспечивает:

  • поддержку разных устройств через слои абстракции;
  • стабильность, отказоустойчивость и быстродействие;
  • гибкое управление аппаратными ресурсами;
  • безопасность.

Разработка операционной системы Салют ТВ

Архитектура ОС по слоям

Операционная система Салют ТВ состоит из разных open-source компонентов, среди которых:

  • загрузчики ARM Trusted Firmware и OP-TEE TrustedOS с рядом TrustApplications, которые предоставляют для ОС сервисы безопасности внутри Secure World;
  • загрузчик U-Boot, отвечающий за загрузку Normal World;
  • Linux Kernel;
  • Android Open Source Project (AOSP).

Мы регулярно обновляем все компоненты, модифицируем и дорабатываем их. И хотя такие патчи обусловлены внутренними задачами, некоторые из них вы найдете в upstream соответствующих open-source проектов.

Код, на котором мы пишем, зависит от проекта и решаемых задач. В основном это C, C++, Java, Kotlin. Качество кода обеспечено покрытием юнит-тестами, а также использованием статического и динамического анализа.

Secure World

Благодаря загрузчикам ARM Trusted Firmware и OP-TEE TrustedOS мы обеспечиваем безопасность ОС для умных устройств разными способами. Например, используем:

  • Secureboot/Trust Boot Chain;
  • Secure Storage (на базе RPMB области карты памяти EMMC, либо в разделе NAND);
  • L1 Video Streaming.

Мы разрабатываем несколько Trusted Applications для управления Key Storage в нашей операционной системе.

Bootloaders

U-Boot — ключевая часть загрузки, безопасности и отказоустойчивости системы.

Поддержка загрузчика включает в себя разработку:

  • драйверов периферии;
  • алгоритмов отказоустойчивости и сохранения системы;
  • средств безопасности;
  • загрузки ядра в различных формах.

Мы поддерживаем несколько стабильных веток U-Boot (v2015 и v2019) и ведем работы по обновлению всех устройств на upstream ветки U-Boot последних версий. Наши наработки в upstream U-Boot можно найти на lore.kernel.org/u-boot по ключевым словам sberdevices и salutedevices.

Linux Kernel

Мы используем Linux Kernel разных версий в качестве ядра ОС. В разных устройствах мы поддерживаем ядра: LTS 4.9, 4.19, 5.4. Кроме этого, мы ведем работу по переходу на upstream-версии ядра Linux и поддерживаем последние 6.x LTS, а также всегда актуальный stable master.

Стеки, которые мы разрабатываем, дополняем и улучшаем в ядре Linux нашей ОС:

  • Audio — драйверы звуковых карт, усилителей, ЦАП/АЦП и другие;
  • Video — драйверы кодеков, GPU, HDMI, LCD дисплеи, ISP, v4l;
  • Connectivity — Wi-Fi драйверы, Bluetooth-стек, Ethernet и TCP/IP стек;
  • Memory management — тюнинг, модификация и оптимизация аллокаторов: buddy, SLAB, SLOB, SLUB, CMA, ION;
  • Core — профилирование, управление питанием, оптимизация производительности, tracing и scheduling;
  • SoC support — помощь партнерам в поддержке ядра, написание драйверов, среди которых Clock Controller, I2C, SPI, GPIO, USB, SARADC, IR, Pinmux, PWM, Power Controller, Thermal, Efuse, Cpufreq, Audio, Video и другие;
  • Peripherals — поддержка периферии (IIO-сенсоры, LED-контроллеры), которая подключается по шинам GPIO/I2C/SPI.

Своими наработками мы делимся с upstream. Вы можете найти их на lore.kernel.org/all по ключевым словам sberdevices и salutedevices.

AOSP

Системная часть ОС Салют ТВ основывается на Embedded Linux, который мы собираем с помощью buildroot и AOSP.

На этом уровне мы:

  • разрабатываем собственные слои аппаратных абстракций (HAL) и системные vendor-сервисы;
  • поддерживаем различные схемы OTA-обновлений, как классические non-A/B, так и бесшовные A/B;
  • используем современные механизмы обеспечения безопасности: AVB (Android Verified Boot), FBE (File-based Encryption), SELinux;
  • реализуем системный UI: уведомления, поддержка жестов, системные экраны и др.;
  • решаем проблемы и дорабатываем AOSP, buildroot и другие open-source проекты, а также делимся своими решениями с сообществом.

Мы регулярно обновляем buildroot и AOSP в своих устройствах и поддерживаем open-source компоненты максимально близко к upstream.

StarOS SberDevices

StarOS SberDevices — это набор сервисов, единый для всех устройств. С помощью этих сервисов реализуется платформа для взаимодействия с виртуальным ассистентом Салют.

В StarOS мы:

  • обеспечиваем работу с виртуальным ассистентом Салют;
  • применяем алгоритмы улучшения качества звука (VQE — Voice Quality Enhansion);
  • распознаем слово активации (Spotter);
  • обеспечиваем аутентификацию с помощью сервиса Сбер ID;
  • работаем с аппаратной периферией: камерой, разъемами, кнопками, светодиодами и др.;
  • реализуем возможности музыкального плеера, в том числе работу bluetooth, режимов «Мультирум» и «Стереопара».

Системные сервисы SberDevices

Наши системные сервисы существуют непосредственно внутри системных сервисов Android, либо взаимодействуют с ними по API.

С помощью системных сервисов мы:

  • реализуем вызов системных методов Android;
  • предоставляем API для приложений и внутренних сервисов;
  • обеспечиваем взаимодействие сервисов StarOS;
  • поддерживаем часть аппаратной периферии.

Разработка приложений

Мы создали для ОС библиотеку NativeApp SDK. Она позволяет добавить нативную поддержку ассистента Салют в Android-приложения. SDK включает набор интерфейсов для:

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

Вы можете портировать на ОС Android-приложение без поддержки голосовых помощников. Но это ограничит круг устройств, доступных для запуска приложения.

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

Подробнее о разработке, распространении и монетизации — в документации.

Обратная связь

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

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.