- Дистрибутивы Linux для IoT
- 1. Brillo
- 2. Huawei LiteOS
- 3. OpenWrt
- 4. Ostro Linux
- 5. Raspbian
- 6. Snappy Ubuntu Core
- 7. Tizen
- 8. uClinux
- 9. Yocto Project
- Выводы
- Компания Canonical выпустила новую версию Ubuntu Core для IoT-приложений
- Открытые операционные системы для IoT
- Отличительная особенность операционных систем для IoT — крайне низкое потребление системных ресурсов. FreeRTOS, например, использует 0,5 Кб ОЗУ и 5-10 Кб постоянной памяти
- Открытые операционные системы на базе Linux
- Другие открытые операционные системы
Дистрибутивы Linux для IoT
За последние десять лет большинство проектов с открытым исходным кодом переместились от рынка персональных компьютеров и мобильных устройств к интернету вещей. В этой статье мы рассмотрим дистрибутивы Linux для интернета вещей и встраиваемых устройств. Кроме специализированных, новых дистрибутивов мы рассмотрим здесь несколько облегченных вариантов, например, OpenWRT.
Все приведенные здесь дистрибутивы Linux не требуют много памяти, имеют модульную и настраиваемую структуру, отлично поддерживают беспроводные технологии и сенсорные устройства. Но в список дистрибутивы для IoT не входят легкие системы, которые хоть и оптимизированы для низкого потребления ресурсов, все еще предназначены для работы на персональном компьютере. Тем не менее Linux Lite и LXLE все же могут использоваться для IoT. А теперь давайте перейдем к списку.
1. Brillo
В этом году Google выпустила Brillo, легкий дистрибутив на основе Android. Он завоевал популярность среди пользователей плат Intel Edison и Dragonboard 410c. Будущее этой системы связано с протоколом коммуникации Weave, который здесь используется. Этот протокол реализует функции выделения ресурсов, аутентификацию и многое другое. Для работы системы достаточно 32 Мб ОЗУ и 128 Мб постоянной памяти.
2. Huawei LiteOS
LiteOS — это операционная система от Huawei, которую не следует путать с дистрибутивом Linux. Она основана на Linux, но компания внесла очень много изменений. Ядро системы занимает не больше 10 Кб. LiteOS используется на MCU устройствах, которые имеют процессоры, совместимые с Android.
Система имеет множество интересных функций, среди которых автоматическое обнаружение сетей, работа в режиме реального времени, широкая поддержка беспроводных устройств и сотовой сети. Собственно, все тоже же самое, что могут другие дистрибутивы linux IoT.
3. OpenWrt
Известный дистрибутив Linux, ориентированный на создание сетей, тоже может использоваться как Linux для встраиваемых устройств. Легкая операционная система OpenWrt очень часто встречается на маршрутизаторах и роутерах, а также различных платах Wifi.
Недавно были созданы форки OpenWrt такие как DD-Wrt и Linino, ориентированный на Arduino. А организация LEDE обещает более стабильный цикл разработки дистрибутива.
4. Ostro Linux
Этот дистрибутив от проекта Yocto получил много внимания в середине августа, когда Intel выбрала его для своего модуля Intel Joule, который работает на последнем четырехъядерном чипе Atom SoC T5700. OstroLinux совместим с IoTivity, а также поддерживает множество беспроводных технологий и датчиков. Дистрибутив фокусируется на безопасности уровня программного обеспечения, устройства и данных. Дистрибутив доступен в двух редакциях — обычной и медиа.
5. Raspbian
Существует несколько дистрибутивов, разработанных для Raspberry Pi, но Raspbian все еще является лучшим. Это один из самых популярных дистрибутивов для DIY проектов на одной из широко используемых платформ IoT. Разработчики могут найти сотни уже готовых проектов, а также справочных материалов. Теперь, когда Raspbian поддерживает Node-RED есть еще меньше причин выбирать ориентированный для IoT Thingbox.
6. Snappy Ubuntu Core
Это версия популярного дистрибутива Ubuntu для встраиваемых устройств с механизмом установки пакетов Snap. Canonical разрабатывает Snap, как универсальный формат пакетов, которые будут работать на персональных компьютерах, серверах, смартфонах и IoT устройствах.
Ubuntu Snappy Core поддерживает откаты обновлений, безопасные обновления, поддержка облака и магазина приложений для платформы. Для работы Ubuntu Snappy достаточно процессора с частотой 600 МГц, 128 Мб оперативной памяти, а также 4 Гб памяти на диске. Дистрибутив Linux для встраиваемых устройств может работать на платах Pi и других устройствах с подобными характеристиками, включая дроны Erle-Copter, шлюзы Dell Edge, Nextcloud Box и LimeSDR.
7. Tizen
Система разрабатывается при поддержке Samsung и Linux Foundation и использует основной стек программного обеспечения Linux, но по-прежнему очень редко встречается на рынке мобильной связи. Тем не менее, она широко используется на телевизорах от Samsung и умных часах, включая новые Gear S3, также может работать на другой бытовой технике. Tizen может работать даже на Raspberry Pi. Также Samsung начали внедрять эту систему в свою концепцию умный дом. Возможно, скоро стоит ожидать улучшенную интеграцию с модулями Artik и Artik Cloud.
8. uClinux
uClinux — это единственная, упрощенная версия Linux для встраиваемых устройств, которая может работать на микроконтроллерах Cortex-M3, M4, и -M7 моделей. Для uClinux необходимы микроконтроллеры со встроенным контроллером памяти или которые могут использовать внешний чип памяти DRAM.
Преимущества uCLinux уже в виде поддержки большого количества беспроводных технологий уже были добавлены в основную ветку ядра Linux. Чаще всего uClinux используется на устройстве EmCraft, в котором есть достаточно модулей для полноценной работы Linux.
9. Yocto Project
Проект Yocto — это не совсем дистрибутив Linux, но это проект с открытым исходным кодом, который ставит перед собой цель предоставить разработчикам шаблоны, инструменты и методы для создания программного обеспечения встраиваемых устройств. Поскольку вы можете настроить эту систему с минимальными затратами, она часто используется для IoT. Yocto Projet используют в качестве основы почти все коммерческие дистрибутивы Linux для IoT, также на нем основан Ostro Linux и Qt для IoT.
Выводы
В этом небольшом обзоре мы рассмотрели лучше дистрибутивы Linux для интернета вещей. Я намерено исключил из статьи системы, не основанные на Linux чтобы не делать ее слишком объемной, и возможно, мы рассмотрим их в следующий раз. Если вы знаете другие дистрибутивы Linux, которые можно использовать для IoT, напишите в комментариях!
На завершение видео о том, что такое интернет вещей:
Источник
Компания Canonical выпустила новую версию Ubuntu Core для IoT-приложений
Сегодня компания Canonical анонсировала выход новой версии встраиваемой ОС Ubuntu для IoT-приложений. Речь идет о Core 16, которая также известна, как Snappy. С самого начала модификация Core содержала минимальный набор функций, которые обеспечивали работу стоечных коммутаторов, сетевых шлюзов разного типа, сетей радиодоступа и умных устройств.
Марк Шаттлворт (Mark Shuttleworth) провел краткий брифинг, на котором рассказывал о главных отличиях новой версии Core от старой. Кстати, Core 15 вышла полтора года назад, так что появление новой версии ожидали многие. Одно из главных отличий — это распределение индивидуальных файлов при установке дистрибутива в Core 15 и предыдущих вариантах ОС.
По словам специалистов, такая ситуация делала невозможной, например, проверку подписей составляющих операционную систему отдельных файлов. Также речь идет о решении проблемы с неэффективным использованием дискового пространства. В Core 16 дело обстоит несколько по-иному.
«В Ubuntu Core 16 мы храним все программное обеспечение в виде сжатых и подписанных файлов. Злоумышленники теперь не имеют возможности изменять программы на диске, и любое устройство с нашей ОС работает с проверенным ПО», — заявил Шаттлворт.
Фактически, речь идет о том, что сейчас упомянутые руководителем Canonical файлы фиксируются системой, как неизменяемые объекты, заархивированные при помощи squashFS. Таким образом, файлы доступны только для чтения. Само устройство будет очень сложно, если возможно, взломать по сети, не имея никакого физического доступа. Базовая система, ядро Linux и системные надстройки поставляются в snap-формате, а управлять ими можно при помощи snapd.
Обновление позволяет устройству работать с разными версиями ОС, выбирать наиболее актуальное обновление или же возвращаться к предыдущему варианту ПО, если что-то пошло не так. «Возвращение к предыдущей версии получается более стабильным, так что разработчики могут без проблем изменять что-то в функциональности системы», — говорит Шаттлворт.
Обновления, как утверждают разработчики, выпускаются регулярно. Их доставка производится в специальном режиме ОТА (over-the-air), после установки обновления синхронизируются с составом Ubuntu Linux. То, что обновления скачиваются автоматически, решает основные проблемы с поддержанием безопасности системы при работе ее на IoT-устройствах. Благодаря тому, что базовая система отделена от приложений, становится возможным разделение «обязанностей» разработчиков Ubuntu и разработчиков сторонних программ. Так, кодовую базу Ubuntu Core поддерживают в актуальном состоянии создатели Ubuntu, а обо всем остальном беспокоятся уже разработчики приложений.
В настоящий момент образы Ubuntu Core 16 готовы для работы с такими системами, как i386, amd64, Raspberry Pi 2, Raspberry Pi 3 и Qualcomm Dragonboard 410c. Размер образа составляет 311-371 Мб в зависимости от архитектуры.
Источник
Открытые операционные системы для IoT
Отличительная особенность операционных систем для IoT — крайне низкое потребление системных ресурсов. FreeRTOS, например, использует 0,5 Кб ОЗУ и 5-10 Кб постоянной памяти
В последние годы рынок Интернета вещей демонстрирует скачкообразный рост. Не удивительно, что он привлекает внимание всё новых и новых разработчиков. Следуют тренду и девелоперы открытых операционных систем, внедряя в них инструменты и средства для работы с IoT-устройствами. Актуальный обзор Эрика Брауна на Linux.com предлагает ознакомиться с перечнем современных ОС для IoT.
Стоить учесть, что помимо новых Linux-дистрибутивов, предназначенных в основном для обслуживания сетевых шлюзов и концентраторов, существует и ряд других открытых проектов. Последние разрабатывают ОС для работы на микроконтроллерах (MCU), которые, в свою очередь, работают на различных IoT-девайсах. В обзор включена нетребовательная к системным ресурсам ОС OpenWRT — она активно дорабатывается, поэтому имеет все шансы закрепиться на рынке. Специфика работы IoT-устройств выдвигает следующие требования к ОС: малый объём потребляемой оперативной памяти и небольшое энергопотребление, модульность, упрощенные инструменты конфигурирования коммуникаций, поддержка широкого спектра беспроводных и сенсорных технологий.
Помимо этого, многие проекты концентрируются на обеспечении безопасности подключаемых устройств. Отличительная черта проектов открытых систем, которые не используют Linux-ядро, является их нацеленность на работу промышленных систем в режиме реального времени.
Вне рамок обзора остались «легкие» Linux-дистрибутивы типа Xubuntu или Bodhi Linux, которые применяются для установки на ПК или для работы с флэш-накопителями. Такие дистрибутивы не предназначены для IoT, но некоторые из них — например, LXLE или Linux Litе, всё же пригодны для работы на отдельных автономных устройствах.
Как уже отмечалось, рынок IoT развивается и ещё не перешёл в фазу зрелости. Исходя из этого, во внимание принимались либо известные проекты RTOS (Run time operation system, операционные системы реального времени), либо проекты, представляющие интерес с точки зрения перспективы.
Нельзя обойти вниманием и Windows 10 for IoT Core, но её нельзя назвать открытой в полной мере, поскольку ее свободное использование возможно исключительно для участников организации Open Connectivity Foundation (OCF). Последняя недавно объединилась с AllSeen Alliance и будет разрабатывать стандарт IoTivity для обмена данными между IoT-устройствами.
Открытые операционные системы на базе Linux
Brillo. За разработку этой системы отвечает Google. С момента выхода Brillo прошёл год и можно подвести некоторые промежуточные итоги. Пока что нельзя сказать, что система де-факто стала стандартом на рынке, но пользуется популярностью в кругу энтузиастов, устанавливающих её на микрокомпьютеры, подобные Intel Edison или Dragonboard 410c, и даже на «системы на модуле» (computer-on-module). ОС поддерживает Wi-FI и Bluetooth Low Energy и является частью экосистемы Weave, кроссплатформенного ПО со своим собственным API.
Данный язык позволит устройствам «общаться» между собой и является основным инструментом управления всеми гаджетами. То есть, к примеру, благодаря Weave и машина, и кофеварка, и смартфон будут понимать одни и те же команды. Для работы системы достаточно 32 Мб ОЗУ и 128 Мб ПЗУ.
Huawei LiteOS. Это ОС для IoT производства Huawei, которую не следует путать с одноимённым вариантом для систем Unix. LiteOS на базе Linux куда более экономичная, её ядро занимает не больше 10 Кб. ОС подготовлена для работы начиная от MCU и заканчивая процессорами, совместимыми с Android. Система обладает множеством функций, среди которых автоматическое обнаружение сетей, работа в режиме реального времени, широкая поддержка беспроводных устройств и сотовых сетей. LiteOS совместима с протоколом Huawei Agile IoT Solution, разрабатываемым с целью унификации межмашинных взаимодействий, и технологией сверхузкополосной беспроводной связи для передачи данных (Narrow-Band IoT).
OpenWRT. Эта система в основном используется для маршрутизаторов и другого MIPS-оборудования, например Wi-Fi-плат. Главное достоинство OpenWRT в том, что возможности пользователя в расширении функционала ограничиваются лишь аппаратными ресурсами роутера. По сути, это полноценная Linux-платформа со своим менеджером пакетов и репозиторием.
На OpenWRT можно установить bind9, OpenVPN, LuCi, в общем, практически любой софт, работающий под Linux. Система имеет несколько форков — и Linino, ориентированных на разработчиков плат Arduino. Организация Linux Embedded Development Environment (LEDE) обещает «вдохнуть новую жизнь» в OpenWRT: планируется более стабильный цикл разработки дистрибутива.
Ostro Linux. Эта ОС получила известность благодаря тому, что была выбрана Intel в качестве вычислительной платформы для Intel Joule — одноплатного компьютера для тестирования прототипов носимых гаджетов, роботов и устройств Интернета вещей. Комплект Intel Joule 570x включает чип Intel Atom T5700 на 1,7 ГГц, 4 Гб ОЗУ и накопитель на 16 Гб. Ostro Linux совместима со стандартом IoTivity, поддерживает множество беспроводных технологий, а также предоставляет фреймворк для работы с разнообразными датчиками. Дистрибутив фокусируется на обеспечении безопасной работы ПО, устройств и данных. Ostro Linux доступен в двух редакциях — обычной и расширенной.
Raspbian. Linux-система Raspbian предназначена для одноплатного компьютера Raspberry PI. Несмотря на то, что для этого, самого популярного в мире DIY-компьютера существует множество специфических дистрибутивов, в том числе и для IoT, большинство разработчиков выбирают Raspbian. ОС разработана на основе Debian и хорошо оптимизирована для аппаратных возможностей Raspberry Pi.
Помимо этого разработчики могут найти сотни уже готовых проектов, а также справочных материалов по работе дистрибутива. Одна из последних версий Raspbian обзавелась поддержкой среды программирования Node-RED. Она позволяет создавать новые приложения для взаимодействия с подключенными объектами из веб-браузера с помощью графического языка.
Snappy Ubuntu Core. Разрабатываемый компанией Canonical проект Ubuntu Core предлагает компактный вариант дистрибутива Ubuntu, адаптированного для устройств Интернета вещей, контейнеров, потребительского и промышленного оборудования. Вместо традиционных deb-пакетов в дистрибутиве используется модель монолитного построения образа базовой системы. Ubuntu Core служит основой для запуска дополнительных компонентов и приложений, которые запускаются в формате snap (Canonical разрабатывает snap как универсальный формат пакетов).
Ubuntu Snappy Core поддерживает откаты обновлений, безопасные обновления, обеспечивает поддержку облака и магазина приложений для платформы. Для работы системы достаточно процессора с частотой 600 МГц, 128 Мб оперативной памяти, а также 4 Гб памяти на диске. Дистрибутив Linux для встраиваемых устройств может работать на платах Pi и других устройствах с подобными характеристиками, включая дроны Erle-Copter, шлюзы Dell Edge, Nextcloud Box и LimeSDR.
Tizen. Платформа Tizen развивается под покровительством организации Linux Foundation при участии Intel и Samsung. Особенно активно ею занимается последняя. Хоть система и позиционируется для встраиваемых систем, но пока что применяется в «умных» телевизорах Samsung и новых смарт-часах Gear S3. Тем не менее, спектр работающих на Tizen устройств может быть крайне широк — начиная от плат типа Raspberry и заканчивая бытовой техникой.
У Samsung уже имеется аппаратная платформа для IoT под названием Artik, и, по слухам, вскоре южнокорейская компания выпустит версию Tizen, оптимизированную для использования в сегменте Интернета вещей. Эта версия будет интегрирована с системой «умного» дома SmartThings. На текущий момент в новое семейство плат для IoT входят Artik 1, Artik 5 и Artik 10. Artik 1 — несёт на борту двухъядерный процессор (250 МГц + 80 МГц), адаптер беспроводной связи Bluetooth Low Energy (BLE) 4.0, акселерометр, гироскоп и магнитометр. Поддерживаются дисплеи с разрешением до WVGA (800×480). Плата размером 12×12 мм предназначено для устройств с минимальным расходом энергии.
uClinux. Это упрощенная версия Linux для встраиваемых устройств, которая может работать на микроконтроллерах Cortex-M3, M4 и M7. Для работы uClinux может понадобиться внешний чип памяти DRAM. Дистрибутив поддерживает широкий спектр беспроводных технологий и драйверов, некоторые его разработки приняты в основную ветку ядра Linux.
Но это преимущество быстро нивелируется конкурирующими системами, например, ОС для MCU Mbed, которая по сравнению с uClinux легче конфигурируется. Одним из основных разработчиков uClinux является компания Emcraft. Она оказывает техническую поддержку разработчикам, а также выпускает модули на базе чипов Cortex-M для сборки системных плат.
Yocto Project. Это не дистрибутив, а набор поддерживаемых и развиваемых Linux Foundation утилит, шаблонов и методов для разработки embedded-дистрибутивов. Yocto Project рассматривается как базис для большинства успешных коммерческих IoT-дистрибутивов.
Проект позволяет задействовать готовые программные модули, что изрядно экономит время и средства разработчиков. Наработками Yocto Project пользуются Ostro Linux и Qt for Device Creation. Последний проект готовит версию фреймворка под названием QT Lite. Новый код будет опубликован в версии библиотеки Qt 5.8 и нацелен на разработку приложений для IoT-устройств.
Другие открытые операционные системы
Apache Mynewt. Этот Open Source-проект разработан компанией Runtime при поддержке Linux Foundation и работает на микроконтроллерах. Особенность этой модульной ОС — точная наладка и одновременное обеспечение нескольких беспроводных соединений, доводка аппаратуры и контроль энергопотребления девайсов IoT-сети. В мае компании Runtime и Arduino Srl заключили партнёрство, в рамках которого Apache Mynewt можно будет устанавливать на одноплатные компьютеры Primo и STAR Otto.
Помимо этого, свободный дистрибутив будет работать на платах Arduino Zero компании Arduino LLC. В начале октября в официальном блоге Arduino LLC появилась запись о том, что организация объединяется с Arduino SRL. В перспективе этот союз может отразиться на ценах конечных устройств, но избавит пользователей от форков прошивки для Arduino SRL и вновь объединит сообщество.
Mbed. Встраиваемая mbed OS разработана компанией ARM, которая занимается лицензированием одноимённой архитектуры для миллиардов устройств, в том числе и IoT. Поначалу Mbed была проприетарной системой, но осенью прошлого года перешла в разряд открытых. Код операционной системы распространяется под лицензией Apache 2.0. Система нацелена на работу на маломощных устройствах, использующих микроконтроллеры Cortex-M. Mbed потребляет минимум системных ресурсов, для её запуска хватает 8 Кб ОЗУ. Система поддерживает многопоточность и может работать в режиме реального времени.
Mbed создавалась с прицелом на поддержку огромного числа соединений и протоколов, по которым в недалёком будущем будут передаваться данные в IoT-сетях. В отличие от других Runtime-систем, в Mbed включён развиваемый организацией Thread Group стандарт масштабируемой беспроводной меш-сети на базе IPv6. Функционал Mbed расширяют такие сопутствующие компоненты, как облачный сервис mbed Device Connector, клиент для подключения сторонних решений mbed Client и прослойка для связывания устройств с web-приложениями mbed Device Server.
Contiki. Эта система для микроконтроллеров не может похвастаться рекордно малым потреблением ресурсов, как Tiny OS или RIOT OS (4 Кб и 5 Кб соответственно, тогда как Contiki — 10 Кб), она также не умеет работать в реальном времени, но зато она поддерживает стек IPv6 для «умных» устройств, которые получили сертификацию IPv6 Ready.
Предмет гордости системы — широчайший спектр поддерживаемого оборудования, вытесняющая приоритетная многозадачность, динамическое ядро. Полностью установленная Contiki с полным графическим интерфейсом пользователя будет занимать приблизительно 30 Кб оперативной памяти. Вместе с ОС поставляется отладочный инструмент Cooja Network Simulator. К плюсам системы также нужно отнести оптимальное расходование ОЗУ.
FreeRTOS. Эту систему можно отнести к категории проектов, конкурирующих с Linux. Пока что она не может похвастаться внушительным списком поддерживаемых драйверов, её инструменты управления сетями или памятью ОС уступают Linux. Но у неё есть преимущества. Система потребляет несравнимо меньше ресурсов, чем RTOS типа VxWorks, не говоря уже о встраиваемых Linux-системах — 0,5 Кб ОЗУ и постоянной памяти. Конечно, в режиме нагрузки эти цифры вырастают: при подключении к сети — до 24 Кб ОЗУ и 60 Кб флэш-памяти.
Fuchsia. Понимая перспективы, которые для Google сулит IoT, компания продолжает экспериментировать с встраиваемыми микросистемами. Fuchsia — одна из них. О проекте известно не много, но точно известно, что новинка из разряда Open Source и не будет работать на ядре Linux. Один из независимых разработчиков Гэри Симс ранее разобрал код Fuchsia (распространяется по лицензии MIT) и вскрыл некоторые его особенности. Выяснилось, что ОС базируется на LK (Little Kernel) и Magenta.
LK — это микроядро размером от 15 до 20 Кб, созданное для небольших встраиваемых устройств. Magenta — более крупное и продвинутое ядро, разработанное на базе LK. Например, в Magenta есть понятие процесса, а в LK — нет. Ядро Magenta предназначено для использования на устройствах, не настолько ограниченных с точки зрения аппаратной конфигурации, и является конкурентом для RTOS, ориентированных на IoT-применение, таких как FreeRTOS. Fuchsia, судя по всему, будет гибридной системой, использующей одно из двух ядер в зависимости от того, на каком устройстве она работает. Известно, что ОС поддерживает 32- и ARM-процессоры.
NuttX. Эта ОС выпущена под лицензией BSD и является наиболее известной RTOS для БПЛА и дронов, работающих на платформах APM/ArduPilot и PX4 UAV. Последние являются частью более широкого проекта Dronecode. В 2014 г. Linux Foundation взяла его под своё покровительство. NuttX поддерживает архитектуры x86 и Cortex-A5, Cortex-A8, но наиболее эффективно она работает на микроконтроллерах Cortex-M. Разработчик позиционирует ОС как цикличную, поддерживающую вытесняющую (но с фиксированными приоритетами) многозадачность, которую можно рассматривать как «крошечный аналог Linux с небольшим набором функций».
RIOT OS. Ее никак нельзя отнести к новичкам на рынке встраиваемых платформ — ей 8 лет, она известна своей энергоэффективностью и совместимостью со многими беспроводными протоколами. Платформа нетребовательна к ресурсам и может запускаться на MCU, потребляя 1,5 Кб ОЗУ и 5 Кб флэш-памяти. Отличается многопоточностью, системой динамического распределения памяти, мультиплатформенностью, частичной совместимостью с POSIX (portable operating system interface, переносимый интерфейс операционных систем) и поддержкой языка C++ — такой набор опций больше характерен для Linux-систем, чем для RTOS.
Представляет интерес и архитектура RIOT OS: ошибка в одном из модулей не «рушит» всю систему, тем самым повышая её надежность. Система распространяется по лицензии LGPL, что позволяет использовать её во многих приложениях. Кроме этого, приложения, написанные для Linux или OS X, можно портировать на девайсы с RIOT OS.
TinyOS. При разработке TinyOS основное внимание было уделено обеспечению малого энергопотребления. В результате была создана ОС с простой, но развитой компонентной архитектурой. Специфика этой ОС заключается в обеспечении механизмов параллельного выполнения задач в условиях крайне ограниченных ресурсов. Система написана на диалекте языка Си — nesC — и распространяется на условиях лицензии BSD.
TinyOS используется для экспериментов с беспроводными сетями с пониженным энергопотреблением и меш-сетями. Разработчики позиционируют эту ОС как лёгкую систему, которая не предназначена для запуска требовательного к ресурсам софта. TinyOS работает на микроконтроллерах Cortex-M, тестируется её работа на радио-чипах.
Zephyr. ОС разрабатывается Linux Foundation и запускается на архитектурах x86, ARM, ARC, а также предназначена для тестирования в эмуляторе на базе QEMU. Наработки проекта поставляются под лицензией Apache 2.0. Участниками проекта выступили такие компании, как Intel, NXP Semiconductors/Freescale, Synopsys и UbiquiOS. Zephyr базируется на системах River Rocket OS и Viper. Последняя — это урезанная версия VxWorks.
Ядро рассчитано на потребление минимальных ресурсов (от 8 до 512 Кб ОЗУ в зависимости от компоновки), что позволяет использовать его на различных портативных системах, от простых встраиваемых датчиков и чипов для одежды, до «умных» часов и беспроводных шлюзов для IoT-устройств. Из особенностей Zephyr — широкие возможности по настройке. В системный образ могут включаться только те возможности ядра, которые требуются для выполнения приложения. Все стадии разработки проходят обязательные этапы подтверждения безопасности кода: статический анализ, испытания на проникновение, анализ внедрения бэкдоров и моделирование угроз.
Minoca. Это одна из самых молодых RTOS. Её код открыт под лицензией GPLv3. Сборки подготовлены для архитектур x86, ARMv6 и ARMv7, в том числе сформированы загрузочные образы для плат Raspberry Pi 2, Raspberry Pi, BeagleBone Black, Asus C201, PandaBoard и Galileo, а также эмулятор на основе QEMU. Система модульная — подсистемы ядра отделены друг от друга. Драйверы устройств не привязаны к ядру и оформляются в виде универсальных исполняемых файлов, не зависящих от версии ядра.
Для всей системы с драйверами и видеобуфером требуется от 5 до 7 Мб оперативной памяти. Основные преимущества перед Linux — низкое энергопотребление, более высокая скорость, меньшее потребление оперативной памяти и возможность незаметного обновления ядра без перекомпиляции драйверов.
Источник