contiki

Contiki是一個小型、開源、極易移植的多任務電腦作業系統。它專門設計以適用於一系列的記憶體受限的網路系統,包括從8位電腦到微型控制器的嵌入系統。它的名字來自於托爾·海爾達爾康提基號

Contiki只需幾千位元組的代碼和幾百位元組記憶體就能提供多任務環境和內建TCP/IP支持。

作為基礎的核心以及大部分的核心功能是瑞典計算機科學研究所的網路內嵌系統小組的Adam Dunkels開發的。

基本介紹

  • 外文名:contiki
  • 含義:多任務作業系統
  • 特色:高可移植、開源、支持網路
  • 性質:多任務電腦作業系統
簡介,特點,設計,平台比較,移植版本,參見,

簡介

Contiki 是一個小型的,開源的,極易移植的多任務作業系統。它專門設計以適用於一系列的記憶體受限的網路系統,包括8位微處理器的嵌入系統。它的名字來自於托爾·海爾達爾的康提基號。
Contiki只需幾kilobyte的代碼和幾百位元組的記憶體就能提供多任務環境和內建TCP/IP支持。

特點

Contiki可以在每個進程內選擇是否支持先占式多執行緒,進程間通訊通過事件利用訊息來實現。Contiki中還包括一個可選的GUI子系統,可以提供對本地終端、基於VNC的網路化虛擬顯示或者Telnet的圖形化支持。
完整的Contiki系統包括以下特性:

設計

Contiki適用於只有極少量記憶體的嵌入式系統。在一個較為典型的配置中,Contiki系統只需2Kb的RAM與40Kb的ROM。 Contiki包括了一個事件驅動核心,因此可以在運行時動態載入上層應用程式。Contiki中使用輕量級的protothreads進程模型,可以在事件驅動核心上提供一種線性的、類似於執行緒的編程風格。

平台比較

Contiki可運行於各種平台上,包括嵌入式微控制器(例如TI MSP430及Atmel AVR)以及舊的家用電腦。程式代碼量只有幾K,存儲器的使用量也只有幾十Kb。
Contiki是一個專門針對物聯網或者無線感測器網路套用的作業系統和協定棧,在科研以及產業化方面得到廣泛的套用。在該領域,還有一個知名的類似的系統- TinyOS,兩者都實現了網路協定,兩者的比較如下:
性能指標
TinyOS
Contiki
所屬領域
無線感測器網路、物聯網
無線感測器網路、物聯網
軟體類型
小型OS +無線網路協定棧
小型OS +無線網路協定棧
OS特性
非搶占、共享棧空間
非搶占、共享棧空間
協定支持
802.15.4、6Lowpan、RPL、CoAP
802.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 128
  • Oric
  • PC-6001
  • Sharp Wizard
遊戲機平台:
手持遊戲機平台:
微型控制器:

參見

  • 自由軟體主題
  • ERIKA Enterprise
  • SymbOS
  • Wheels (operating system)
  • Comparison of real-time operating systems

相關詞條

熱門詞條

聯絡我們