Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Пять самых популярных операционных систем для интернета вещей

Оригинал: The Five Most Popular Operating Systems for the Internet of Things
Автор: K S Kuppusamy
Дата публикации: 24 октября 2019 года
Перевод: А. Кривошей
Дата перевода: январь 2020 г.

Сказать, что в наши дни жизнь протекает в интернете, не будет преувеличением из-за количества и разнообразия услуг, которые мы используем в сети. Эти услуги охватывают несколько областей, таких как информация, финансовые услуги, социальные сети и развлечения. Поскольку этот список увеличивается, становится обязательным, чтобы мы не ограничивали типы устройств, которые могут подключаться к интернету. Интернет вещей (IoT) облегчает подключение различных типов «вещей» к инфраструктуре интернета. Подключаясь к интернету, эти вещи получают возможность не только взаимодействовать с пользователем, но и между собой.

Области применения IoT

Рисунок 1: Области применения IoT

IoT становится все более популярным, поскольку типы устройств, которые можно подключить к нему, становятся все более разнообразными. Характер приложений также меняется. Некоторые из популярных областей, в которых все чаще используется IoT, перечислены ниже (рисунок 1):

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

Возможности операционных систем IoT

Рисунок 2: Возможности операционных систем IoT

Поскольку области применения становятся разнообразными, необходимость эффективного управления инфраструктурой IoT также становится все более важной. Операционные системы в обычных компьютерах выполняют основные функции, такие как управление ресурсами, взаимодействие с пользователем и т. д. Требования к операционным системам IoT являются специализированными из-за характера и размера устройств, участвующих в процессе. Некоторые из важных характеристик/требований операционных систем IoT перечислены ниже (рисунок 2):

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

По состоянию на 2019 год существует целый ряд вариантов выбора операционной системы для Интернета вещей. Некоторые из этих ОС показаны на рисунке 3.

Операционные системы IoT

Рисунок 3: Операционные системы IoT

Ubuntu Core

Поскольку Ubuntu является популярным дистрибутивом Linux, предложение Ubuntu Core IoT также стало популярным. Ubuntu Core - это безопасная и легкая ОС для IoT, разработанная с философией «безопасность прежде всего». Согласно официальной документации, вся система была переработана, чтобы сфокусироваться на безопасности с первой загрузки. Существует подробный технический мануал по функциям безопасности Ubuntu Core. Доступ к нему можно получить по адресу https://assets.ubuntu.com/v1/66fcd858 -ubuntu-core-security-whitepaper.pdf? _Ga = 2.74563154.1977628533. 1565098475-2022264852.1565098475.

Ubuntu Core была сделана устойчивой к взлому. Поскольку приложения могут быть из разных источников, им предоставляются привилегии только для их собственных данных. Это сделано для того, чтобы одно плохо спроектированное приложение не сделало уязвимой всю систему. Ubuntu Core «создана для бизнеса», что означает, что разработчики могут сосредоточиться непосредственно на приложениях, в то время как другие требования поддерживаются операционной системой по умолчанию.

Еще одной важной особенностью Ubuntu Core является наличие безопасного магазина приложений, о котором вы можете узнать больше на https://ubuntu.com/internet-of-things/appstore. Существует готовая к использованию программная экосистема, которая упрощает использование Ubuntu Core.

В официальной документации перечислены различные успешные примеры использования Ubuntu Core.

RIOT

RIOT - это удобная ОС для Интернета вещей. Эта ОС с открытым исходным кодом разрабатывалась многими людьми со всего мира. RIOT поддерживает множество IoT-устройств с низким энергопотреблением. Она поддерживает различные архитектуры микроконтроллеров. В официальной документации перечислены следующие причины использования ОС RIOT.

1. Она удобна для разработчиков: поддерживает стандартные среды и инструменты, поэтому разработчикам не нужно проходить подробный курс обучения. Поддерживаются стандартные языки программирования, такие как C или C ++. Аппаратно-зависимый код минимален. Разработчики могут закодировать все один раз, а затем запускать свой код на 8-битной, 16-битной и 32-битной платформах.
2. RIOT не требовательна к ресурсам. Одной из важных особенностей RIOT является ее способность поддерживать слабые устройства. Она обеспечивает максимальную энергоэффективность. Она поддерживает многопоточность с очень небольшими накладными расходами на многопоточность.
3. RIOT дружественена к IoT: общая системная поддержка, предоставляемая RIOT, делает ее очень хорошим выбором для IoT. Имеет поддержку CoAP, CBOR, высокого разрешения и долгосрочных таймеров.

Contiki

Contiki - важная ОС для IoT. Она облегчает подключение к Интернету небольших, недорогих и энергосберегающих устройств.

Основные причины выбора ОС Contiki следующие.

Интернет-стандарты: ОС Contiki поддерживает стандарты IPv6 и IPv4, в дополнение к стандартам 6lowpan с низким энергопотреблением, RPL и CoAP.
Поддержка различного оборудования: Contiki может работать на различных устройствах с низким энергопотреблением, которые легко доступны онлайн.
Поддержка большого сообщества. Одним из важных преимуществ использования Contiki является наличие активного сообщества разработчиков. Поэтому, когда у вас есть какие-то технические проблемы, которые необходимо решить, члены сообщества делают процесс решения этих проблем простым и эффективным.

Основные характеристики Contiki перечислены ниже.

Выделение памяти: даже крошечные системы, имеющие всего несколько килобайт памяти, могут использовать Contiki. Эффективность использования памяти является важной особенностью.
Полная поддержка IP-сетей: ОС Contiki предлагает полный стек IP-сети. Он включает основные стандартные протоколы, такие как UDP, TCP, HTTP, 6lowpan, RPL, CoAP и т. д.
Управление питанием: способность оценивать требования к питанию и использовать их оптимальным минимальным образом является важной особенностью Contiki.
Сетевой симулятор Cooja упрощает процесс разработки и отладки программного обеспечения.
Наличие файловой системы Coffee Flash и оболочки Contiki делает обработку файлов и выполнение команд проще и эффективнее.

TinyOS

TinyOS - это операционная система с открытым исходным кодом, предназначенная для беспроводных устройств с низким энергопотреблением. У нее есть активное сообщество пользователей, расзбросанных по всему миру. Популярность TinyOS можно понять из того факта, что ее скачивают более 35 000 раз в год.

TinyOS очень эффективно используется в различных сценариях, таких как сенсорные сети, интеллектуальные здания, интеллектуальные счетчики и т. д. Основной репозиторий TinyOS доступен по адресу https://github.com/tinyos/tinyos-main.

TinyOS написана на nesC, который является диалектом C. Пример фрагмента кода показан ниже:

configuration Led {
provides {
interface LedControl;
}
uses {
interface Gpio;
}
}
implementation {
command void LedControl.turnOn() {
call Gpio.set();
}
command void LedControl.turnOff() {
call Gpio.clear();
}
}

Zephyr

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

Главные особенности Zephyr перечислены ниже:

- поддержка 150+ плат;
- полная гибкость и свобода выбора;
- может работать с устройствами IoT небольшого размера;
- может использовать продукты со встроенными функциями безопасности.

Эта статья познакомила читателей с четырьмя ОС для IoT, из которых они могут выбрать идеальную для себя, исходя из своих требований.

OS for IoT