TinyOS

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 12:09, 23 мая 2019.
TinyOS
Tiny OS.jpg
Разработчик Альянс TinyOS
Написана на nesC
Линейка ОС Встраиваемые системы
Дата первого релиза 2000
Последний релиз 2.1.2 (август 2012 г.)
Лицензия BSD
Официальный веб-сайт tinyos.net

TinyOS — это встроенная, основанная на компонентах операционная система и платформа для беспроводных устройств с низким энергопотреблением, таких как устройства, используемые в беспроводных сенсорных сетях (WSN), smartdust, повсеместных вычислениях, персональных сетях, автоматизации зданий и интеллектуальных счетчиках.

Реализация

Он написан на языке программирования nesC, диалекте C, как набор взаимодействующих задач и процессов. Её дополнительные инструменты представлены в основном в форме Java-приложений и интерфейсов для shell-скриптов

TinyOS предоставляет встроенные интерфейсы, модули и специфические настройки, зависящие от датчика, которые позволяют программистам создавать программу как набор модулей, которые выполняют определенные для программы задачи. Модули TinyOS обеспечивают интерфейс к стандартным аппаратным средствам ввода, вывода и датчикам.

Код TinyOS статически связан с кодом программы и компилируется в маленький исполняемый файл при помощи традиционного инструментария GNU toolchain. Сопутствующие утилиты предоставляют полноценную платформу для разработки под TinyOS.

Архитектура

Архитектура TinyOS включает две главные функциональные составляющие: планировщик задач и компонент. Понятие «компонент» в TinyOS несколько отличается от общепринятого. Так, интерфейс компонента TinyOS состоит из двух частей: верхней (upper), предоставляемой этим компонентом как провайдером, и нижней (lower), требуемой для его функционирования. Обе части содержат описания команд и событий.

История

Все началось с сотрудничества между Калифорнийским университетом, Беркли, Intel Research и Crossbow Technology, было выпущено в виде бесплатного программного обеспечения с открытым исходным кодом под лицензией BSD и с тех пор превратилось в международный консорциум TinyOS Alliance.

1999 - первая платформа TinyOS (WeC) и реализация ОС.

2000 - версия 0.43 TinyOS.

2001 - выпуск версии TinyOS 0.6.

2002 - работа над nesC, начало сотрудничества Intel Research и UC Berkeley. Выпуск версии 1.0 реализованное в nesC.

2003 - выпуск версии TinyOS 1.1.

2005 - завершение проекта NEST. Выпуск версии 1.1.15.

2006 - выпуск версий TinyOS 2.0 и beta1 2.0 beta2.

2007 - выпуск версий TinyOS 2.0.1, 2.0.2 и 2.1.

2008 - выпущена TinyOS 2.1.0.

2010 - выпущена TinyOS 2.1.1.

2012 - выпущена TinyOS 2.1.2.

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

Преимущества

  • Маленький размер - исходный код TinyOS очень маленький. Код оптимизирован для работы на любом конкретном устройстве. Из-за меньшего кода устройства работают быстро, а ОС не склонна перегружать устройство.
  • Управляемая событиями - управляемая событиями ОС, которая означает, что она зависит от событий, которые она получает из окружающей среды. Например, контроль температуры, влажности и качества воздуха в здании. Событие запускается, когда температура поднимается выше или ниже определенной степени, и операционная система управляет устройствами кондиционирования воздуха для поддержания температуры на нормальном уровне.
  • Модульность - в TinyOS есть разные модули. Каждый модуль выполняет свою функцию. Модули включают задачи, команды, события, микроконтроллер, аппаратное и программное обеспечение. Каждый из этих модулей связывается друг с другом, чтобы обеспечить правильную работу беспроводных устройств.
  • Требуется низкий объем памяти - TinyOS - это тип встроенной ОС, которая реализована на каждом устройстве. Требуется мало памяти для запуска. Нам не нужно покупать устройства с большим объемом памяти для запуска этой операционной системы.
  • Используйте низкое напряжение - из-за низкого использования памяти и пространства tinyOS использует низкий заряд батареи. TinyOS может работать на небольших устройствах, которые также имеют низкое напряжение.
  • Возможность многократного использования - TinyOS можно многократно использовать на аналогичных устройствах. Это означает, что код не должен изменяться, если устройства имеют одинаковую природу.

Литература

  • Сitforum.ru [Электронный ресурс]: Операционные системы реального времени / Дата обращения: 01.04.2019. Режим доступа: citforum.ru/operating_systems/rtos/15.shtml
  • P. Levis, S. Madden, J. Polastre, R. Szewczyk, K. Whitehouse, A. Woo, D. Gay, J. Hill, M. Welsh, E. Brewer, and D. Culler // TinyOS: An Operating System for Sensor Networks / Дата обращения: 01.04.2019. Режим доступа: https://people.eecs.berkeley.edu/~pister/290Q/Papers/levis06tinyos.pdf
  • Сompress.ru[Электронный ресурс]: Беспроводные сенсорные сети. / Дата обращения: 01.04.2019. Режим доступа: https://compress.ru/article.aspx?id=19369