TinyOs. Simulators. Programming for TinyOS. Садков Александр Аспирант РФ axel@wl.unn.ru Сайт курса:

Презентация:



Advertisements
Похожие презентации
Topology Control. Coverage. Localization. Time Synchronization. Садков Александр Аспирант РФ Сайт курса:
Advertisements

Учебный курс Технологии и средства разработки корпоративных систем Лекция 1 Открытые системы. Клиент и сервер Лекции читает кандидат технических наук,
Администрирование информационных систем Лекция 4. Система управления базами данных.
Организация распределенных прикладных систем. Попытаемся ответить на вопросы Как устроены распределенные прикладные системы? Каковы наиболее важные их.
Основы операционных систем. Литература к курсу (основная) В.Е.Карпов, К.А.Коньков Основы операционных систем.
Лекция 6 Понятие операционных систем Учебные вопросы: 1. Характеристики ОС 2. Свободные и проприетарные ОС.
Тема 3 Рассматриваемые вопросы 1. Классификация сетей 2. Назначение сетей 3. Компоненты вычислительных сетей 4. Топологии сетей 5. Архитектура сетей.
Выполнили: Мартышкин А. И. Кутузов В. В., Трояшкин П. В., Руководитель проекта – Мартышкин А. И., аспирант, ассистент кафедры ВМиС ПГТА.
Архитектура операционных систем. Архитектура ОС Состав модулей (компонент) ОС Структура связей между отдельными модулями ОС Принципы взаимодействия модулей.
Архитектура операционных систем Семестр 2, Лекция 1.
АлтГТУ им И. И. Ползунова. АлтГТУ им. И. И. Ползунова Проблемы эксплуатации Текст.
Технические возможности. Наши цели Максимальная гибкость Максимальная скорость считывания и обработки данных Стабильность работы Максимальная простота.
1 Микропроцессорная система. 2 Особенности микропроцессорных систем Гибкая логика работы меняется в зависимости от задачи; Универсальность может решать.
Учебный курс Основы операционных систем Лекция 1 кандидат физико-математических наук, доцент Карпов Владимир Ефимович.
Операционные системы Введение (часть 4) 4.Основы архитектуры операционных систем 4.1.Базовые понятия 4.2.Свойства ОС 4.3.Структура ОС 4.4.Логические функции.
1 Микропроцессорные системы. 2 Основные термины Процессор обработчик и вычислитель, выполняющий все операции над кодами и сигналами; Программа набор управляющих.
ПОНЯТИЕ ПРОГРАММЫ, ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.. Программа - составленная на понятном компьютеру языке точная и подробная последовательность инструкций;
Раздел 3 Сетевые модели. Тема 3.1 Понятие сетевой модели. Архитектура сети определяет основные элементы сети, характеризует ее общую логическую организацию,
Кооперация процессов Процессы Бленда Николай Андреевич 2009.
КЛАССИФИКАЦИЯ КОМПЬЮТЕРОВ Работу выполнил : Смирнов Александр.
Транксрипт:

TinyOs. Simulators. Programming for TinyOS. Садков Александр Аспирант РФ Сайт курса:

План TinyOS Simulators TOSSIM SNS Avrora Programming for TinyOs

TinyOs Почему нам нужна новая операционная система? Традиционные операционные системы: Большие! Многопотоковая архитектура – большие объемы памяти. Пространство ядра системы и пользовательское пространство разделены. Нет энергетических ограничений. Большие вычислительные ресурсы.

TinyOs Ограничения сенсорных сетей? Мощность. Ограниченный размер памяти. Слабый микропроцессор. Небольшие размеры. Ограниченный параллелизм. Передача информации с помощью маломощных трансиверов: Малая скорость передачи Короткие расстояния

TinyOs Занимающая небольшой объем памяти. Эффективная в плане энергии и вычислений. Передача информации должно быть фундаментальным. Real-time. Достаточно гибкая. Какая операционная система нам нужна?

TinyOs Конкуренция : Использует event-driven архитектуру. Модульность. Приложения составляются из нескольких компонентов. OS + Приложения компилируются в единый исполняемый модуль. Использование event/command модели. FIFO и системы планирования. Нет границы между ядром системы и приложениями.

TinyOs and NesC Новый язык NesC, основная единица кода – компонент. Компонент: Обрабатывает команды (commands) Посылает события (events) Имеет Frame для хранения локального состояния. Использует задачи (tasks) для конкуренции. Компонент предоставляет интерфейсы (interfaces). Используются другими компонентами для связи. Компоненты связываются между собой с помощью конфигуратра (configuration).

TinyOs and NesC

Application = Graph of Components

Commands/Events/Tasks Команды (commands). Должны быть не блокирующие. То есть, берет параметры, начинает обработку и возвращается к приложению; откладывает выполнение трудоемких задач путем объявления задач (tasks). События (events): Могут вызывать команды, сигнализировать другие события, объявлять задачи, но не могут быть вызваны командами. Заменяют задачи, но не наоборот. Задачи (tasks): Планирование FIFO. Не могут быть заменены другими задачами, но заменяются событиями. Используются для выполнения вычислительно интенсивных задач. Могут быть объявлены командами или событиями.

Scheduler В Планировщике два уровня: события (events) и задачи (tasks). Планировщик – простой FIFO Задача не может быть заменена другой задачей Событие может заменить задачу (имеет больший приоритет)

Simulators

TOSSIM Avrora EmStar SNS

TOSSIM Использует реалистичные модели канала. Высокая повторяемость экспериментов Масштабируемость до тысяч узлов. Компилирует напрямую TinyOs код. Помогает отловить наиболее общие баги. Не очень подходит для моделирования «временных» задач. Philip Levis, Nelson Lee, Matt Welsh, and David Culler TOSSIM: Accurate and Scalable Simulation of Entire TinyOS Applications. In Proceedings of the First ACM Conference on Embedded Networked Sensor Systems (SenSys 2003).TOSSIM: Accurate and Scalable Simulation of Entire TinyOS Applications

Avrora Для AVR (Atmel) микроконтроллеров (узлы Mica2). Тестирование программного кода перед установкой на железо. Профилировщик – позволяет лучше понять поведение программы. Дебаггер. Моделирование энергозатрат.

EmStar Моделирует в коде. От моделирования до реального эксперимента. Имеет интерфейс для подключения реальных узлов. Работает не со всеми узлами. Невысокая скорость работы.

SNS Детальное моделирование физического уровня. Модульность. Интуитивно понятный интерфейс. Не предназначен для моделирования кода. (не эмулятор) Ограниченная масштабируемость. Невысокая скорость работы.

Programming for TinyOS

Нет динамической памяти. Однозадачность; event-driven Команды (commands) и события (events) должны делать небольшую работу. Объявление задач(tasks) для выполнения долгих процессов. Программный код должен представлять из себя машину состояний.

Programming for TinyOS X вызывает компонент Y для чтения нескольких байт с флеш с помощью команды Y.multiRead(). Объявляем задачу A чтения первого байта из памяти вызывая Flash.Read() Возвращаем статуc OK. Когда возвращается Flash.ReadDone(), объявляем задачу A для чтения второго байта и т.д. Когда все байты считаны, сигнализируем событие (signal event) Y.multiReadDone() Если произошли какие-то ошибки сигнализируем событие Y.multiReadDone() с кодом ошибки.

Programming for TinyOS Наименование файлов Расширение nesC файлов:.nc Clock.nc: либо интерфейс, либо конфигуратор ClockС.nc: конфигуратор ClockM.nc: модуль

Programming for TinyOS Интерфейсы связывают между собой компоненты

Programming for TinyOS Модули могут реализовывать один или несколько интерфейсов. Модули могут использовать другие интерфейсы.

Programming for TinyOS Интерфейсы могут передаваться с параметрами. Один и тот же интерфейс может несколько разных «вхождений».

Programming for TinyOS Configuration Два компонента связываются(взаимодействуют) между собой с помощью интерфейсов. Интерфейсы в user компоненте связываются (wired) с такими же интерфейсами на provider компоненте. Три типа связи: endpoint 1 = endpoint 2 endpoint 1 -> endpoint 2 endpoint 1 endpoint 1 ) Компонент, который использует интерфейс должен быть слева, компонент, который предоставляет интерфей справа.

Programming for TinyOS

Литература Localization in Sensor Networks A. Savvides, L. Girod, M. Srivastava, and D. Estrin, Book Chapter, Wireless Sensor Networks, Edited by Znati, Radhavendra and Sivalingam.Localization in Sensor Networks Power-Efficient Sensor Placement and Transmission Structure for Data Gathering under Distortion Constraints D. Ganesan, R. Cristescu and B. Berefull-LozanoPower-Efficient Sensor Placement and Transmission Structure for Data Gathering under Distortion Constraints Coverage in wireless ad hoc sensor networks X. Li, P. Wan, and O. FriederCoverage in wireless ad hoc sensor networks Impact of Heterogeneous Deployment on Lifetime Sensing Coverage in Sensor Networks, Jae-Joon Lee, Bhaskar Krishnamachari, C.C. Jay KuoImpact of Heterogeneous Deployment on Lifetime Sensing Coverage in Sensor Networks, Topology Control for Wireless Sensor Networks J. Pan, Y.T. Hou, L. Cai, Y. Shi, and S.X. ShenTopology Control for Wireless Sensor Networks

The End