Contiki

sistema operativo

Contiki OS es un sistema operativo de código abierto desarrollado para uso en un número de pequeños sistemas pasando desde ordenadores de 8-bit a sistemas embebidos sobre microcontroladores, incluyendo nodos de redes de sensores. El nombre Contiki viene de la famosa balsa Kon-Tiki de Thor Heyerdahl.

Contiki OS

Pantalla de Contiki en un Commodore 128.
Información general
Tipo de programa Sistema operativo embebido
Desarrollador Adam Dunkels
Modelo de desarrollo Open source
Licencia Licencia BSD
Información técnica
Interfaz gráfica predeterminada CTK
Versiones
Última versión estable 2.6 ( 17 de julio de 2012 (11 años, 9 meses y 1 día))
Enlaces

A pesar de la multitarea que provee y la pila TCP/IP incluida, Contiki sólo requiere unos kilobytes de código y unos cientos de bytes de RAM. Un sistema totalmente completo con una GUI requiere aproximadamente 30 kilobytes de RAM.

El núcleo básico y la mayor parte de las funciones principales son desarrolladas por Adam Dunkels.

Recientemente se ha creado una nueva rama actualizada: Contiki-NG: el SO para la Futura Generación de objetos conectados.

Características editar

Contiki está diseñado para sistemas embebidos con escasa memoria. Una configuración típica de Contiki consta de 2 KB de RAM y 40 KB de ROM. Cuenta con un núcleo orientado a eventos sobre el cual los programas pueden ser cargados y descargados de forma dinámica en tiempo de ejecución. Los procesos en Contiki usan protohilos,[1]​ un mecanismo de abstracción ideado para proporcionar un estilo de programación secuencial sobre el núcleo orientado a eventos. También soporta multihilado apropiativo opcional por proceso. La comunicación entre procesos se realiza mediante la técnica de paso de mensajes, la cual está implementada mediante el sistema de eventos del núcleo. Tiene un subsistema GUI opcional, con soporte de gráficos para terminales locales, terminales virtuales en red mediante VNC o sobre Telnet. Incluye una pila ligera TCP/IP[2]​ y la pila Rime,[3]​ que está diseñada especialmente para comunicaciones inalámbricas de baja potencia y cuenta con un amplio rango de primitivas de comunicación. También soporta IPv6, junto con protocolos como RPL[4]​ y 6LoWPAN.

Funciona en una variedad de plataformas, desde microcontroladores embebidos, como el MSP430 y el AVR, a viejas computadoras domésticas. El tamaño del código está en el orden de los kilobytes y el uso de la memoria puede configurarse para que sea de sólo unas decenas de bytes. Está escrito en el lenguaje de programación C y usa una licencia tipo BSD.

Lista de características editar

Una instalación completa de Contiki incluye las siguientes características:

Ports editar

El sistema operativo Contiki ha sido o está siendo portado a los siguientes sistemas:

* desarrollo basado en cc65.

Véase también editar

Referencias editar

  1. Dunkels, Adam (2006). «Protothreads: simplifying event-driven programming of memory-constrained embedded systems». Proceedings of the 4th international conference on Embedded networked sensor systems. 
  2. Dunkels, Adam. Design and Implementation of the lwIP TCP/IP Stack. http://www.es.sdu.edu.cn/project/doc/Design%20and%20Implementation%20of%20the%20lwIP%20tcpIP%20stack.pdf. 
  3. Dunkels, Adam (2007). Rime - a lightweight layered communication stack for sensor networks. 
  4. IETF. «RPL: IPv6 Routing Protocol for Low power and Lossy Networks». 
  5. «Running Contiki under Windows». Archivado desde el original el 10 de agosto de 2006. Consultado el 25 de marzo de 2008. 

Enlaces externos editar