Contiki是一个小型、开源、极易移植的多任务电脑操作系统。它专门设计以适用于一系列的内存受限的网络系统,包括从8位电脑到微型控制器的嵌入系统。它的名字来自于托尔·海尔达尔的康提基号。
Contiki只需几千字节的代码和几百字节的内存就能提供多任务环境和内建TCP/IP支持。
作为基础的内核以及大部分的核心功能是瑞典计算机科学研究所的网络内嵌系统小组的Adam Dunkels开发的。
设计
Contiki适用于只有极少量内存的嵌入式系统。在一个较为典型的配置中,Contiki系统只需2Kb的RAM与40Kb的ROM。
Contiki包括了一个事件驱动的内核,因此可以在运行时动态载入上层应用程序。Contiki中使用轻量级的protothreads进程模型,可以在事件驱动内核上提供一种线性的、类似于线程的编程风格。
平台
Contiki可运行于各种平台上,包括嵌入式微控制器(例如TI MSP430及Atmel AVR)以及旧的家用电脑。程序代码量只有几K,存储器的使用量也只有几十Kb。
特点
Contiki可以在每个进程内选择是否支持先占式多线程,进程间通讯通过事件利用消息来实现。Contiki中还包括一个可选的GUI子系统,可以提供对本地终端、基于VNC的网络化虚拟显示或者Telnet的图形化支持。
完整的Contiki系统包括以下特性:
*多任务内核
*每个应用程序中可选的先占式多线程
*Protothreads模型
*TCP/IP网络支持,包括IPv6
*视窗系统与GUI
*基于VNC的网络化远程显示
*网页浏览器
*个人网络服务器
*简单的Telnet客户端
*屏幕保护程序
移植版本
Contiki操作系统已被移植到以下系统中:
- 电脑:
** Apple II family
** Atari 8-bit
- 游戏机平台:
** PC Engine
** FC游戏机
** 雅达利Jaguar
- 手持游戏机平台:
** Game Boy
** Game Boy Advance
** GP32
- 微型控制器:
** Atmel AVR
** LPC2103
** TI MSP430
** TI CC2430
参见
*
*
- RIOT
*
- TinyOS
*
- 实时操作系统比较
参考资料
外部链接
*
- [https://web.archive.org/web/20100825150207/http://www.sics.se/contiki/ Contiki主页]
- [http://contiki-os.blogspot.com Contiki官方博客]
- [http://www.iotdev.net 最全面的Contiki 6Lowpan物联网技术中文研究网站]
- [http://www.c64web.com/ C64WEB.COM一个运行在一台未修改过的1982生产的Commodore 64上的网站]
- [http://hitmen.c02.at/html/tools_contiki.html 1.x版本网站的非官方历史镜像]
- [https://web.archive.org/web/20081018181149/http://www.sics.se/contiki/current-events/uipv6-contiki-is-ipv6-ready.html 关于IPv6的新信息]
- [https://web.archive.org/web/20140604192611/http://www.manishshakya.com.np/index.php/page/code 移植到LPC2103的精简Contiki系统]
评论 (0)