Contiki
From Wikipedia, the free encyclopedia
![]() Screenshot of the VNC server running on the Atmel AVR port of Contiki. |
|
Website: | http://www.sics.se/contiki/ |
Company/ developer: |
Adam Dunkels |
Source model: | open source |
Latest stable release: | 1.3 / 9 July 2006 |
Default user interface: | CTK |
License: | BSD License |
Working state: | current |
Contiki is a small, open source, highly portable, multitasking computer operating system developed for use on a number of memory-constrained networked systems ranging from 8-bit computers to embedded systems on microcontrollers, including sensor network motes. The name Contiki comes from Thor Heyerdahl's famous Kon-Tiki raft.
Despite providing multitasking and a built-in TCP/IP stack, Contiki only needs a few kilobytes of code and a few hundred bytes of RAM. A full system, complete with a graphical user interface, needs about 30 kilobytes of RAM.[citation needed]
The basic kernel and most of the core functions were developed by Adam Dunkels at the Networked Embedded Systems group at the Swedish Institute of Computer Science.
Contents |
[edit] Features
Contiki is designed for embedded systems with small amounts of memory. A typical Contiki configuration is 2 kilobytes of RAM and 40 kilobytes of ROM. Contiki consists of an event-driven kernel on top of which application programs are dynamically loaded and unloaded at runtime. Contiki processes use light-weight protothreads that provide a linear, thread-like programming style on top of the event-driven kernel. Contiki also supports per-process optional preemptive multi-threading, interprocess communication using message passing through events, as well as an optional GUI subsystem with either direct graphic support for locally connected terminals or networked virtual display with VNC or over Telnet.
Contiki runs on a variety of platform ranging from embedded microcontrollers such as the MSP430 and the AVR to old homecomputers. Code footprint is on the order of kilobytes and memory usage can be configured to be as low as tens of bytes.
[edit] Other developers
A number of people are or have been involved in the development of Contiki:[1]
- Mikael Backlund. Contiki desktop icons.
- Simon Barner, TU München. AVR port.
- Matthias Bergvall, ENEA. Wrote the CTK-over-Telnet network GUI.
- Anders Carlsson. VIC-20 port.
- Shujuan Chen, master's thesis student, NES group at SICS. Secure time synchronization protocols.
- Lawrence Chitty. Sharp Wizard port.
- Matthias Domin. Atari Jaguar port.
- James Dessart. Tandy CoCo Color Computer port.
- Joakim Eriksson, NES group at SICS. Contiki developer.
- Niclas Finne, NES group at SICS. Contiki developer and co-admin of the Contiki project at SourceForge.
- Fabio Fumi. Casio PocketViewer port.
- Groepaz. NES and PCEngine ports.
- Christian Groessler. Atari 8-bit port.
- Björn Grönvall, CNA lab at SICS. Telos Sky port.
- Max Loubser, completed master's thesis, NES group at SICS. DTN for Contiki.
- Takahide Matsutsuka. Z80-based PC-6001 port.
- Chris Morse. Apple II port.
- Tony Nordström, SICS. PPP development.
- Fredrik Österlind, NES group at SICS. COOJA Contiki network simulator.
- Zhitao He, master's thesis student, NES group at SICS. Sensor network protocols.
- Oliver Schmidt. Contiki developer and co-admin of the Contiki project at SourceForge. Apple II port.
- Nicolas Tsiftes, master's thesis student, NES group at SICS. Compression of object code modules.
- Ullrich von Bassewitz. Developer of the cc65 C compiler which is used for the 6502 ports of Contiki.
[edit] Features

A full installation of Contiki includes the following features:
- Multitasking kernel
- Optional pre-emptive multitasking (on a per-application basis)
- Protothreads
- TCP/IP networking
- Windowing system and GUI
- Networked remote display using Virtual Network Computing
- A web browser (claimed to be the world's smallest)
- Personal web server
- Simple telnet client
- Screensaver
More applications planned include:
- an email client
- an Internet Relay Chat client
[edit] Ports
The Contiki operating system has been or is being ported to the following systems:
- Computers:
- Apple II family*
- Atari 8-bit*
- Atari ST
- Atari Portfolio
- Casio Pocketview
- Commodore PET*
- Commodore VIC 20*
- Commodore 64*
- Commodore 128*
- GP32
- PC-6001
- Sharp Wizard
- x86-based Unix-like systems, on top of GTK+ as well as directly using the X Window System[2]
* cc65 based development
- Video game consoles:
- Handheld game consoles:
[edit] See also
- Wheels (operating system)
- SymbOS (operating system)
- TinyOS (operating system)
[edit] References
[edit] External links
- Contiki main website
- Contiki demo server - A web server running under Contiki
Categories: Cleanup from March 2007 | All pages needing cleanup | Articles with unsourced statements since February 2007 | All articles with unsourced statements | Embedded operating systems | Free web browsers | Home computer software | Free software operating systems | Retrocomputing | TRS-80 Color Computer | Commodore 64 software | Commodore 128 software | Apple II software | Atari 8-bit family software | Atari ST software | Commodore VIC-20 software