contiki

contiki

Contiki是一个小型、开源、极易移植的多任务电脑操作系统。它专门设计以适用于一系列的内存受限的网络系统,包括从8位电脑到微型控制器的嵌入系统。它的名字来自于托尔·海尔达尔的康提基号。Contiki只需几千字节的代码和几百字节的内存就能提供多任务环境和内建TCP/IP支持。

Contiki是一个小型、开源、极易移植的多任务电脑操作系统。它专门设计以适用于一系列的内存受限的网络系统,包括从8位电脑到微型控制器的嵌入系统。它的名字来自于托尔·海尔达尔的康提基号。

Contiki只需几千字节的代码和几百字节的内存就能提供多任务环境和内建TCP/IP支持。

作为基础的内核以及大部分的核心功能是瑞典计算机科学研究所的网络内嵌系统小组的Adam Dunkels开发的。

简介

Contiki 是一个小型的,开源的,极易移植的多任务操作系统。它专门设计以适用于一系列的内存受限的网络系统,包括8位微处理器的嵌入系统。它的名字来自于托尔·海尔达尔的康提基号。

Contiki只需几kilobyte的代码和几百字节的内存就能提供多任务环境和内建TCP/IP支持。

特点

Contiki可以在每个进程内选择是否支持先占式多线程,进程间通讯通过事件利用消息来实现。Contiki中还包括一个可选的GUI子系统,可以提供对本地终端、基于VNC的网络化虚拟显示或者Telnet的图形化支持。

完整的Contiki系统包括以下特性:

• 多任务内核

• 每个应用程序中可选的先占式多线程

• Protothreads模型

• TCP/IP网络支持,包括IPv6

• 视窗系统与GUI

• 基于VNC的网络化远程显示

• 网页浏览器

• 个人网络服务器

• 简单的Telnet客户端

• 屏幕保护程序

设计

Contiki适用于只有极少量内存的嵌入式系统。在一个较为典型的配置中,Contiki系统只需2Kb的RAM与40Kb的ROM。 Contiki包括了一个事件驱动的内核,因此可以在运行时动态载入上层应用程序。Contiki中使用轻量级的protothreads进程模型,可以在事件驱动内核上提供一种线性的、类似于线程的编程风格。

平台比较

Contiki可运行于各种平台上,包括嵌入式微控制器(例如TI MSP430及Atmel AVR)以及旧的家用电脑。程序代码量只有几K,存储器的使用量也只有几十Kb。

Contiki是一个专门针对物联网或者无线传感器网络应用的操作系统和协议栈,在科研以及产业化方面得到广泛的应用。在该领域,还有一个知名的类似的系统- TinyOS,两者都实现了网络协议,两者的比较如下:

性能指标TinyOSContiki所属领域无线传感器网络、物联网无线传感器网络、物联网软件类型小型OS +无线网络协议栈小型OS +无线网络协议栈OS特性非抢占、共享栈空间非抢占、共享栈空间协议支持802.15.4、6Lowpan、RPL、CoAP802.15.4、6Lowpan、RPL、CoAP开发语言专用NesC语言,入门较难,其它领域几乎不使用(有可能导致失业)通用的C语言,入门容易,在各领域广泛使用编译器专用的编译器,性能和稳定性未经过验证,无商用编译器支持通用的C编译器,如GCC、IAR等开发环境Linux、Cygwin,命令行模式,开发调试困难,门槛高Linux Eclipse、或者Windows IAR,IAR图形化集成开发环境,功能强大可移植性需要移植编译器,很难C语言很好移植支持的硬件少数几种类型的处理器8位、16位、32位几乎所有的处理器类型开发团队主要由Berkeley大学开发,核心人员已经去CISCO,不再开发,TinyOS很少更新代码由LWIP的作者Adam dunkels团队以及ETH大学开发,已经成立公司全职开发,每周都有代码更新发展趋势TinyOS从一开始就主要做科研仿真,用户逐年骤减,基本上无产品Contiki可以做科研,也有不少产品,2014年Adam团队的目标是要将Contiki作成物联网领域的首要选择

移植版本

Contiki操作系统已被移植到以下系统中:

• 电脑:

• Apple II family

• Atari 8-bit

• 雅达利ST

• Atari Portfolio

• Casio Pocketview

• Commodore PET

• Commodore VIC-20

• Commodore 64

• Commodore 128

• Oric

• PC-6001

• Sharp Wizard

• 游戏机平台:

• PC Engine

• FC游戏机

• 雅达利Jaguar

• 手持游戏机平台:

• Game Boy

• Game Boy Advance

• GP32

• 微型控制器:

• Atmel AVR

• LPC2103

• TI MSP430

• TI CC2430

参见

• 自由软件主题

• BeRTOS

• ERIKA Enterprise

• RIOT

• SymbOS

• TinyOS

• Wheels (operating system)

• Comparison of real-time operating systems

广告位:底部(ad-bottom)—— 请到中台「公共区块」编辑此内容