Статья:

ОПЕРАЦИОННАЯ СИСТЕМА CONTIKI КАК СИСТЕМА С ОТКРЫТЫМ ИСХОДНЫМ КОДОМ ДЛЯ МИКРОПРОЦЕССОРНЫХ СИСТЕМ

Конференция: VI Студенческая международная заочная научно-практическая конференция «Молодежный научный форум: технические и математические науки»

Секция: 3. Информационные технологии

Выходные данные
Якушев И.Ю. ОПЕРАЦИОННАЯ СИСТЕМА CONTIKI КАК СИСТЕМА С ОТКРЫТЫМ ИСХОДНЫМ КОДОМ ДЛЯ МИКРОПРОЦЕССОРНЫХ СИСТЕМ // Молодежный научный форум: Технические и математические науки: электр. сб. ст. по мат. VI междунар. студ. науч.-практ. конф. № 6(6). URL: https://nauchforum.ru/archive/MNF_tech/6(6).pdf (дата обращения: 20.08.2018)
Лауреаты определены. Конференция завершена
Эта статья набрала 0 голосов
Мне нравится
Дипломы
лауреатов
Сертификаты
участников
Дипломы
лауреатов
Сертификаты
участников
на печатьскачать .pdfподелиться

ОПЕРАЦИОННАЯ СИСТЕМА CONTIKI КАК СИСТЕМА С ОТКРЫТЫМ ИСХОДНЫМ КОДОМ ДЛЯ МИКРОПРОЦЕССОРНЫХ СИСТЕМ

Якушев Игорь Юрьевич
инженер-стажер NVision Group, студент Сибирского государственного университета телекоммуникаций и информатики, РФ, г. Новосибирск
Марамзин Валерий Валентинович
научный руководитель, научный руководитель, ведущий инженер-конструктор технического отдела NVision Group, преподаватель Сибирского государственного университета телекоммуникаций и информатики, РФ, г. Новосибирск

 

В качестве программного обеспечения микропроцессорных систем могут выступать различные операционные системы: Contiki, TinyOS и FreeRTOS. Contiki, TinyOS и FreeRTOS — открытые операционные системы, исходный код которых доступен в сети Интернет.

Операционная система Contiki реализована на языке программирования «Си» и поддерживает ряд различных микропроцессоров и аппаратных конфигураций. Операционная система Contiki обеспечивает подключение IPv4 и IPv6 через стеки протоколов uIP (micro IP — открытый стек TCP/IP, разработанный для 8- и 16-битных микропроцессоров) и uIPv6 [3]. Стек uIPv6 — единственный стек IPv6 для устройств Smart Objects («умные устройства»), которые получили сертификацию IPv6 Ready [2].

Операционная система TinyOS разработана для исследования сенсорных сетей и устройств Smart Objects. Она обеспечивает реализацию широкого диапазона компонентов сети и алгоритмов маршрутизации. Стек протоколов uIP адаптирован для TinyOS, а последние версии системы TinyOS поддерживают протокол IPv6.

Операционная система FreeRTOS предоставляет возможности IP-соединения через стеки протоколов uIP и lwIP (lightweight IP — открытый стек TCP/IP, предназначенный для встраиваемых систем).

Наилучшим вариантом выбора операционной системы для микропроцессорных систем является операционная система Contiki по следующим причинам:

  • Contiki является операционной системой с открытым кодом;
  • Contiki разработана для систем с низким энергопотреблением;
  • Ограниченный объем оперативной памяти (SRAM), но достаточный для работы Contiki;
  • Contiki поддерживает протоколы маломощных сетей IPv6: 6LoWPAN, RPL, CoAP.

Операционная система Contiki — это операционная система с открытым кодом, предназначенная в основном для встроенных сетевых систем и, в частности, для устройств Smart Objects. Первая версия операционной системы Contiki была выпущена в 2003 году. Она была создана командой разработчиков, работающих в промышленности и научных центрах. Проект Contiki возглавляет Адам Данкелс (Adam Dunkels) [1].

Операционная система Contiki содержит алгоритмы, которые помогают программисту, когда он разрабатывает программное обеспечение для устройств Smart Objects, а также алгоритмы соединения, позволяющие устройствам Smart Objects подключиться к любой другой сети. Операционная система Contiki содержит набор библиотек, с помощью которых обеспечивается выделение памяти и создание списка действий, а также содержит алгоритмы виртуального соединения и маломощных сетей.

Операционная система Contiki имеет файловую систему, называемую Coffee. Она позволяет программам использовать флеш-память для открытия, закрытия, чтения, записи и добавления файлов. При работе файловой системы необходимо около 95 % пропускной способности флеш-памяти. Кроме этого, операционная система Contiki предоставляет набор моделирующих программ, упрощающих разработку и тестирование в сетях с устройствами Smart Objects.

Операционная система Contiki — первая операционная система для устройств Smart Objects, которые подключаются по IP-соединению с использованием стека uIP TCP/IP. В 2008 году в операционную систему Contiki включен стек uIPv6 — самый маленький стек IPv6 в мире. Размеры стеков uIP и uIPv6 небольшие: у стека uIP — меньше 5 кБ, а у стека uIPv6 — около 11 кБ [2]. Благодаря этому данные стеки широко используются в устройствах Smart Objects, имеющих небольшой объем памяти.

Большинство модулей операционной системы Contiki используется в промышленности. Стек uIP TCP/IP и стек lwIP в настоящее время используются в продукции сотни компаний, начиная от автомобильных двигателей и самолетов по всему миру и заканчивая системами слежения грузовых контейнеров и спутниковыми системами. В операционной системе Contiki вводится понятие protothread («протопоток») [1]. Protothread — это модель, обеспечивающая потоковую инициализацию ядра. Protothread используется в таких системах, как цифровые телевизионные приставки и высокопроизводительные кластеры серверов.

Операционная система Contiki и приложения системы реализованы на языке программирования «Си», благодаря этому операционная система Contiki является портативной системой. Операционная система Contiki была успешно установлена на различные архитектуры микропроцессоров (более 12 архитектур).

Ниже приведена программа, написанная в операционной системе Contiki [2].

 

PROCESS_THREAD(example_trickle_process, ev, data)

{

  PROCESS_EXITHANDLER(trickle_close(&trickle);)

  PROCESS_BEGIN();

  trickle_open(&trickle, CLOCK_SECOND, 128,

  &trickle_call);

  button_sensor.activate();

  while(1) {

    PROCESS_WAIT_EVENT_UNTIL(ev == sensors_event &&

    data == &button_sensor);

    packetbuf_copyfrom("Hello, world", 13);

    trickle_send(&trickle);

  }

  PROCESS_END();

}

 

Данной программой описывается следующая процедура: происходит ожидание, пока не нажата кнопка, и после этого по всей сети рассылается сообщение “Hello, world”. Программа использует алгоритм trickle (ожидания) для надежной отправки сообщений каждому узлу. Алгоритм trickle гарантирует, что сообщение будет доставлено. Если в среде распространения происходят потери пакетов, то пакет будет отправлен многократно, пока узел его не получит.

Операционная система Contiki содержит стек IP, через который  она взаимодействует с другими приложениями и сервисами, работающими на основе IP. Ниже приведен пример основной части программы, которая выполняет отправку одноадресного пакета при использовании одного «прыжка» (hop) и максимального числа попыток отправки пакета [1].

 

PROCESS_THREAD(example_unicast_process, ev, data)

{

  PROCESS_EXITHANDLER(unicast_close(&uc);)

  PROCESS_BEGIN();

  unicast_open(&uc, 146, &unicast_callbacks);

  while(1) {

    static struct etimer et;

    rimeaddr_t addr;

    etimer_set(&et, CLOCK_SECOND);

    PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&et));

    packetbuf_copyfrom("Hello", 5);

    addr.u8[0] = 1;

    addr.u8[1] = 0;

    if(!rimeaddr_cmp(&addr, &rimeaddr_node_addr)) {

      unicast_send(&uc, &addr);

    }

  }

  PROCESS_END();

}

 

Операционная система Contiki применяется в следующих системах:

  • Контроль уличного освещения
  • Считывание показаний электрических счетчиков
  • Промышленный мониторинг
  • Радиационный контроль
  • Мониторинг строительных площадок
  • Системы сигнализации
  • Удаленный мониторинг домов

Операционная система Contiki позволяет наилучшим способом использовать вычислительные ресурсы микропроцессора: снизить энергопотребление микропроцессора, уменьшить вероятность ошибок при приеме и повысить эффективность приема и передачи данных. Также Contiki поддерживает стандарты и протоколы маломощных беспроводных сетей такие, как 6LoWPAN, RPL, CoAP.

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

 

Список литературы:

  1. The Contiki Operating System. [Электронный ресурс] — Режим доступа. — URL: http://www.contiki-os.org/ (Дата обращения: 22.09.2013).
  2. Vasseur Jean-Philippe, Dunkels Adam. Interconnecting Smart Objects with IP: The Next Internet. California, USA: Morgan Kaufmann is an imprint of Elsevier, 2010. — 432 p.
  3. Yazar Dogan, Dunkels Adam. Efficient Application Integration in IP-Based Sensor Networks // The First ACM Workshop on Embedded Sensing Systems for Energy-Efficiency in Buildings. 2009. — P. 43—48.