Contiki

Contiki
Скриншот VNC сервера запушенного на Atmel AVR порте ОС Contiki.
Скриншот VNC сервера запушенного на Atmel AVR порте ОС Contiki.
Разработчик Contiki Developers Team
Последняя версия
  • 4.8 (14 июля 2022)[1]
Поддерживаемые платформы кроссплатформенность
Тип ядра Монолитное ядро(?)
Лицензия BSD License
Состояние Актуальное
Веб-сайт www.contiki-os.org
Логотип Викисклада Медиафайлы на Викискладе

Contiki (англ. Contiki — Контики) — компактная, свободная, переносимая, многозадачная операционная система для встраиваемых систем и ПК, в частности разрабатываемая для использования в устройствах с ограниченными ресурсами (в основном память), 8-битные компьютеры для встраиваемых систем на микроконтроллерах. Название «Contiki» происходит от известного плота Кон-Тики, на котором плавал Тур Хейердал с командой.

Ядро и большинство основных функций были разработаны Адамом Данкелсом (Adam Dunkels) и группой Networked Embedded Systems в Swedish Institute of Computer Science.

Позиционируется разработчиками как система, пригодная для использования в оборудовании «для Интернета вещей» (букв. «Contiki: The Open Source OS for the Internet of Things[2]»).

Устройство

Contiki спроектирована для встраиваемых систем с ограниченным объёмом памяти. При конфигурации по умолчанию Contiki использует 2 килобайта ОЗУ и 40 килобайт ПЗУ. ОС состоит из ядра, которое управляется событиями, программы во время исполнения загружаются и выгружаются динамически. Процессы используют облегчённую потоковую модель — протопотоки, которые обеспечивают линейный потоковый стиль инициализации ядра.

Платформы

Contiki выполняется на разнообразных платформах и архитектурах начиная от TI MSP430 и Atmel AVR, и заканчивая разнообразным парком старых ПК. При этом объём занимаемого места находится в пределах нескольких килобайт, использование памяти легко настраивается и может быть снижено до десятков байт.

Полностью установленная система, с полным графическим интерфейсом пользователя будет занимать приблизительно 30 килобайт оперативной памяти.

Возможности

Снимок экрана порта Contiki запущенном на Commodore 64

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

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

Платформы

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

  • Игровые консоли:
    • PC Engine
    • Sega Dreamcast
    • Sony PlayStation
  • Карманные игровые консоли:
    • Nintendo Game Boy
    • Nintendo Game Boy Advance
  • Микроконтроллеры:
    • Atmel AVR
    • TI MSP430
    • Jennic/NXP JN51xx[5]
    • STMicroelectronics STM32

См. также

Примечания

  1. https://github.com/contiki-ng/contiki-ng
  2. Contiki: The Open Source Operating System for the Internet of Things (англ.). www.contiki-os.org. Дата обращения: 9 февраля 2017. Архивировано 18 марта 2013 года.
  3. 1 2 3 4 5 6 разработка на основе cc65
  4. Запуск Contiki под Windows. Дата обращения: 12 июля 2008. Архивировано из оригинала 10 августа 2006 года.
  5. Links are bold — Philipp M. Scholl. Дата обращения: 28 января 2012. Архивировано 28 декабря 2011 года.

Ссылки

Обзоры

  • И.Б. Бурдонов, А.С. Косачев, В.Н. Пономаренко. 2.9. Contiki // Операционные системы реального времени. — Препринт Института системного программирования РАН.
  • Путешествие на Contiki, itc.ua, 29.11.2006