Международная конференция разработчиков
и пользователей свободного программного обеспечения

"ACCESS Linux Platform" - новый стандарт для мобильных телефонов под управлением ОС Linux

Евгений Мальчук – ИООО “BLRSoft” – Минск, Беларусь

LVEE 2008

В докладе описывается платформа ACCESS Linux Platform – платформа разработки с для телефонов фирмы Samsung. Освещены особенности платформы, история создания, основные компоненты и поддерживаемые программные окружения. Также рассмотрены используемые лицензии и процесс подписывания приложений.

ACCESS Linux Platform разрабатывалась создателями операционной системы Garnet OS (ранее известна как Palm OS) и является преемником Garnet OS. Программное обеспечение ALP включает в себя простые в использовании нативные приложений, телефонию, утилиты и мультимедиа. ALP содержит Garnet VM, что позволяет тысячам приложений, написанным для Garnet OS, запускаться легко (с небольшими изменениями или вообще без них) на платформе ALP. Кроме этого включен ACCESS Hiker Application Framework, который был первым продуктом open source в мобильной отрасли принятым для коммерческого использования. Выпущенный под MPL v. 1.1 лицензией, Hiker Application Framework обеспечивает необходимые сервисы для коммерческих продуктов, включая безопасность и управление приложениями.

ALP поддерживает три программные окружения: Linux, Garnet OS (ранее Palm OS) и Java. В поддержку этих трех окружений, ALP ’предоставляет широкие возможности, которые позволяют запускать существующие приложения Palm OS, а также многочисленные мобильные приложения на Java.

К используемым на платформе компонентам open source относятся:

  • Linux Kernel
  • BusyBox
  • Gstreamer
  • SQLite3
  • BlueZ
  • Matchbox
  • cramfs
  • OpenOBEX
  • OpenSSL
  • X Window System
  • GTK+
  • Hiker
  • SQLFS

Hiker Application Framework представляет собой ключевой компонент ACCESS Linux Platform. Основанная на стандартном ядре Linux и других open-source-компонентах, ACCESS Linux Platform включает в себя все промежуточные сервисы, необходимые для разработки современных приложений для мобильных телефонов. Как и предполагает его название, Hiker Application Framework включает в себя услуги, непосредственно связанные с приложениями. Создание Hiker Application Framework начиналось с рассмотрения важнейших частей, отсутствующих на мобильном Linux’e.

Рис. 1. Сервисы платформы

Hiker Application Framework содержит несколько «менеджеров» или сервисов:

  • Bundle Manager: обеспечивает просмотр всех приложений в системе, независимо от их расположения в памяти, предоставляет им необходимые ресурсы. Так же проверяет настройки безопасности и подписи приложений.
  • Exchange Manager: обеспечивает обмен данными между приложениями и устройствами, например, за передачу данных между устройствами по Bluetooth, SMS/MMS, e-mail…
  • Notification Manager: информирует приложения о всех системных событиях. Это могут быть входящие звонки, сообщения, переход в спящий режим, изменение уровня сети и т.д. В результате системные события не привязаны к какому-то специфическому приложению, и пользователь может добавлять и удалять их в приложении в любое время ― просто регистрируя приложение в качестве получателя конкретных сообщений.
  • Application Server: управляет всем «жизненным циклом» приложения ― установкой, запуском, остановкой, возобновлением и завершением работы. Этот сервис координирует поведение и функциональность всех активных и фоновых приложений, отслеживая состояние каждого.
  • Attention Manager: информирует конечного пользователя, т. е. выводит на экран события, генерируемые другими приложениями. В качестве таких событий могут выступать входящий звонок, SMS, MMS, назначенная встреча, срабатывание установленных будильников, низкий заряд батареи и др. Attention Manager регистрирует все текущие события, устанавливает каждому приоритет и, в соответствующем порядке, показывает их на экране.
  • Alarm Manager: информирует активные и фоновые приложения о событиях, возникающих в режиме реального времени (т.е. о тех, которые управляются Attention Manager’ом). Alarm Manager поддерживает базу данных сообщений, связанных с календарем телефона. Этот сервис был разработан для того, что бы дать разработчикам возможность получать сообщения, которые будут срабатывать в заданный момент времени.
  • Global Settings Service: обеспечивает API для доступа к пользовательским настройкам всех приложений и сервисов, включая шрифты, их размеры, а также системные темы. Приложения могут регистрировать запросы на получение уведомлений, если какие-то из настроек изменились. Global Settings Service ― это небольшой пример взаимодействия между ALP и продуктом open source.

К основным лицензиям, используемым в платформе, относятся следующие:

  1. GNU General Public License (GPL);
  2. GNU Lesser General Public Licenses (LGPL);
  3. Mozilla Public License (MPL).

Обеспечение защиты прав интеллектуальной собственности является одним из существенных приоритетов ACCESS.

Рис. 2. Лицензии на ACCESS Linux Platform

ACCESS Linux Platform’s Security PolicyFramework (SPF) определяет, когда и какие приложения могут получить доступ к системным ресурсам, используя системное API и политику безопасности. Всем сторонним приложениям предоставляется одинаковый набор привилегий не зависимо от источника проникновения на устройство. ACCESS Security Policy Framework дает гибкий механизм для сетевых операторов и производителей мобильных устройств для определения их собственных политик безопасности, в соответствии с которыми приложениям будут установлены различные привилегии (так сказать, в соответствии со степенью доверия к коду и разработчику этого кода). Это означает, что SPF ограничивает доступ к данным файлов, API и различной конфигурационной информации на индивидуальной основе. Некоторые приложения будут иметь доступ к глобальным настройкам телефона, в то время как другие не будут; некоторые приложения будут иметь права суперпользователя, что даст им широкий доступ к данным, другие будут гораздо более ограничены. SPF позволяет даже неподписанным приложениям выполнять некоторые действия с минимальным уровнем привилегий (например, показать своё окно, проиграть мелодию). Однако неподписанные приложения не будут иметь прав для открытия сетевого соединения или набора телефонного номера. Следующий уровень привилегий позволяет приложениям отправлять текстовые сообщения или открыть указанный набор файлов. Сетевой оператор, например, может установить такую политику безопасности, согласно который подписанное приложение сможет получить доступ к списку контактов, в то время для неподписанного приложения, происхождение которого неизвестно, доступ к этому списку будет закрыт.

Ниже показано, как система расставляет приоритеты для различных приложений и права доступа к системным ресурсам.

Рис. 3. Права доступа для приложений от различных разработчиков

Эти политики в области безопасности находятся в файле настроек, который может быть изменен ACCESS’ом и/или изготовителем телефона с учетом требований оператора сотовой сети. Для реализации политик безопасности применяется стандарт X.509. Сторонние разработчики могут получить сертификат на подпись своего приложения, отправив его на тестирование и сертификацию. Если разрабатывается новое приложение, то ACCESS’ом будет устанавливаться «личность» компании-производителя. Отдел тестирования ACCESS’а тесно сотрудничают с разработчиками и при необходимости тестируют приложения.

Среда разработки представляет собой следующее:

ACCESS Linux Platform:

  1. Eclipse with gcc, gdb;
  2. Glase UI Builder;
  3. EABI-compliant tool chain;
  4. Scratchbox;
  5. Pre-Linker;
  6. Valgrind memory debugger, profiler.

Palm OS:

  1. Metroworks CodeWarror;
  2. Palm OS Developer Suite.

Java:

  1. Eclipse;
  2. NetBeans.

Ссылки

  1. Официальный сайт ACCESS Development Network
  2. Официальный сайт ACCESS