Операционные системы для работы с интернетом вещей
Понятие Интернета вещей как вычислительной сети физических объектов, рост его популярности. Выбор соответствующей операционной системы (ОС), определяющей то, как будет работать будущая аппаратная архитектура. Особенности и направления использования ОС.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 20.08.2018 |
Размер файла | 25,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Электронный научно-практический журнал «МОЛОДЕЖНЫЙ НАУЧНЫЙ ВЕСТНИК» ДЕКАБРЬ 2017 |
|
ТЕХНИЧЕСКИЕ НАУКИ |
Размещено на http://www.allbest.ru/
Электронный научно-практический журнал «МОЛОДЕЖНЫЙ НАУЧНЫЙ ВЕСТНИК» ДЕКАБРЬ 2017 |
|
ТЕХНИЧЕСКИЕ НАУКИ |
ФГБОУ ВО "Российский экономический университет им. Г.В. Плеханова"
Операционные системы для работы с интернетом вещей
Токмакова Н.Р.
Аннотации
В связи с возрастающей популярностью Интернета вещей все острее становится вопрос выбора соответствующей операционной системы, которая определяет то, как будет работать будущая аппаратная архитектура. Рынок таких систем переполнен как проектами с открытым исходным кодом, так и коммерческими реализациями. В данной статье рассмотрены некоторые операционные системы, их особенности и направления использования.
Ключевые слова: Интернет вещей, Операционная система, Встроенная система, Программирование.
Due to increasing popularity of The Internet of Things, the problem of choosing the appropriate operating system, which determines how the future hardware architecture will work, becomes more acute. The market of such systems is crowded with open-source and commercial projects. The operating systems, their features and use cases are discussed in the article.
Keywords: Internet of things, Operating system, Embedded system, Programming.
Введение
Интернет вещей - это вычислительная сеть физических объектов для взаимодействия друг с другом или с внешней средой с применением различных технологий связи и стандартов соединения. [4] Аппаратная архитектура IoT представляет собой совокупность конечных узлов, которые должны быть оснащены сенсорами, и подключенные к ним агрегирующие устройства (шлюзы), соединенные с удаленными облачными платформами для передачи и последующей обработки данных для представления их в приложениях и сервисах. Конечные узлы принимают и передают данные, а шлюзы ответственны за обработку и маршрутизацию данных, а также являются файрволлами для защиты данных узлов. [5]
Для функционирования такой архитектуры разрабатывают операционные системы (ОС) для решения задач, которые необходимы как конечным узлам, так и шлюзам, в условиях некоторых ограничений.
Конечные узлы накладывают определенные ограничения на функционирование ОС, такие как небольшой объем памяти, работа в реальном времени, низкое электропотребление, поддержка нескольких платформ, предоставление работы с различными протоколами подключения к сети и обеспечение безопасности этого подключения, упрощение работы разработчика по кодированию и последующему развертыванию приложения.
Таким образом, ОС для Интернета вещей являются системами реального времени (real-time OS, RTOS). Системы реального времени, в соответствии со спецификацией UNIX, должны иметь возможность предоставлять требуемый уровень сервиса в условиях ограниченного времени отклика. [8] Это значит, что все задачи, выполняемые системой, должны быть выполнены за требуемое время, поэтому неудивительно, что такие системы часто используются в сложных авиационных, промышленных и медицинских устройствах.
операционная система интернет вещь
Шлюзы требуют от ОС такие функции, как поддержка протоколов передачи данных (HTTP, CoAP Constrained Application Protocol , MQTT Message Queue Telemetry Transport , UDP User Datagram Protocol и другие), обеспечение связи с облачной платформой и поддержка работы в условиях сбоев сети, агрегация данных, их локальная обработка в реальном времени для минимизации передаваемого объема данных в облако, обеспечение безопасности на аппаратном и сетевом уровне посредством поддержки шифрования, аутентификации пользователей и возможности подключения к VPN.
Рынок операционных систем для Интернета вещей
Существуют сотни платформ разработки встроенных систем, из которых самые известные Raspberry Pi, BeagleBoards, Intel Edison, а также Arduino platform - платформа с наибольшим сообществом разработчиков. В сфере разработки для промышленного сектора и широкомасштабных приложений работают Marvell, Texas Instruments, Broadcom, NXT, Qualcomm.
Самое важное отличие разрабатываемых продуктов, приведенных выше платформ - то, какая ОС используется. [6] Доминирующими ОС для таких платформ выступают, Contiki, Mbed OS, RIOT, TinyOS, FreeRTOS, Intel VxWorks, Brillo, Yocto, Windows 10 IoT Core и многие другие.
Таким образом, достаточно сложно выбрать ту систему, которая будет подходить под требования того или иного проекта. Для этого рассмотрим некоторые из перечисленных выше систем.
Contiki
Contiki является ОС с открытым исходным кодом исключительно для использования в Интернете вещей и является основой для построения сложных беспроводных систем. [10] В разработке участвовали команды Texas Instruments, SAP, Atmel, Cisco и многие другие.
Разрабатывается под лицензией BSD. Система работает на платформах AVR, MSP430, ARM Context-M, PIC32, а также поддерживает стандарты IPv6 и IPv4, протоколы UDP, TCP, HTTP вместе с новыми стандартами 6LoWPAN IPv6 over Low power Wireless Personal Area Network , RPL Remote Program Load , CoAP.
Ядро системы управляется событиями с вытесняющей приоритетной многозадачностью. Осуществляется поддержка динамической загрузки и компоновки модулей во время выполнения программы, что позволяет изменять поведение устройств после полного развёртывания. С целью рационального использования памяти с обеспечением стабильного потока управления в коде в системе используется механизм, называемый протопотоками, которые представляют собой смесь многопоточных и управляемых событиями механизмов программирования. Так, обработчики событий могут быть заблокированными в ожидании появления необходимого события.
Маршрутизаторы, используемые в сети для передачи сообщений между узлами, с использованием Contiki могут управляться батареей благодаря механизму циклического переключения радиосвязи ContikiMAC, который позволяет маршрутизаторам "спать" между каждыми передаваемыми сообщениями. Вместе с такими "спящими" маршрутизаторами работает стек Rime, который используется в условиях переполнения IPv6. Rime поддерживает простые операции, такие как отправка сообщения всем соседям или указанному соседу, и сложные операции, например, сетевое наводнение.
Система написана на С. Разработчики могут использовать Instant Contiki в качестве среды разработки и симулятор Cooja для эмуляции кода перед записью на устройство и ночного регрессионного тестирования, скриптовые сценарии которых можно использовать в качестве отправной точки для настройки симуляций и изучения работы механизмов Contiki. MbedOS
MbedOS специализируется на устройствах, работающих на микроконтроллерах ARM Cortex-M, обеспечивает защищенное взаимодействие устройств в реальном времени и
предоставляет драйвера для сенсоров и устройств ввода/вывода такие как устройства аналогового и цифрового ввода/вывода, I2C Inter-Integrated Circuit , SPI Serial Peripheral Interface и другие. Разрабатывается под лицензией Apache License 2.0. [3]
Система позволяет связывать устройства между собой с помощью таких технологий как Bluetooth, Wi-Fi, 6LoWPAN, NFC, FRID, Ethernet, сотовая связь и другие. Более того, за счет технологий IPv6 с 6LoWPAN система может использовать новый протокол Thread, который предназначен для использования в "умном" доме. Подключение осуществляется через ячеистую (mesh) сеть, в которой узлы соединяются по принципу "каждый с каждым", и позволяет дистанционно управлять домашними устройствами, такими как освещение или системами безопасности.
Для защиты таких связей имеются два основных инструмента. На аппаратном уровне используется ядро uVisor, работающее в режиме супервизора. Такой режим позволяет программному коду иметь доступ ко всем системным ресурсам и выполнять привилегированные операции, например, операции ввода/вывода к периферийным устройствам или изменение параметров защиты памяти. Так, uVisor имеет возможность создавать изолированные домены безопасности, которые позволяют ограничивать доступ к памяти и периферийным устройствам. Сверх этого, система использует протокол SSL/TLS для обеспечения безопасности работы в Интернете. Протокол подключается в проект с помощью специального API.
Система написана на С/С++. Для разработчиков предоставляется среда разработки, доступная в онлайн-режиме. Сама библиотека системы имеет модульную структуру и предоставляет свой API для упрощения и ускорения разработки.
RIOT
RIOT также популярная ОС с открытым исходным кодом для Интернета вещей, которая разрабатывается под лицензией LGPLv2. [7] Разработанный код может запускаться на 8 - (Arduino Mega 2560), 16 - (MSP430) и 32 - (ARM Context-M) битных платформах без изменения. Система поддерживает такие стандарты, как 6LoWPAN, IPv6, RPL, UDP, CoAP и CBOR Concise Binary Object Representation .
Система, в отличие от предыдущих систем, работает на микроядерной архитектуре, что означает работу минимального количества низкоуровневых механизмов в режиме ядра, таких как управление памятью, процессорным временем, доступом к устройствам ввода/вывода и межпроцессорной коммуникацией. Так, другие механизмы работают в пространстве пользователя. Таким образом, работа в реальном времени осуществляется эффективно посредством низкой задержки при прерываниях и приоритетного планирования. Система также предоставляет полную поддержку многопоточности.
Сама ОС написана на C/C++. Для разработки предоставляется возможность запускать систему в качестве процесса на Linux и OS X и использовать стандартные средства разработки и отладки, такие как GCC, GNU Debugger и другие. Являясь UNIX-подобной системой, частично соответствует стандарту POSIX и идет по пути полного соответствия.
Intel VxWorks
Intel VxWorks является коммерческой ОС жесткого реального времени для Интернета вещей и используется на 32-, 64-битных и многоядерных платформах, таких как ARM, Intel, Power Architecture. Поддерживаются как ассиметричная (AMP), так и симметричная (SMP) мультипроцессорная обработка в системе. [9]
Система имеет модульную архитектуру (микроядро), ядро отделено от протоколов, приложений и других пакетов, что позволяет обновлять и добавлять новые функции с минимальным повторным тестированием всей системы. Также ядро VxWorks является многозадачным с вытесняющим планировщиком.
Система способна работать с устройствами с различным объемом памяти, например, с имплантируемыми медицинскими устройствами с небольшим объемом памяти и с интеллектуальными системами, работающими с большим массивом данных.
Технология виртуализации (Virtualization Profile for VxWorks) предоставляет гипервизор типа 1, который позволяет использовать несколько автономных ОС на одном многоядерном процессоре. Для использования других систем необходимо запускать их через соответствующие виртуальные машины.
Для защиты передачи данных по сети используются Wind River SSL для шифрования, Wind River SSH, Wind River Cryptography Libraries для защиты сетевых коммуникаций. Инъекции и выполнение вредоносного кода предотвращаются посредством разрешения запуска исключительного аутентифицированных двоичных файлов.
Наряду с поддержкой языков С/С++ имеется также поддержка выполнения приложений, написанных на Java, с помощью Wind River Micro Runtime. Так, разработчики могут создавать приложения, обеспеченные повышенной эффективностью разработки и переносимостью кода. Для этих целей система использует файл формата JEFF ISO/IEC 20970: 2002 , который, в сравнении с jar-файлом, имеет более компактный формат исполняемого файла, а значит более эффективную работу. Также Micro Runtime включает в себя основные протоколы связи (TCP, UDP, CoAP, MQTT) и периферийные интерфейсы (GPIO General-Purpose Input-Output . I2O Intelligent Input/Output ).
Выводы
Активное использование устройств Интернета вещей для управления различными отраслями экономики Российской Федерации предусмотрено программой "Цифровая экономика Российской Федерации", утвержденной постановлением Правительства РФ № 1632-р от 28.07.2017 года.
Следовательно, внедрение операционных систем для работы устройств Интернета вещей является одной из составляющих "цифровизации" экономики и может оказать значительное влияние на формирование информационных пространств предприятий в различных отраслях экономики. Одной из таких отраслей экономики является жилищно-коммунальное хозяйство РФ, где также возможно в ближайшей перспективе активное использование устройств Интернета вещей [1, 2].
Как видно из небольшого обзора некоторых систем, каждая из них по-своему отвечает на требования со стороны конечных узлов и шлюзов, поэтому при выборе ОС имеет решающее значение для успеха любого проекта, связанного с Интернетом вещей. Общий обзор рассмотренных систем представлен в таблице 1. Так, необходимо отталкиваться в первую очередь от используемых компонентов экосистемы, таких как платформа конечных узлов и шлюзов, предпочитаемая облачная платформа, программное обеспечение, которое будет использовано в процессе написания и эмуляции кода, а также сфера проекта и время, необходимое для выхода на рынок (time-to-market).
Таблица 1. Краткий обзор рассмотренных операционных систем.
Операционная система |
Языки разработки |
Способ распространения |
Особенности |
|
Contiki |
C |
Открытый исходный код |
Ядро управляется событиями с вытесняющей приоритетной многозадачностью; Реализация механизма протопотоков; Спящие маршрутизаторы; Стек Rime |
|
MbedOS |
C, C++ |
Открытый исходный код |
Работа на микроконтроллерах ARM Cortex-M; Использование протокола Threads; Ядро uVisor, работающее в режиме супервизора; |
|
RIOT |
C, C++ |
Открытый исходный код |
Микроядерная архитектура; Поддержка разных архитектур микроконтроллеров (8-, 16 - и 32-битных архитектур) |
|
Intel VxWorks |
C, C+, Java |
Коммерческая система |
Поддержка многоядерных архитектур; Работа с различным объемом памяти; Ядро многозадачное с вытесняющим планировщиком; оддержка языка Java |
Так, в случае, если имеется необходимость в быстром выходе на рынок, то лучше выбрать коммерческую ОС, так как она не требует организацию работы программистов для длительной разработки и тестирования будущей экосистемы. С другой стороны, такие системы имеют высокую цену. При общении к системам с открытым исходным кодом необходимо быть готовым к высоким трудозатратам, длительной подготовке к выходу на рынок, но при этом разработка будет стоить меньше.
Список литературы
1. Попов А.А. Анализ возможности использования устройств Интернета вещей для формирования единого информационного пространства жилищно-коммунального хозяйства // Креативная экономика. 2017. Том 11, № 2. C.223-240. doi: 10.18334/ce.11.2.37530
2. Попов А.А. Формирование информационной системы для управления многоквартирным домом на основе устройств Интернета вещей. // Известия Российского экономического университета им. Г.В. Плеханова. 2015. №2 (20). С.69-83.
3. Features and benefits of Mbed OS // Mbed URL: https: // www.mbed.com/en/development/mbedos/#features (дата обращения: 03.12.2017).
4. Internet of Things Defined // Technology Research | Gartner Inc. URL: https: // www.gartner.com/it-glossary/internet-of-things (дата обращения: 02.12.2017).
5. IoT Operating Systems // Electronics Components URL: https: // www.arrow.com/en/researchand-events/articles/iot-operating-systems (дата обращения: 02.12.2017).
6. Operating Systems for IoT Embedded Systems // Web of Things URL: https: // webofthings.org/2016/12/12/iot-os-embedded (дата обращения: 03.12.2017).
7. RIOT - The friendly Operating System for the Internet of Things URL: http://www.riot-os.org/ (дата обращения: 05.12.2017).
8. The Open Group Library // Electronics Components URL: http://pubs. opengroup.org/onlinepubs/007908775/xsh/realtime.html (дата обращения: 02.12.2017).
9. VxWORKS The Product Overview // Wind River URL: http://www.riot-os.org/ (дата обращения: 05.01.2017).
10. What is Contiki? // Contiki: The Open Source Operating System for the Internet of Things URL: http://www.contiki-os.org/#why (дата обращения: 03.12.2017).
Размещено на Allbest.ru
...Подобные документы
Архитектура систем интернета вещей. Модели взаимодействия устройств интернета вещей. Связи устройство-устройство, устройство-облако, устройство–шлюз. Модель передачи данных в бэк-энд. Алгоритмы обработки данных. Проведение анализа данных в маркетинге.
дипломная работа [643,8 K], добавлен 17.06.2017Небезопасность и ненадежность интернета вещей. Специфика медицинских систем мониторинга в сетях IOT. Высокоуровневая архитектура системы Medicus. Детали реализации обработки внешних данных. Безопасность IOT устройств. Меры защиты персональных данных.
курсовая работа [2,4 M], добавлен 24.07.2016История развития и основные направления использования вычислительной техники как в России, так и за рубежом. Понятие, особенности и развитие операционной системы. Содержание и структура файловой системы. Системы управления базами данных и их применение.
контрольная работа [81,4 K], добавлен 06.04.2011Понятие операционной системы. История ее создания и развития. Разновидности современных операционных систем. Основные функции ОС общего и специального назначения. Вычислительные и операционные системы, их функции. Генерация операционной системы.
курсовая работа [46,8 K], добавлен 18.06.2009Серверные операционные системы, их особенности и сферы применения. Функции и ресурсы операционной системы Windows Server 2003. Сервер как программный компонент вычислительной системы. Аппаратные и серверные решения. Минимальные системные требования.
презентация [1005,9 K], добавлен 05.12.2013Функции пользователей в локальной вычислительной сети, анализ и выбор организации ресурсов. Выбор сетевой операционной системы. Сервисное программное обеспечение. Выбор протокола, сетевой технологии и кабеля. Резервирование и архивирование данных.
дипломная работа [2,0 M], добавлен 22.02.2013Оценка рынка Интернета вещей. Сущность и понятие закупочной деятельности предприятия в рамках логистического подхода. Возникновение технологий штрихкодирования. Маркировка RFID этикетками на уровне грузовой единицы. Применение RFID технологии компаниями.
курсовая работа [45,9 K], добавлен 13.10.2015Расчеты параметров проектируемой локальной вычислительной сети. Общая длина кабеля. Распределение IP-адресов для спроектированной сети. Спецификация оборудования и расходных материалов. Выбор операционной системы и прикладного программного обеспечения.
курсовая работа [940,7 K], добавлен 01.11.2014Подбор пассивного сетевого оборудования. Обоснование необходимости модернизации локальной вычислительной сети предприятия. Выбор операционной системы для рабочих мест и сервера. Сравнительные характеристики коммутаторов D-Link. Схемы локальной сети.
курсовая работа [1,9 M], добавлен 10.10.2015Анализ локально-вычислительной сети компании. Выбор общего программного обеспечения, обеспечения для инженерного отдела, бухгалтерии, сервера. Состав программного обеспечения вычислительной системы и его конфигурация. Сетевые операционные системы.
курсовая работа [405,4 K], добавлен 08.02.2016Разработка топологии сети, выбор операционной системы, типа оптоволоконного кабеля. Изучение перечня функций и услуг, предоставляемых пользователям в локальной вычислительной сети. Расчет необходимого количества и стоимости устанавливаемого оборудования.
курсовая работа [3,1 M], добавлен 26.12.2011Проект локальной вычислительной сети, объединяющей два аптечных магазина и склад. Выбор топологии сети и методов доступа. Технико-экономическое обоснование проекта. Выбор сетевой операционной системы и разработка спецификаций. Смета на монтаж сети.
курсовая работа [501,4 K], добавлен 08.06.2011Назначение информационной системы. Требования к организации локальной сети, к системе бесперебойного питания сервера, к защите информации от несанкционированного доступа, к безопасности локальной сети, к web-сайту. Выбор серверной операционной системы.
дипломная работа [1,4 M], добавлен 22.12.2010Характеристика предприятия ООО "Промагро". Обоснование необходимости внедрения локально вычислительной сети в организации. Выбор топологии, планирование логической и физической структуры сети. Выбор операционной системы и сетевого аппаратного обеспечения.
курсовая работа [595,6 K], добавлен 12.09.2015Конфигурация серверной машины на примере Hyperion RS230 G4. Выбор серверной операционной системы. Аппаратная составляющая сервера. Правило замены блоков. Сборка и установка в стойку. Оптимизация работы оборудования. Обновление операционной системы Unix.
курсовая работа [3,7 M], добавлен 11.09.2014Выбор спецификации активного и пассивного сетевого оборудования локальной вычислительной сети. Расчет количества кабеля и кабель-каналов. Выбор операционной системы рабочих станций. Настройка серверного, активного сетевого и серверного оборудования.
курсовая работа [2,5 M], добавлен 18.05.2021Примеры использования внешних команд операционной системы на примере ОС MS DOS. Отличие относительной от абсолютной ссылки в электронных таблицах. Причины создания глобальных компьютерных сетей. Концепция "Галактической сети" Джозефа Ликлайдера.
контрольная работа [23,3 K], добавлен 26.06.2013Понятие операционной системы (ОС) как базового комплекса компьютерных программ для управления аппаратными средствами компьютера и работы с файлами. Файловые системы и их основные функции. Способы именования файлов при создании диска, совместимость с ОС.
контрольная работа [36,8 K], добавлен 20.11.2009Создание программного продукта, предназначенного для небольшой сети с оптимизацией ее работы на платформе операционной системы Linux; администрирование. Разработка модуля протоколов управления; методика тестирования подсистемы; системотехнический анализ.
дипломная работа [5,4 M], добавлен 27.06.2012Понятие и структура локальной вычислительной сети как коммуникационной системы, объединяющей компьютеры и подключаемое к ним оборудование. Принципы ее формирования и оценка функционирования. Исследование возможностей и эффективности работы сети.
дипломная работа [639,1 K], добавлен 19.06.2015