Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Nano-RK: Операционная система реального времени (RTOS) для беспроводных сенсорных сетей [1] [2] - это операционная система реального времени (RTOS) от Университета Карнеги-Меллона, разработанная для работы на микроконтроллерах для использования в сенсорных сетях. Nano-RK поддерживает полностью вытесняющий планировщик с фиксированным приоритетом и детализированными примитивами синхронизации для поддержки наборов задач в реальном времени. «Нано» означает, что ОСРВ мала, потребляет 2 КБ ОЗУ и 18 КБ флэш-памяти , а «РК» - сокращение от ресурсного ядра . Ядро ресурсов обеспечивает резервирование того, как часто могут потребляться системные ресурсы. Например, задачаможет быть разрешено выполнять только 10 мс каждые 150 мс (резервирование ЦП), или узлу может быть разрешено передавать только 10 сетевых пакетов в минуту (резервирование сети). Эти резервирования формируют виртуальный бюджет энергии, чтобы гарантировать, что узел соответствует расчетному сроку службы батареи, а также защищает отказавший узел от чрезмерного сетевого трафика. Nano-RK имеет открытый исходный код , написан на языке C и работает на сетевой платформе датчиков FireFly на базе Atmel , пылинках MicaZ и процессоре MSP430 . [3]

В следующей статье [4] обсуждаются некоторые компромиссы, связанные с использованием ОСРВ в сенсорных сетях.

преимущество [ править ]

NanoRK использует преимущества упреждающего планирования на основе приоритетов, чтобы учитывать фактор детерминированности в реальном времени, обеспечивая своевременность и синхронизацию задач. Из-за характеристики ограниченного заряда аккумулятора на беспроводном узле Nano-RK обеспечивает эффективность ЦП, сети и датчиков за счет использования виртуальных резервов энергии, обозначая эту систему как ресурсное ядро. Эти резервирования энергии могут усилить энергетические и коммуникационные бюджеты, чтобы минимизировать негативное влияние на срок службы узла из-за непреднамеренных ошибок или злонамеренного поведения других узлов в сети. Он поддерживает пересылку пакетов, маршрутизацию и другие протоколы сетевого планирования с помощью легкого беспроводного сетевого стека. По сравнению с другими операционными системами датчиков тока,Nano-RK обеспечивает широкие функциональные возможности и своевременное планирование с небольшим объемом встроенного ядра ресурсов (RK).[5]

Особенности Нано-РК [ править ]

Статическая конфигурация - Nano-RK использует статический подход во время разработки для управления использованием энергии. Создание динамических задач запрещено Nano-RK, требуя, чтобы разработчики приложений устанавливали как задачи, так и квоты / приоритеты резервирования в проекте статического тестового стенда. Такой дизайн позволяет разработчикам создавать энергетический бюджет для каждой задачи, чтобы поддерживать требования приложений, а также энергоэффективность на протяжении всего срока службы системы. При использовании подхода статической конфигурации все конфигурации среды выполнения, а также требования к питанию предварительно определяются и проверяются разработчиком перед развертыванием системы и ее запуском в реальном мире. Такой подход также помогает гарантировать стабильность и компактность по сравнению с традиционными ОСРВ.

Поддержка сторожевого таймера. Сторожевой таймер - это программный таймер, который запускает действие сброса системы, если система зависает при критических сбоях в течение длительного периода времени. Механизм сторожевого пса может вернуть систему из состояния отсутствия ответа в нормальный режим работы, дождавшись срабатывания таймера и последующей перезагрузки устройства. В Nano-RK сторожевой таймер привязан непосредственно к сигналу сброса процессора REBOOT ON ERROR. По умолчанию он включается при загрузке системы и сбрасывается каждый раз при выполнении планировщика. Если система не отвечает в течение предварительно определенного периода времени, она перезагрузится и выполнит последовательность инструкций по инициализации, чтобы восстановить контроль.

Режим глубокого сна - еще одна особенность Nano-RK - режим глубокого сна. По соображениям энергоэффективности, если нет подходящих для запуска задач, систему можно выключить и дать ей возможность перейти в режим глубокого сна. Когда система находится в режиме глубокого сна, только таймер глубокого сна может разбудить систему с заранее заданным периодом задержки. После выхода из режима глубокого сна устанавливается время следующего переключения контекста, чтобы гарантировать своевременное пробуждение ЦП. Если сенсорный узел не желает переходить в режим глубокого сна, ему также предоставляется выбор перейти в состояние с низким энергопотреблением, продолжая управлять своими периферийными устройствами.

Очередь готовности НАНО-РК [ править ]

В Nano-RK реализован двойной связанный список готовых узлов очереди в массиве фиксированного размера, называемый очередью готовности, который упорядочивает все готовые задачи в порядке убывания в зависимости от того, какой из приоритетов задачи выше. Поскольку количество задач, выполняемых в рамках реализации Nano-RK, статически настраивается на испытательном стенде перед развертыванием, размер очереди готовности также фиксируется для этого количества задач, которые могут быть готовы к запуску. В файле nrk defs.h находится массив фиксированной длины с именем nrk readyQ вместе с двумя указателями для ссылки на две наиболее важные ячейки в этом массиве. Указатель свободного узла (свободный узел) и указатель головного узла (головной узел) указывают на следующую ячейку в массиве, которая должна быть выделена, и текущая задача с наивысшим приоритетом, готовая к запуску, соответственно.

ПЛАНИРОВЩИК [ править ]

Ядро Nano-RK - это статический планировщик с вытеснением в реальном времени, основанный на приоритетах и ​​энергоэффективный. При упреждающем планировании на основе приоритетов планировщик всегда выбирает задачу с наивысшим приоритетом из очереди готовности. В целях экономии энергии задачи не опрашивают ресурс, а скорее задачи будут заблокированы при определенных событиях и могут быть разблокированы при возникновении событий. Когда в очереди готовности нет задачи, систему можно выключить для экономии энергии. Когда система работает, одна и только одна задача (текущая задача), обозначенная nrk cur task tcb, выполняется в течение заранее определенного периода. Таким образом, самая важная задача планировщика - решить, какая задача должна выполняться следующей и как долго должна выполняться следующая задача, пока планировщик не будет запущен для повторного запуска.

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

  1. nano-RK. Архивировано 11 мая 2008 г. в Wayback Machine.
  2. ^ [1] А. Эсваран, А. Роу и Р. Раджкумар, «Nano-RK: энергоэффективная ресурсо-ориентированная операционная система для сенсорных сетей», Симпозиум IEEE по системам реального времени, декабрь 2005 г.
  3. ^ Anand Eswaran и Энтони Роу и Радж Rajkumar, «FireFly: Время синхронизированноереальном времени Датчик Networking Platform»
  4. ^ embedded.com
  5. ^ [3] Ананд Эсваран, Энтони Роу и Радж Раджкумар, «Nano-RK: ресурсо-ориентированная ОСРВ для сенсорных сетей, ориентированная на энергопотребление», 2005 г.

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