LG webOS

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 13:43, 18 мая 2019.
(перенаправлено с «WebOS»)
LG webOS
Lg-webos.jpg
Разработчик Palm, Inc., Hewlett-Packard, LG Electronics/Open webOS Community
Линейка ОС Linux
Последний релиз ОС webOS 3.5 / 16 мая 2017
Платформы ARM
Ядро (тип) монолитное
Лицензия GPLv2
Официальный веб-сайт http://webosose.org

LG webOS - открытая встраиваемая операционная система, основанная на ядре Linux и предназначенная для Smart TV, позволяет осуществлять управление данными и обладает графическим интерфейсом. LG webOS содержит различные приложения, фильмы и предоставляет доступ к другому контенту. Поддержка многозадачного режима позволяет работать одновременно с несколькими приложениями, раскрывая и сворачивая их по мере надобности.
Изначально webOS использовалась на смартфонах и планшетах. Большое внимание в системе уделено работе с социальными сетями, многозадачности, с версии Web 2.0. система WebOS является открытой, что позволяет сторонним разработчикам создавать приложения для работы с данной системой.

История

Данная операционная система была разработана в 2009 году компанией Palm и изначально использовалась только в планшетах, смартфонах и некоторых предметах бытовой техники. Основана она была на Linux, а в 2010 году ее выкупила компания HP, с которой они проработали вплоть до 2012 года.
19 октября 2010 года, компания HP официально представила webOS 2.0 и новый смартфон Palm Pre 2. Вместе с этим событием, произошла смена названия с Palm webOS на HP webOS. И чуть позже компания HP объявила, что все ранее выпущенные webOS-смартфоны получат версию 2.0 в ближайшие месяцы. Одним из наиболее значительных нововведений является функция Synergy, предназначенная для поддержания адресных книг и рабочих календарей в актуальном состоянии. Synergy допускает автоматическую синхронизацию данных Facebook, LinkedIn, Google, Yahoo и Microsoft Exchange с мобильным устройством.
9 февраля 2011 года, в Сан-Франциско Hewlett-Packard на презентации новых устройств на webOS анонсировала выход webOS 3.0. С появлением webOS 3.0 была реализована функцию Touch-to-share, благодаря которой экран планшета может быть выведено изображение с дисплея смартфона (HP Veer или Pre 3), для этого необходимо лишь разместить смартфон поверх планшета HP TouchPad.
С 2012 года стала обладать открытым кодом, что позволило использовать ее на любых других устройствах, а компаниям, разрабатывать большое количество приложений под нее.
В 2013 году HP продала webOS компании LG. Компания LG Electronics начинает использовать операционную систему webOS в интеллектуальных телевизорах. В распоряжении LG переходят исходные коды системы и другие активы HP, относящиеся к webOS. Проекты с открытым кодом Open webOS и Enyo тоже переходят к LG. У HP остаются все активы Palm, имеющие отношение к облачным системам — исходные коды, инфраструктура, сотрудники и контракты.
Корпорация LG стала использовать данную операционную систему в своих Smart TV.

Особенности системы

Операционная система webOS предназначена для Smart TV и обладает широким функционалом, позволяющим пользователям управлять данными, просматривать видео файлы, получать доступ к контенту сети Интернет. К особенностям данной системы относятся следующие возможности:

  • Smart Share - предоставляет возможность подключения к телевизору любого дополнительного устройства. С помощью USB разъема можно будет подключить фотоаппарат или жесткий диск, а при помощи DLNA создать локальную сеть у себя в доме. Smart Share поддерживает следующие способы передачи данных: TagOn, WiDi, Miracast, а также MHL.
  • Управление Smart TV при помощи жестов и голоса. Жестами можно включить или выключить телевизор, увеличить или уменьшить громкость звука, а также переключать каналы. Чтобы управлять телевизором при помощи голоса необходим пульт MagicRemote.
  • Позволяет осуществлять поиск контента, а также переключаться между каналами, файлами и контентом в Smart TV.

Защита информации в webOS

16 мая 2017 года компания LG Electronics сообщила о сертификации на соответствие ОС webOS 3.5, для телевизоров с поддержкой технологии Smart TV, общим критериям безопасности (CC) Application Security Solution версии 1.0.Компания оснастила webOS 3.5 модулем защиты данных Security Manager. Согласно заявлению разработчиков, он прошел испытания на соответствие общим критериям информационной безопасности. Они основаны на международных стандартах ISO/МЭК 15408 и применяются правительственными учреждениями, банками и другими организациями для оценки уровня безопасности программных продуктов.
В ходе испытаний проверялись три аспекта безопасности платформы Smart TV:

  • безопасность при установке приложений;
  • бесперебойная работа;
  • надежность защиты авторских прав на контент посредством технологии шифрования Digital Rights Management (DRM).

LG webOS 3.5 показала уровень защиты при установке приложений. Она блокирует возможность установки неразрешенных программ посредством контроля цифровых подписей. Сервер приложений LG генерирует электронные подписи и webOS 3.5 может загружать приложения только из магазина LG ContentStore. ОС также обеспечивает требуемую безопасность работы приложений различных типов: как системных, так и веб-приложений.

Архитектура webOS

Рисунок 1 - Архитектура webOS

На рисунке 1 показана общая архитектура WebOS Open Source Edition (OSE). WebOS OSE состоит из набора уровней[Источник 1]:

  • базовые приложения
  • прикладная среда
  • менеджеры и службы
  • базовые компоненты
  • BSP / ядро

Основные приложения

В операционной системе webOS OS есть базовые приложения в качестве верхнего уровня, и этот уровень включает в себя System UI и System app.
Системный интерфейс пользователя включает в себя приложения, связанные с основным пользовательским интерфейсом (пример пользовательского интерфейса приведён на рисунке 2), такие как Home Launcher и Notification. Эти приложения обычно реализуются с использованием QML.
Системное приложение включает приложение «Настройки» и веб-браузер. Приложение «Настройки» используется для управления свойствами системы и реализовано с помощью Enact. В качестве веб-браузера используется Enact browser.

Платформа приложений

Чтобы помочь разработчикам создавать приложения и сервисы, webOS OSE предоставляет расширенные возможности и среды по сравнению с разработкой исключительно с использованием HTML5, JavaScript или CSS. Предоставляются платформа веб-приложения Enact, эквивалентная jQuery и Software Development Kit(SDK).
Enact - это платформа для веб-приложений, оптимизированная под разработку веб-приложений для WebOS OSE. Дополнительную информацию и структуру Enact можно найти на сайте разработчиков Enact . Enact также является проектом с открытым исходным кодом и предоставляется отдельно от WebOS OSE.

Рисунок 2 - Пользовательский интерфейс webOS

SDK

SDK предоставляет среду разработки для веб-приложений и сервисов. SDK для WebOS OSE предоставляет такие инструменты, как интерфейс командной строки (CLI) , эмулятор и Beanviser. Эмулятор позволяет тестировать приложение и платформу webOS в виртуальной среде, с его помощью можно протестировать основные функции webOS на ПК без необходимости физического устройства, такого как Raspberry Pi (RPi)[Источник 2].Beanviser- это инструмент мониторинга и диагностики производительности, который удаленно взаимодействует с устройством webOS и оценивает приложения, запущенные на устройстве.

Managers & Services

Уровень Managers & Services включает в себя следующие ключевые компоненты:

Диспетчер системы и приложений

Диспетчер системы и приложений (SAM) контролирует поведение приложений. SAM управляет каждым приложением на протяжении его жизненного цикла, включая установку, запуск, завершение и удаление приложения.
Диспетчер веб-приложений

Диспетчер веб-приложений (WAM) отвечает за запуск и управление веб-приложениями. Кроме того, WAM выполняет оптимизацию использования CPU, мониторинг состояния и обработку восстановления, а также управление правами доступа, все на основе текущего состояния веб-приложений.

Менеджер активности

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

Luna Surface Manager

Luna Surface Manager (LSM) - это компонент, который работает как графический менеджер. LSM отображает графические элементы на экране, управляет композицией этих элементов и выполняет обработку событий для устройств ввода, таких как клавиатура и указатель. LSM также отвечает за выполнение и управление системным пользовательским интерфейсом, таким как Home Launcher и Notification. LSM реализован с использованием Qt, а System UI реализован с использованием QML(Qt Meta-Object Language).
uMediaServer

uMediaServer (uMS) - это модуль, который работает в качестве сервера для среды мультимедиа webOS. uMS предоставляет интерфейсы для воспроизведения мультимедиа, управляет ресурсами, конвейерами и их политиками, а также управляет жизненным циклом медиаплеера.

DB8

DB8 - это встроенная база данных JSON, которая поддерживает хранение и извлечение данных в структуре хранилища ключ-значение. WebOS OSE использует LevelDB в качестве внутренней базы данных. Служба по умолчанию, связанная с DB8, - это com.webos.db . Также предоставляется com.webos.tempdb , который позволяет настроить временное хранилище в памяти.

Базовые компоненты

Слой базовых компонентов включает в себя следующие ключевые компоненты:

LS2

LS2, также называемый Luna Bus, является системной шиной, используемой webOS OSE в качестве механизма IPC, используемого между компонентами в webOS. Он состоит из:

  • Клиентская библиотека - обеспечивает поддержку API для регистрации на шине и связи с другими компонентами.
  • Central hub daemon - обеспечивает центральный информационный центр для всех коммуникаций. Включены утилиты для мониторинга и отладки шины.

Каждая служба LS2 состоит из одного или нескольких методов, которые классифицируются по выполняемой ими функции.Клиенты могут сделать запрос к методу, который предоставляет ответ в формате JSON. Ниже приведен пример вызова метода getSystemTime с помощью инструмента luna-send[Источник 3].

luna-send -P -n 1 -f luna://com.webos.service.systemservice/time/getSystemTime '{}'
==>
{
   "timeZoneFile": "/var/luna/preferences/localtime",
   "utc": 1418745990,
   "localtime": {
       "month": 12,
       "day": 16,
       "hour": 11,
       "minute": 6,
       "year": 2014,
       "second": 30
   },
   "offset": -300,
   "timezone": "Asia/Seoul",
   "TZ": "EST",
   "systemTimeSource": "sdp"
}

Веб-движок

WebOS OSE использует Chromium в качестве веб-движка. Веб-движок - это модуль, который загружает и анализирует веб-приложение (или веб-страницу), состоящее из HTML, CSS и JavaScript, и выполняет все задачи, необходимые для представления веб-приложения на экране, такие как наложение и рендеринг. В настоящее время веб-среда выполнения WebOS OSE реализована в соответствии с многопроцессорной моделью Chromium. Поэтому каждое веб-приложение запускается как отдельный независимый процесс.

Node.j

Сервисная структура, основанная на Node.js, предоставлена ​​для того, чтобы вы могли реализовывать сервисы на языке JavaScript. Node.js - это инфраструктура JavaScript, которая обычно запускается на сервере. В webOS OSE Node.js был встроен для облегчения развития сервиса.

BSP / Ядро

Уровень BSP / Kernel состоит из нескольких компонентов для поддержки Raspberry Pi 3. Как правило, он обеспечивает evdev для обработки событий, Mesa для поддержки графики и 100Base-T, wpa_supplicant и Bluetooth для подключения.
За исключением отмеченного, этот контент лицензируется в соответствии с Creative Commons Attribution 4.0, а образец кода лицензируется в соответствии с Apache License 2.0 .

Интерфейс командной строки WebOS

Интерфейс командной строки WebOS Open Source Edition (OSE) предоставляет набор команд, используемых для создания, упаковки, установки и запуска веб-приложений в среде командной строки. Интерфейс командной строки позволяет разрабатывать и тестировать приложения без использования конкретной среды IDE[Источник 4].
Интерфейс командной строки предоставляет следующие ключевые функции:

Создание проекта:

  • Предоставляет стандартные шаблоны проектов для веб-приложений OSE webOS
  • Предоставляет список доступных шаблонов
  • Создает проект для приложения и устанавливает основную информацию о приложении

Упаковка веб-приложений:

  • Пакетирует исходный код и генерирует файл пакета (.ipk) для запуска на целевом устройстве
  • Предоставляет возможность исключить примеры и тестовые каталоги кода из проекта
  • Создает файлы установки приложения для отладки

Управление целевым устройством

  • Предоставляет список целевых устройств
  • Добавляет, изменяет и удаляет целевые устройства

Установка веб-приложения:

  • Устанавливает приложения на целевое устройство
  • Предоставляет список приложений, установленных на целевом устройстве.
  • Удаляет выбранные приложения с целевого устройства

Запуск / закрытие веб-приложения:

  • Запускает выбранные приложения
  • Закрывает запущенные приложения
  • Предоставляет список приложений, запущенных на целевом устройстве.

Отладка веб-приложений:

  • Предоставляет веб-инспектор для отладки веб-приложений
  • Предоставляет Node Inspector для отладки JavaScript-сервисов
  • Предоставляет информацию о веб-приложении
  • Предоставляет информацию об услуге JavaScript

Smart Share

Одна из возможностей WebOS - Smart Share позволяет получить доступ ко всем цифровым устройствам, подключённым к телевизору LG. С её помощью можно просмотреть на экране телевизоре весь доступный контент с этих устройств. Подключение можно организовать с помощью DLNA, объединив все устройства в единую беспроводную сеть. Через USB разъем можно подключить внешний жесткий диск, фотокамеру, видеокамеру и др. Таким образом, Smart Share позволяет организовать локальную домашнюю сеть и обмениваться по ней фото и видео.

Источники

  1. webOS Open Source Edition Architecture URL: http://webosose.org/develop/architecture/ (дата обращения: 27.04.2019)
  2. QEMUx86 Emulator for Linux URL: http://webosose.org/develop/sdk-tools/emulator/qemux86-emulator-linux/ (дата обращения: 27.04.2019)
  3. LS2 API URL: http://webosose.org/develop/ls2-api/ls2-api-development/ (дата обращения: 27.04.2019)
  4. Command Line Interface URL: http://webosose.org/develop/sdk-tools/cli/overview/(дата обращения: 27.04.2019)

Ссылки