Программное обеспечение для БСС
В настоящее время в большинстве БСС используется операционная система TinyOS, разработанная в Университете Беркли специально для использования в БСС. TinyOS - это ОС класса Open Source, характерными особенностями которой являются компонентная архитектура, событийная модель управления и статическое распределение памяти. Благодаря этому обеспечивается минимальный размер кода, что существенно для узлов БСС, имеющих строгие ограничения по объему памяти и электропитанию от автономных малогабаритных источников. TinyOS является управляемой событиями операционной системой реального времени, рассчитанной на работу в условиях ограниченных вычислительных ресурсов, обеспечивающей возможность установки автоматической связи узлов с соседями и формирование сенсорной сети заданной топологии. Библиотека компонентов TinyOS включает сетевые протоколы, драйверы сенсоров и утилиты получения и сбора информации, которые могут быть усовершенствованы в клиентских приложениях. Реализованная в TinyOS событийная модель дает возможность управлять питанием на низком уровне, что позволяет экономить энергопотребление. Это определяет использование TinyOS в абсолютном большинстве аппаратных платформ и многочисленных сенсорных устройствах.
Существенное отличие TinyOS от ОС общего назначения (UNIX, Windows и др.) обусловлено тем, что приложения для БСС не являются интерактивными в том же смысле, что и приложения для обычных ПК, и TinyOS не нуждается во встроенной поддержке пользовательского интерфейса. Разработчиками TinyOS основное внимание было уделено обеспечению минимизации энергопотребления и возможности использования для программирования языка c высоким уровнем абстракции. В результате была создана ОС с простой, но весьма развитой компонентной архитектурой, специфика которой заключается в обеспечении развитых и надежных механизмов параллельного выполнения задач в условиях крайне ограниченных ресурсов. Для программирования используется компонентно-ориентированный язык NesC (network embedded system C), построенный на базе C. Основной структурной единицей программы на NesC является компонент, который через интерфейсы взаимодействует с другими компонентами. Язык программирования NesC обладает большим количеством стандартных компонентов и интерфейсов, посредством которых можно создавать эффективные приложения для сенсорных узлов. Компилируются написанные приложения при помощи специальных программ - кросскомпиляторов на обычных ПК.
Приложение для TinyOS представляет собой набор компонентов, каждый размером примерно 200 байт, и интерфейсов для межкомпонентного взаимодействия. Для каждого конкретного приложения формируется свой набор компонентов. Полученное приложение на этапе компиляции для конечной платформы (iris, mica2, telos, и т.д.) интегрируется с ядром системы в один выполняемый файл, который и загружается на сенсорный узел.
Следует отметить, что при создании БСС разрабатываются распределенные приложения и для полноценного их тестирования нужна сеть, содержащая большое количество узлов, для тестирования и отладки. В связи с этим необходимы программы-эмулятороры.
Do'stlaringiz bilan baham: |