Jump to content

TinyOS

TinyOS
Разработчик Альянс TinyOS
Написано в Неши
Семейство ОС Встроенные операционные системы
Рабочее состояние Текущий
Исходная модель Открытый исходный код
Первоначальный выпуск 2000 ; 24 года назад ( 2000 )
Последний выпуск 2.1.2 / 20 августа 2012 г .; 11 лет назад ( 20 августа 2012 )
Репозиторий
Маркетинговая цель Беспроводные сенсорные сети
Доступно в Английский
Лицензия БСД
Официальный сайт Тиниос .сеть

TinyOS — это встроенная компонентная операционная система и платформа для маломощных беспроводных устройств, например, используемых в беспроводных сенсорных сетях (WSN), smartdust , повсеместных вычислениях , персональных сетях , автоматизации зданий и интеллектуальных счетчиках . Он написан на языке программирования nesC как набор взаимодействующих задач и процессов. Оно началось как сотрудничество Калифорнийского университета в Беркли , Intel Research и Crossbow Technology , было выпущено как бесплатное программное обеспечение с открытым исходным кодом под лицензией BSD и с тех пор переросло в международный консорциум TinyOS Alliance .

TinyOS использовалась в космосе и была реализована в ESTCube-1 .

Реализация [ править ]

Приложения TinyOS написаны на языке программирования nesC , диалекте языка C, оптимизированном для ограничений памяти сенсорных сетей. Его дополнительные инструменты представлены в основном в виде Java и сценариев оболочки интерфейсов . Связанные библиотеки и инструменты, такие как компилятор nesC и наборы инструментов Atmel AVR binutils, в основном написаны на C.

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

TinyOS полностью неблокирующая : имеет один стек вызовов . Таким образом, все операции ввода/вывода (I/O), которые длятся дольше нескольких сотен микросекунд, являются асинхронными и имеют обратный вызов . Чтобы обеспечить лучшую оптимизацию встроенного компилятора за пределами границ вызовов, TinyOS использует функции nesC для статической связи этих обратных вызовов, называемых событиями. Несмотря на то, что неблокируемость позволяет TinyOS поддерживать высокий уровень параллелизма с одним стеком, она заставляет программистов писать сложную логику, объединяя множество небольших обработчиков событий. Для поддержки более крупных вычислений TinyOS предоставляет задачи, похожие на отложенный вызов процедур и нижние половины обработчика прерываний . Компонент TinyOS может опубликовать задачу, запуск которой ОС запланирует позже. Задачи не являются вытесняющими и выполняются в порядке «первым пришел — первым вышел» . Эта простая модель параллелизма обычно достаточна для приложений, ориентированных на ввод-вывод, но ее трудности с приложениями, нагруженными процессором, привели к разработке библиотеки потоков для ОС под названием TOSThreads. TOSthreads не поддерживается и устарел. [1]

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

История [ править ]

TinyOS начинался как проект Калифорнийского университета в Беркли в рамках программы DARPA NEST. С тех пор в нем приняли участие тысячи академических и коммерческих разработчиков и пользователей по всему миру. (перечислить в обратном хронологическом порядке)

  • Август 2012 г.: выпущена TinyOS 2.1.2.
  • Апрель 2010 г.: выпущена TinyOS 2.1.1.
  • Август 2008 г.: выпущена TinyOS 2.1.0.
  • Июль 2007 г.: выпущена TinyOS 2.0.2. Начинается работа над TinyOS 2.1, которая включает в себя небольшие изменения в нескольких интерфейсах.
  • Апрель 2007 г.: TinyOS 2.0.1 выпущен на 4-й выставке TinyOS Technology Exchange в Кембридже, Массачусетс.
  • Ноябрь 2006 г.: TinyOS 2.0 выпущен на конференции SenSys в Боулдере, Колорадо.
  • Июль 2006 г.: выпущена бета-версия TinyOS 2.0.
  • Февраль 2006 г.: TinyOS 2.0 beta1 выпущена на 3-й выставке TinyOS Technology Exchange в Стэнфорде, Калифорния.
  • Декабрь 2005 г.: выпущена TinyOS 1.1.15, последняя версия 1.1.
  • Июль 2005 г.: завершение проекта NEST.
  • Июнь 2004 г.: Формируется рабочая группа по следующим шагам для TinyOS на основе опыта переноса на новые платформы. Группа соглашается начать работу над версией 2.0.
  • Сентябрь 2003 г. – декабрь 2005 г.: TinyOS начинает процесс периодического второстепенного выпуска.
  • Август 2003 г.: выпущена версия TinyOS 1.1, которая включает новые функции nesC, включая обнаружение гонок данных.
  • Сентябрь 2002 г.: выпущена версия TinyOS 1.0, реализованная в nesC.
  • Апрель 2002 г.: Начинается работа над языком программирования nesC в результате сотрудничества Intel Research и Калифорнийского университета в Беркли.
  • Февраль 2002 г.: Беркли распределяет 1000 слюдяных узлов среди других участников проекта NEST.
  • 2001: Беркли разрабатывает платформу Mica и выпускает версию TinyOS 0.6.
  • 2000: Беркли разрабатывает платформу Rene и сотрудничает с Crossbow, Inc., которая занимается массовым производством оборудования. Версия TinyOS 0.43 доступна для общественности через SourceForge. Версии TinyOS до 1.0 представляют собой смесь скриптов C и Perl .
  • 1999: В Беркли разрабатываются первая платформа TinyOS (WeC) и реализации ОС.

Интегрированные среды разработки [ править ]

По состоянию на 2010 год три интегрированные среды разработки для TinyOS доступны (IDE) в виде плагинов для Eclipse :

  • YETI 2 , ETH Zürich (разработка остановлена)
  • XPairtise Расмуса Педерсена, Копенгагенская школа бизнеса
  • TinyDT , Университет Вандербильта

Ссылки [ править ]

  1. ^ «Репозиторий разработки TinyOS TOSThreads устарел» . Репозиторий текущей разработки TinyOS . Проверено 3 декабря 2018 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 684413a77bb617b8fd5422cae63e5150__1699957020
URL1:https://arc.ask3.ru/arc/aa/68/50/684413a77bb617b8fd5422cae63e5150.html
Заголовок, (Title) документа по адресу, URL1:
TinyOS - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)