|
Contiki OS jest nazwą projektu open-source, który rozwija przenośny, wielozadaniowy system operacyjny dla sieciowych systemów sterowania i akwizycji danych opartych na kontrolerach jednoukladowych z niewielką ilościa pamięci.
Pomimo dużej funkjonalności ( wielozadaniowość, wbudowany stos TCP/IP ) Contiki OS potrzebuje do działania jednynie kilku kilobajtów pamięci programu oraz kilkuset bajtów pamięci RAM. Pełny system, skompilowany razem z graficznym interfejsem uzytkownika potrzebuje około 30kB RAM.
Jądro systemu (kernel) oraz wiekszość funkcji systemowych zaprojektował Adam Dunkels ( Szwecki instytut informatyki ).
Kod systemu Contiki OS mozna uruchomić na wielu platformach sprzętowych - od mikrokontrolerów jednoukładowych takich jak m.in. TI MSP430, Atmel AVR, ARM, aż po stare 8-mio bitowe mikrokomputery takie jak C64 lub Appple II. Kod źródłowy systemu ( w języku C ) jest w znacznej części wspólny dla wszystkich platform sprzętowych. Aktualna wersja robocza oraz stabilne wersje kodu są dostępne na stronie sourceforge. Dostępne jest również preinstalowane graficzne środkowsko oparte o Eclipse oraz Ubuntu - Contiki Instant IDE.
Wersja kodu źródłowego z obsługą modułów MB-128/MB-128-USBCAN jest do pobrania tutaj.
Contiki OS obsługuje ( jako opcje ) wielowątkowość w ramach jednego procesu, komunikację między procesami przy użyciu kolejek komunikatów i zdarzeń., jak również opcjonalny graficzny interfejs użytkownika (GUI). GUI może być zrealizowany albo na lokalnym wyświetlaczu albo na zdalnym terminalu graficznym podłączonym przez protokół VNC lub Telnet.
- Wielozadaniowy kernel
- Opcjonalną wielowątkowość z wywłaszczaniem w ramach jednego procesu
- Koncepcja uproszczonych wątków (Protothreads) pracujących na wspólnym stosie
- Pełny stos TCP/IP, z obsługą IPv6
- System graficzny komunikacji z użytkownikiem
- Zdalna konsola przez serwer VNC (Virtual Network Computing)
- Przeglądarka www (wg autorów najmniejsza na świecie pod względem wielkości kodu)
- wbudowany server www
- Serwer oraz klient telnet
- Wygaszacz ekranu
- Dynamiczne ładowanie kodu progamu podczas pracy systemu ( w formacie elf )
- liczne aplikacje do akwizycji danych i sterowania , dedykowane na konkretne platformy sprzętowe
 | 
| Przykładowa aplikacja sterująca ( applet Java ) uruchomiona z serwera www w module MB-128 |

|