Contiki是一个小型、
开源、极易移植的多任务电脑操作系统。它专门设计以适用于一系列的内存受限的网络系统,包括从8位电脑到微型控制器的嵌入系统。它的名字来自于
托尔·海尔达尔的
康提基号。
Contiki 是一个小型的,开源的,极易移植的多任务操作系统。它专门设计以适用于一系列的内存受限的网络系统,包括8位微处理器的
嵌入系统。它的名字来自于托尔·海尔达尔的康提基号。
Contiki可以在每个进程内选择是否支持先占式多线程,
进程间通讯通过事件利用消息来实现。Contiki中还包括一个可选的
GUI子系统,可以提供对本地终端、基于
VNC的网络化虚拟显示或者
Telnet的图形化支持。
Contiki适用于只有极少量内存的嵌入式系统。在一个较为典型的配置中,Contiki系统只需2Kb的RAM与40Kb的ROM。 Contiki包括了一个
事件驱动的
内核,因此可以在运行时动态载入上层应用程序。Contiki中使用轻量级的protothreads进程模型,可以在事件驱动内核上提供一种线性的、类似于线程的编程风格。
Contiki可运行于各种平台上,包括
嵌入式微控制器(例如TI MSP430及Atmel AVR)以及旧的家用电脑。程序代码量只有几K,
存储器的使用量也只有几十Kb。
Contiki是一个专门针对物联网或者无线传感器网络应用的操作系统和协议栈,在科研以及产业化方面得到广泛的应用。在该领域,还有一个知名的类似的系统- TinyOS,两者都实现了网络协议,两者的比较如下: