Что такое операционная система с открытым кодом. ПО с открытым кодом (Open source). Какое ПО может быть открытым

  • Разработка для интернета вещей
  • За последнее десятилетие большое количество проектов ОС с открытым исходным кодом перешли от рынка мобильной связи к «интернету вещей». В этой статье мы рассмотрим какие из открытых проектов нацелены на IoT (Internet of Things).

    Имейте в виду, что почти все современные открытые ОС в той или иной степени заявляют о своей пригодности для использования в IoT. Но мы рассмотрим только тех, которые действительно уделяют внимание таким вещам как: низкое потребление памяти, высокая энергетическая эффективность, модульный и настраиваемый коммуникационный стек и сильная поддержка беспроводных и сенсорных технологий. Также некоторые проекты подчеркивают свои наработки в области безопасности IoT и реалтаймовости. Реалтайм может быть действительно важен в промышленном IoT, хотя и почти бесполезен в бытовом.

    Мы тут не будем рассматривать так называемые lightweight-дистрибутивы, даже если они действительно лёгкие, но не ставят перед собой задачи IoT, а ограничиваются обычным применением в обычных рабочих станциях.

    Также мы не будем смотреть в сторону Windows 10 for IoT Core. Этот проект хоть и способен выполнять свойственные для IoT задачи, но к опенсорсу не имеет никакого отношения.

    Итак, начнём.

    ОС, основанных на Linux

    Brillo - разработка Google, представляющая собой облегчённый Android и которая за год своего существования завоевала некоторую популярность.Так, например, она используется на Intel Edison и Dragonboard 410c. Однако эта ОС завязана на протокол Weave, который является разработкой Google и нигде больше не используется. Система способна работать на оборудовании с 32MiB RAM и 128MiB flash.

    Huawei LiteOS - LiteOS компании Huawei основана на Linux, но от Linux там осталось не так уж и много. О системе заговорили где-то год назад и утверждается, что ядро может быть размеров от 10KB. LiteOS может использоваться на широком спектре оборудования от MCU-устройств до Android-совместимых. Основные фишки: тривиальная настройка, автоматическое обнаружение всего и вся, широкая поддержка разнообразных сетей (LTE и mesh-сети в том числе), быстрая загрузка.

    OpenWrt /LEDE/Linino/DD-Wrt - всем известный проект, наиболее востребованный на маршрутизаторах и другом MIPS сетевом оборудовании. Учитывая изначальную сетевую заточенность он не мог пройти мимо IoT. Эти форки не имеют принципиальных отличий друг от друга и родились из-за NIH-синдрома или организационных склок.

    Ostro Linux - основан на Yocto Project (будет рассмотрен отдельно) и стал известен после того, как Intel выбрала его для Intel Joule, базирующемся на Atom SoC T5700. Ostro Linux совместим с IoTivity, поддерживает множество беспроводных технологий, а также предоставляет фреймворк для работы с разнообразными датчиками. Особое внимание уделяется безопасности, включая криптографию.

    Raspbian - Debian, заточенный для работы на Raspberry Pi. И хотя для «малины» существуют и другие дистрибутивы, которые более целенаправленно занимаются нюансами IoT, но именно Raspbian стал стандартом de facto для DIY-проектов на базе Raspberry Pi.

    Snappy Ubuntu Core --версия Ubuntu Core со Snap-пакетами. Canonical утверждает, что эта система способна работать на «any Linux desktop, server, cloud or device». В принципе способна работать на Raspberry Pi, но вообще требует 600MHz CPU, 128MiB RAM, 4GiB flash. Довольно широко используется. Например: Erle-Copter drones, Dell Edge Gateways, Nextcloud Box, and LimeSDR.

    Tizen - развивается при поддержке Samsung. Изначально планировался как ОС для смартфонов, но что-то пошло не так и сейчас можно встретить лишь в телевизорах и т.н. смарт-часах. Проект умирать не собирается, но и будущее его не ясно. Способен запуститься на «малине».

    uClinux - единственная более или менее вменяемая и распространённая версия Linux, способная работать на микроконтроллерах. Но пока лишь на некоторых: Cortex-M3, M4, и M7. Да и там для работы требуется подключение внешней RAM.

    Yocto Project - это не дистрибутив, а набор поддерживаемых и развиваемых Linux Foundation утилит, шаблонов и методов для разработки embedded-дистрибутивов. Весьма успешный проект, который является базисом для большинства успешных коммерческих дистрибутивов, заточенных под IoT.

    Некоторые известные не-Linux дистрибутивы

    Apache Mynewt - разработан компанией Runtime для 32-bit микроконтроллеров при поддержке Apache Software Foundation. Выделяется хорошей поддержкой беспроводных соединений, широкими возможностями для отладки и тонкой настройкой энергопотребления. Предполагается, что скоро будет доступен для Arduino.

    ARM Mbed - нацелен на маломощные, работающие от батареек, платы на базе Cortex-M микроконтроллеров. Для работы достаточно 8KiB of RAM. Впервые появился на BBC Micro:bit SBC. Изначально представлял из себя однопоточный полупроприетарный кусок блоба, но теперь это открытый под Apache 2.0 лицензией проект с поддержкой многопоточности и реалтайма.

    Contiki - не может соревноваться с Tiny OS или RIOT OS, однако для работы требует всего лишь 10KiB RAM and 30KiB flash, отлично работает с беспроводной связью и дружит с IPv6. ОС сопровождается внушительным набором утилит для разработки и тестирования, в том числе и Cooja Network Simulator для отладки беспроводных сетей. Основная «фишка» - малое потребление памяти.

    FreeRTOS - основной конкурент Linux среди встраиваемых платформ. И хотя испытывает проблемы с драйверами, учётными записями пользователей и прочими приятными вещами из мира полноценных ОС, но зато способен работать на 1KiB памяти и 5-10 KiBROM. Хотя для полноценного сетевого взаимодействия с нормальным TCP/IP требуется 24KiB RAM and 60KiB flash.

    Fuchsia - ещё одна разработка от Google. Данных мало, но компания утверждает, что их ОС может конкурировать с FreeRTOS. Вёдра для лапши приносить свои. Грабли для снятия лапши с ушей тоже не выдают. Ждём когда замолчат маркетологи и заговорят технари.

    Minoca - код открыт под лицензией GPLv3. Сборки подготовлены для архитектур x86, ARMv6 и ARMv7, в том числе сформированы загрузочные образы для плат Raspberry Pi 2, Raspberry Pi, BeagleBone Black, Asus C201, PandaBoard и Galileo, а также эмулятор на основе QEMU. Система модульная - подсистемы ядра отделены друг от друга, а взаимодействие с оборудованием абстрагировано. Драйверы устройств не привязаны к ядру и оформляются в виде универсальных исполняемых файлов, не зависящих от версии ядра. Для запуска достаточно 5 MiB RAM.

    NuttX - широко используется среди разработчиков квадрокоптеров и прочих дронов. BSD лицензия. Работает на х86, Cortex-A5, -A8 и Cortex-M MCU. Позиционируется разработчиками как «выглядит почти как Linux только с урезанными возможностями».

    RIOT OS - вот уже 8 лет как эта ОС известна своей энергоэффективностью и широчайшей поддержкой беспроводных сетей. Для работы достаточно 1.5KiB RAM and 5KiB flash, что почти так же, как и у Tiny OS. При этом система предлагает многопоточность, управление памятью, частичную POSIX-совместимость и прочие вещи, которые более типичны для Linux, нежели для лёгких RTOS. Кстати, разрабатывать под эту ОС можно и из-под Linux или OS X.

    TinyOS - эта ОС разрабатывается под BSD лицензией и требует наименьшее количество ресурсов из всех вменяемых систем. Система написана на диалекте Си, называемом nesC. Основное применение: малопроизводительные микроконтроллеры, хотя в настоящее время проводится работа над поддержкой Cortex-M3.

    Zephyr - разрабатывается Linux Foundation и потребляет 2-8KiB RAM. Работает на x86, ARM, ARC, но основное внимание уделяется микроконтроллерам с Bluetooth/BLE и 802.15.4 радиостанциям вроде 6LoWPAN. Zephyr базируется на River’s Rocket OS, которая в свою очередь базируется на Viper, который не что иное как урезанная версия VxWorks.

    Теги:

    • IoT
    • embedded
    Добавить метки

    Все современные цифровые устройства работают на определенной операционной системе. Например, это может быть Windows или Linux, а для смартфонов и планшетов – Android и iOS.

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

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

    Примеры открытых и закрытых ОС

    Примером открытой операционной системы для смартфонов и планшетов является Google Android. Данная ОС позволяет делать пользователю все, что он захочет – переписать некоторые драйвера, добавить поддержку новых функций и т.д. А вот операционная система Windows Phone считается закрытой, и не дает пользователям никакого права на вмешательство. Им остается только периодически устанавливать сервис-паки, покупать программы или же пользоваться бесплатными.

    Также есть еще условно открытые ОС – iOS и Symbian. В таких ОС тоже нельзя ничего менять, но для них можно писать программы с помощью специального софта, который предоставляют разработчики. Самые популярные ОС для смартфонов – это Google Android и iOS. Для обычного пользователя, который не занимается созданием новых программ, разница между этими ОС будет лишь в интерфейсе.

    Что касается компьютерных операционных систем, то Windows считается закрытой операционной системой, а Linux – открытой. Естественно, изменять под себя можно только Linux. Есть еще одна операционная система – Mac OS, которая очень похожа по архитектуре на Linux, но она считается закрытой ОС.

    Что касается выбора ОС для пользования, то тут каждый пользователь решает сам. Например, в закрытых операционных системах вероятность словить вирус гораздо выше, и в таком случае придется ждать пока разработчики исправят дыру в системе очередным сервис-паком. Кроме того, Windows и Mac OS являются платными операционными системами, а Linux находится в свободном доступе для всех желающих.

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

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

    Такое программное обеспечение предоставляется пользователям бесплатно, причем не только программы, но и операционные системы. Оно создается и разрабатывается самими пользователями, которые выкладывают свои создания в Интернет. Наиболее популярные программы регулярно обновляются, так как их использует множество людей. В качестве примера можно привести Mozilla Firefox или Thunderbird. Если программа не обновляется регулярно, возможно, для этого не хватает необходимых технических ресурсов – весь вопрос в том, сколько у программы пользователей. Высокая частота обновлений является определенным гарантом безопасности использования программы. Хотя, если после установки обновления выясняется, что программа не работает (например, в новой версии операционной системы не поддерживается Skype), есть два пути решения проблемы: попытаться найти помощь на форумах в Интернете или устранить проблему самостоятельно, что относительно трудно.

    Программное обеспечение с закрытым исходным кодом намного популярнее ПО с открытым кодом. Прежде всего, за счет удобства использования, а еще потому, что мы просто привыкли к нему – как правило, в школе, на работе и дома мы используем ОС Windows. В случае программ и операционной системы на базе закрытого исходного кода мы имеем дело с готовым продуктом, который не требует никакого вмешательства с нашей стороны. Среднестатистическому пользователю с ними намного удобнее работать. Пользователи программного обеспечения с закрытым исходным кодом часто подчеркивают, как проста его установка и использование, насколько удобно иметь под рукой внятную справку по программе, а также возможность обратиться в службу технической поддержки в случае возникновения проблем. Такие системы и продукты выпускаются компаниями, причем только после нескольких этапов тестирования. Пользователь просто покупает целый программный пакет, готовый к установке на компьютере. Такое программное обеспечение является платным: мы приобретаем лицензию, а часто и обновления программы.

    Некоторые разработчики ПО поддерживают общественные организации и предлагают им программы бесплатно или со скидкой через соответствующие некоммерческие организации, например, через широкую партнерскую сеть TechSoup, участники которой находятся в разных странах. В России программу осуществляет Теплица социальных технологий (ООО "Спиро"). Обратившись к программе инфоДонор вы можете выяснить может ли ваша организация участвовать в программе. Также следует помнить, что когда мы выбираем операционную систему, мы заодно выбираем и способ работы в нашей организации. Например, если мы выбрали Linux, мы не сможем использовать решения Adobe, а если мы выбрали Windows, нам придется приобрести лицензии по числу компьютеров. В каждом случае есть свои плюсы и минусы. Нужно тщательно продумать, что именно требуется нашей организации, каковы критерии эффективного использования оборудования, и принимать решение после основательного анализа.

    Конечно, ПО с открытым или закрытым исходным кодом не сводится только к Microsoft, Mac или Linux. Вопрос лицензирования фигурирует в связи с любым типом программного обеспечения, используемого в организации. Основное правило – внимательно читайте все лицензии и соглашения об обслуживании. Существует множество примеров, когда организации сталкивались с серьезными проблемами с ПО, которое было практически бесполезным из-за условий лицензирования, или когда даже самые незначительные изменения на сайте обходились очень дорого.

    Open Source - это программа с открытым исходным кодом. Примечательны такие программы тем, что любой пользователь способен посмотреть исходный код программы, изучить его и, в дальнейшем, изменить, тем самым доработав программу. А когда допускает лицензия, то и создать новую программу, используя этот код.

    Например, ОС Linux выпускаются с открытым исходным кодом. Аналогом знакомой всем Microsoft Office в открытом формате выступает OpenOffice. Всем известные Google Chrome и Mozilla Firefox тоже являются таким открытым софтом.

    История появления программ с открытым кодом.

    В терминологию, понятие Open Source ввели Эрик Реймонд и Брюс Перенс в 1998 г. Они стали основателями организации под названием Open Source Initiative, деятельность которой посвятили продвижению открытого софта. И хотя термин этот отнюдь не торговая марка компании, существует правило: для желающих иметь на своем ПО логотип организации и сам термин, необходимо одобрение OSI.

    Какое ПО может быть открытым?

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

    Подобный софт не ограничен сроками по использованию и может применяться в любой сфере (бизнесе, науке, обучении и т.д.). Лицензия Open Source тоже свободна и никоим образом не ограничивает использование программы с совместимым лицензионным программным обеспечением.

    Операционные системы на базе Open Source.

    Операционные системы с открытым кодом можно поделить на две группы:

    • Подобные Unix-ОС – это ОС, образованная под влиянием Unix.
    • И не- Unix-подобные.

    Наиболее популярной и распространенной ОС, относящейся к первому критерию, является Linux. Ее ядро разрабатывается и создается в соответствии с моделью разработки свободного и открытого ПО. В связи с этим, общее название Linux не подразумевает наличия одной «официальной» сборки.

    Виртуальный хостинг сайтов для популярных CMS:

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

    ReactOS - международный проект по разработке свободной и бесплатной операционной системы Open Source. ReactOS полностью совместима с драйверами и приложениями Windows, хотя и не является ее клоном. Проект стартовал в 1996 г., но из-за ряда дискуссий был приостановлен до 1998 года. К сожалению, из-за недостаточного финансирования проект до сих пор не закончен.

    Вот неполный список бесплатных операционных систем с открытым исходным кодом по версии Википедии:

    Программное обеспечение на базе Open Source.

    Самым распространенным и востребованным Open Source ПО является аналог MS Office – пакет программ OpenOffice. Софт поддерживается платформами Microsoft Windows и Linux. Разработана программа с использованием кода Star Office.

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

    Интерфейс OpenOffice Calc - замена Excel.

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

    Система управления содержимым (CMS) -это информационная система (ПО), которое используется для создания всего процесса организации и обеспечения, а также редактирования и последующего управления содержимым ресурса.

    CMS выполняет следующие функции:

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

    Наиболее распространенные и известные системы управления сайтами, форумами, сообществами с открытым исходным кодом:

    • WordPress;
    • Joomla!;
    • Drupal;
    • PhpBB;
    • Opencart;
    • Prestashop.

    Список написанных на PHP системуправления контентом:

    Преимущества решения использовать ОС и программы Open Source.

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

    Вторым плюсом использования является возможность модернизации этих программ.

    Еще одним несомненным преимуществом софта Open Source выступает защищенность этого продукта от вредоносных программ. Большинство вирусных программ ведь пишутся именно под приложения Windows, а не на приложения свободных ОС. Это значит, что шанс схлопотать вирус при использовании свободной операционной системы низко вероятен.

    Поэтому переход на свободное программное обеспечение позволяет защитить свой ПК от вирусов, а также снизить расходы на лицензионное ПО. Особенно это актуально для предприятий и объектов социальной сферы.

    Но у этих программ существуют и недостатки.

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

    Разница во взглядах дорабатывающих код программистов может привести к крушению даже многолетнего проекта.

    Плюсы и минусы использования Open Source CMS.

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

    Плюсы использования Open Source CMS:

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

    Минусы Open Source движков:

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

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

    За последнее десятилетие большое количество проектов ОС с открытым исходным кодом перешли от рынка мобильной связи к «интернету вещей». В этой статье мы рассмотрим какие из открытых проектов нацелены на IoT (Internet of Things).

    Имейте в виду, что почти все современные открытые ОС в той или иной степени заявляют о своей пригодности для использования в IoT. Но мы рассмотрим только тех, которые действительно уделяют внимание таким вещам как: низкое потребление памяти, высокая энергетическая эффективность, модульный и настраиваемый коммуникационный стек и сильная поддержка беспроводных и сенсорных технологий. Также некоторые проекты подчеркивают свои наработки в области безопасности IoT и реалтаймовости. Реалтайм может быть действительно важен в промышленном IoT, хотя и почти бесполезен в бытовом.

    Мы тут не будем рассматривать так называемые lightweight-дистрибутивы, даже если они действительно лёгкие, но не ставят перед собой задачи IoT, а ограничиваются обычным применением в обычных рабочих станциях.

    Также мы не будем смотреть в сторону Windows 10 for IoT Core. Этот проект хоть и способен выполнять свойственные для IoT задачи, но к опенсорсу не имеет никакого отношения.

    Итак, начнём.

    ОС, основанных на Linux

    Brillo - разработка Google, представляющая собой облегчённый Android и которая за год своего существования завоевала некоторую популярность.Так, например, она используется на Intel Edison и Dragonboard 410c. Однако эта ОС завязана на протокол Weave, который является разработкой Google и нигде больше не используется. Система способна работать на оборудовании с 32MiB RAM и 128MiB flash.

    Huawei LiteOS - LiteOS компании Huawei основана на Linux, но от Linux там осталось не так уж и много. О системе заговорили где-то год назад и утверждается, что ядро может быть размеров от 10KB. LiteOS может использоваться на широком спектре оборудования от MCU-устройств до Android-совместимых. Основные фишки: тривиальная настройка, автоматическое обнаружение всего и вся, широкая поддержка разнообразных сетей (LTE и mesh-сети в том числе), быстрая загрузка.

    OpenWrt /LEDE/Linino/DD-Wrt - всем известный проект, наиболее востребованный на маршрутизаторах и другом MIPS сетевом оборудовании. Учитывая изначальную сетевую заточенность он не мог пройти мимо IoT. Эти форки не имеют принципиальных отличий друг от друга и родились из-за NIH-синдрома или организационных склок.

    Ostro Linux - основан на Yocto Project (будет рассмотрен отдельно) и стал известен после того, как Intel выбрала его для Intel Joule, базирующемся на Atom SoC T5700. Ostro Linux совместим с IoTivity, поддерживает множество беспроводных технологий, а также предоставляет фреймворк для работы с разнообразными датчиками. Особое внимание уделяется безопасности, включая криптографию.

    Raspbian - Debian, заточенный для работы на Raspberry Pi. И хотя для «малины» существуют и другие дистрибутивы, которые более целенаправленно занимаются нюансами IoT, но именно Raspbian стал стандартом de facto для DIY-проектов на базе Raspberry Pi.

    Snappy Ubuntu Core --версия Ubuntu Core со Snap-пакетами. Canonical утверждает, что эта система способна работать на «any Linux desktop, server, cloud or device». В принципе способна работать на Raspberry Pi, но вообще требует 600MHz CPU, 128MiB RAM, 4GiB flash. Довольно широко используется. Например: Erle-Copter drones, Dell Edge Gateways, Nextcloud Box, and LimeSDR.

    Tizen - развивается при поддержке Samsung. Изначально планировался как ОС для смартфонов, но что-то пошло не так и сейчас можно встретить лишь в телевизорах и т.н. смарт-часах. Проект умирать не собирается, но и будущее его не ясно. Способен запуститься на «малине».

    uClinux - единственная более или менее вменяемая и распространённая версия Linux, способная работать на микроконтроллерах. Но пока лишь на некоторых: Cortex-M3, M4, и M7. Да и там для работы требуется подключение внешней RAM.

    Yocto Project - это не дистрибутив, а набор поддерживаемых и развиваемых Linux Foundation утилит, шаблонов и методов для разработки embedded-дистрибутивов. Весьма успешный проект, который является базисом для большинства успешных коммерческих дистрибутивов, заточенных под IoT.

    Некоторые известные не-Linux дистрибутивы

    Apache Mynewt - разработан компанией Runtime для 32-bit микроконтроллеров при поддержке Apache Software Foundation. Выделяется хорошей поддержкой беспроводных соединений, широкими возможностями для отладки и тонкой настройкой энергопотребления. Предполагается, что скоро будет доступен для Arduino.

    ARM Mbed - нацелен на маломощные, работающие от батареек, платы на базе Cortex-M микроконтроллеров. Для работы достаточно 8KiB of RAM. Впервые появился на BBC Micro:bit SBC. Изначально представлял из себя однопоточный полупроприетарный кусок блоба, но теперь это открытый под Apache 2.0 лицензией проект с поддержкой многопоточности и реалтайма.

    Contiki - не может соревноваться с Tiny OS или RIOT OS, однако для работы требует всего лишь 10KiB RAM and 30KiB flash, отлично работает с беспроводной связью и дружит с IPv6. ОС сопровождается внушительным набором утилит для разработки и тестирования, в том числе и Cooja Network Simulator для отладки беспроводных сетей. Основная «фишка» - малое потребление памяти.

    FreeRTOS - основной конкурент Linux среди встраиваемых платформ. И хотя испытывает проблемы с драйверами, учётными записями пользователей и прочими приятными вещами из мира полноценных ОС, но зато способен работать на 1KiB памяти и 5-10 KiBROM. Хотя для полноценного сетевого взаимодействия с нормальным TCP/IP требуется 24KiB RAM and 60KiB flash.

    Fuchsia - ещё одна разработка от Google. Данных мало, но компания утверждает, что их ОС может конкурировать с FreeRTOS. Вёдра для лапши приносить свои. Грабли для снятия лапши с ушей тоже не выдают. Ждём когда замолчат маркетологи и заговорят технари.

    Minoca - код открыт под лицензией GPLv3. Сборки подготовлены для архитектур x86, ARMv6 и ARMv7, в том числе сформированы загрузочные образы для плат Raspberry Pi 2, Raspberry Pi, BeagleBone Black, Asus C201, PandaBoard и Galileo, а также эмулятор на основе QEMU. Система модульная - подсистемы ядра отделены друг от друга, а взаимодействие с оборудованием абстрагировано. Драйверы устройств не привязаны к ядру и оформляются в виде универсальных исполняемых файлов, не зависящих от версии ядра. Для запуска достаточно 5 MiB RAM.

    NuttX - широко используется среди разработчиков квадрокоптеров и прочих дронов. BSD лицензия. Работает на х86, Cortex-A5, -A8 и Cortex-M MCU. Позиционируется разработчиками как «выглядит почти как Linux только с урезанными возможностями».

    RIOT OS - вот уже 8 лет как эта ОС известна своей энергоэффективностью и широчайшей поддержкой беспроводных сетей. Для работы достаточно 1.5KiB RAM and 5KiB flash, что почти так же, как и у Tiny OS. При этом система предлагает многопоточность, управление памятью, частичную POSIX-совместимость и прочие вещи, которые более типичны для Linux, нежели для лёгких RTOS. Кстати, разрабатывать под эту ОС можно и из-под Linux или OS X.

    TinyOS - эта ОС разрабатывается под BSD лицензией и требует наименьшее количество ресурсов из всех вменяемых систем. Система написана на диалекте Си, называемом nesC. Основное применение: малопроизводительные микроконтроллеры, хотя в настоящее время проводится работа над поддержкой Cortex-M3.

    Zephyr - разрабатывается Linux Foundation и потребляет 2-8KiB RAM. Работает на x86, ARM, ARC, но основное внимание уделяется микроконтроллерам с Bluetooth/BLE и 802.15.4 радиостанциям вроде 6LoWPAN. Zephyr базируется на River’s Rocket OS, которая в свою очередь базируется на Viper, который не что иное как урезанная версия VxWorks.

    Теги: Добавить метки



    Есть вопросы?

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам: