Jump to content

Контики

Контики
Снимок экрана системы Ubuntu, показывающий Contiki 2.6, работающий на 41 узле, образующем сеть IPv6-RPL-6LoWPAN в сетевом симуляторе Cooja Contiki.
Разработчик Адам Данкелс
Исходная модель Открытый исходный код
Первоначальный выпуск 10 марта 2003 г .; 21 год назад ( 10 марта 2003 )
Финальный выпуск 3.0 / 25 августа 2015 г .; 8 лет назад ( 25.08.2015 )
Репозиторий github /контики их /контики
Лицензия Пункт BSD-3
Официальный сайт www .контики их .org
Контики-НГ
Стабильная версия
4,9 / 17 июня 2023 г .; 11 месяцев назад ( 17.06.2023 )
Репозиторий github /контики-нг /контики-нг
Веб-сайт www .contiki-ng .org

Contiki — это операционная система для сетевых систем с ограниченным объемом памяти, ориентированная на маломощные беспроводные устройства Интернета вещей (IoT). Contiki используется для систем уличного освещения , звукового мониторинга для умных городов , радиационного мониторинга и сигнализации. [1] Это программное обеспечение с открытым исходным кодом , выпущенное по лицензии BSD-3-Clause .

Contiki был создан Адамом Данкелсом в 2002 году. [2] и был доработан всемирной командой разработчиков из Texas Instruments, Atmel, Cisco, ENEA , ETH Zurich , Redwire, RWTH Ахенского университета , Оксфордского университета, SAP, Sensinode, Шведского института компьютерных наук , ST Microelectronics, Zolertia и многих других. другие. [3] Contiki приобрел популярность благодаря встроенному стеку TCP/IP и упрощенному упреждающему планированию по сравнению с управляемым событиями. ядром, [4] что является очень мотивирующей особенностью для Интернета вещей. Название «Контики» происходит от » Тура Хейердала знаменитого плота «Кон-Тики .

Contiki обеспечивает многозадачность и встроенный пакет интернет-протоколов (стек TCP/IP), но требует всего около 10 килобайт ( оперативной памяти ОЗУ) и 30 килобайт постоянной памяти (ПЗУ). [1] Для полной системы, включая графический интерфейс пользователя , требуется около 30 килобайт оперативной памяти. [5]

Недавно была создана новая ветвь, известная как Contiki-NG : ОС для устройств IoT следующего поколения.

Аппаратное обеспечение [ править ]

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

Сеть [ править ]

Contiki предоставляет три сетевых механизма: стек uIP TCP/IP, [6] который обеспечивает сеть IPv4 , стек uIPv6, [7] который обеспечивает работу сети IPv6 , и стек Rime, который представляет собой набор специальных облегченных сетевых протоколов, предназначенных для беспроводных сетей с низким энергопотреблением. Стек IPv6 был предоставлен Cisco и на момент выпуска был самым маленьким стеком IPv6, получившим сертификат готовности к IPv6 . [8] Стек IPv6 также содержит протокол маршрутизации для сетей с низким энергопотреблением и потерями (RPL) для сетей IPv6 с низким энергопотреблением и уровень сжатия и адаптации заголовка 6LoWPAN для каналов IEEE 802.15.4 .

Rime — это альтернативный сетевой стек, который можно использовать, когда накладные расходы стеков IPv4 или IPv6 слишком велики. Стек Rime предоставляет набор примитивов связи для маломощных беспроводных систем. Примитивами по умолчанию являются одноадресная рассылка с одним переходом, широковещательная рассылка с одним переходом, одноадресная рассылка с несколькими переходами, лавинная рассылка по сети и сбор данных без адреса. Примитивы можно использовать по отдельности или комбинировать для формирования более сложных протоколов и механизмов. [9]

Работа с низким энергопотреблением [ править ]

Многие системы Contiki сильно ограничены в энергопотреблении. Беспроводным датчикам с батарейным питанием, возможно, потребуется обеспечить годы работы без присмотра и с небольшими затратами на подзарядку или замену батарей. Contiki предоставляет набор механизмов для снижения энергопотребления систем, на которых он работает. Механизм по умолчанию для обеспечения работы радиостанции с низким энергопотреблением называется ContikiMAC. [10] Благодаря ContikiMAC узлы могут работать в режиме пониженного энергопотребления и при этом иметь возможность получать и передавать радиосообщения.

Моделирование [ править ]

Система Contiki включает в себя симулятор датчиков Cooja, который имитирует узлы Contiki. [11] Узлы принадлежат к одному из трех следующих классов: а) эмулируемые узлы Cooja, б) код Contiki, скомпилированный и выполняемый на хосте моделирования, или в) узлы Java, где поведение узла должно быть переопределено как класс Java. Одна симуляция Cooja может содержать смесь сенсорных узлов любого из трех классов. Эмулированные узлы также можно использовать для включения узлов, не принадлежащих Contiki, в моделируемую сеть.

В Contiki 2.6 TI MSP430 и Atmel AVR можно эмулировать платформы с микроконтроллерами .

Модель программирования [ править ]

Для эффективной работы в системах с небольшим объемом памяти модель программирования Contiki основана на протопотоках . [12] [13] Протопоток — это абстракция программирования с эффективным использованием памяти, которая объединяет функции как многопоточного , так и событийно-управляемого программирования для достижения низких затрат памяти для каждого протопотока. Ядро вызывает протопоток процесса в ответ на внутреннее или внешнее событие. Примерами внутренних событий являются срабатывающие таймеры или сообщения, отправляемые другими процессами. Примерами внешних событий являются датчики, которые инициируют или входящие пакеты от радиососеда.

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

Особенности [ править ]

Снимок экрана VNC- сервера, работающего на Atmel AVR. порте Contiki

Contiki поддерживает дополнительную вытесняющую многопоточность для каждого процесса, межпроцессную связь с использованием передачи сообщений через события, а также дополнительную подсистему графического пользовательского интерфейса (GUI) с прямой графической поддержкой локально подключенных терминалов или сетевого виртуального дисплея с виртуальными сетевыми вычислениями (VNC). ) или через Telnet.

Полная установка Contiki включает в себя следующие возможности:

Contiki поддерживается популярными библиотеками SSL/TLS , такими как wolfSSL , которая включает порт в выпуске 3.15.5. [14]

Порты [ править ]

Контики на Commodore 64

Микроконтроллеры [ править ]

Компьютеры [ править ]

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

См. также [ править ]

Примечания [ править ]

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

  1. ^ Jump up to: Перейти обратно: а б Контики ОС .
  2. ^ Contiki: внедрение IP в сенсорные сети
  3. ^ «Сообщество», Contiki OS .
  4. ^ Данкелс, Адам (2004), «Contiki - легкая и гибкая операционная система для крошечных сетевых датчиков», Материалы 29-й ежегодной международной конференции IEEE по локальным компьютерным сетям. , стр. 455–462 .
  5. ^ Открыто: малоизвестная ОС с открытым исходным кодом, которая управляет Интернетом вещей
  6. ^ Данкелс, Адам (май 2003 г.), «Полный TCP/IP для 8-битных архитектур», Материалы Первой международной конференции ACM/Usenix по мобильным системам, приложениям и сервисам (MobiSys) , Сан-Франциско {{citation}}: CS1 maint: отсутствует местоположение издателя ( ссылка )
  7. ^ Дурви, Матильда; Абейе, Жюльен; Веттервальд, Патрик; О'Флинн, Колин; Леверетт, Блейк; Гноске, Эрик; Видалес, Майкл; Маллиган, Джефф; Цифтес, Николас; Финн, Никлас; Данкелс, Адам (ноябрь 2008 г.), «Готовность сенсорных сетей к IPv6», Материалы шестой конференции ACM по сетевым встроенным сенсорным системам (SenSys) (постерная сессия), Роли, Северная Каролина , США : ACM
  8. ^ Отдел новостей , Cisco, 2008 г.
  9. ^ Данкелс, Адам; Остерлинд, Фредрик; Он, Чжитао (ноябрь 2007 г.), «Адаптивная коммуникационная архитектура для беспроводных сенсорных сетей», Материалы пятой конференции ACM по сетевым встраиваемым сенсорным системам (SenSys) , Сидней, Австралия. {{citation}}: CS1 maint: отсутствует местоположение издателя ( ссылка ) .
  10. ^ Данкелс, Адам, Протокол дежурной радиосвязи ContikiMAC (PDF) .
  11. ^ «Старт», Contiki OS .
  12. ^ Данкелс, Адам; Шмидт, Оливер; Фойгт, Тимо; Али, Муниб (ноябрь 2006 г.), «Протопотоки: упрощение событийно-ориентированного программирования встроенных систем с ограниченной памятью», Труды четвертой конференции ACM по встроенным сетевым сенсорным системам (SenSys) , Боулдер, Колорадо , США {{citation}}: CS1 maint: location missing publisher (link) Данкелс, А.; Шмидт, О.; Фойгт, Т.; Али, М. (2006). «Протонити». Материалы 4-й международной конференции по встраиваемым сетевым сенсорным системам — Sen Sys '06 . п. 29. дои : 10.1145/1182807.1182811 . ISBN  1595933433 . S2CID   983128 . ( PDF , слайды презентации ).
  13. ^ «Протопоток», Код .
  14. ^ «Порт ОС wolfSSL CONTIKI — wolfSSL» . 18 декабря 2018 г. Проверено 9 января 2019 г.
  15. ^ «Операционная система Contiki / [Contiki-разработчики] Порт Contiki для процессора руки LPC1768» . 19 декабря 2020 г.
  16. ^ Штейн, Х. Запуск Contiki под Windows , Trix, заархивировано из оригинала 9 декабря 2003 г.

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

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