Contiki

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Notă despre dezambiguizare.svg Dezambiguizare - Dacă sunteți în căutarea firmei de turism din Noua Zeelandă, consultați Contiki Tours .
Contiki
sistem de operare
Contiki-avr.png
Imagine a serverului VNC care rulează portul Contiki pentru sistemele AVR
Dezvoltator Adam Dunkels
Lansare curentă 2.7 (15 noiembrie 2013 )
Tipul de nucleu multitasking monolitic condus de evenimente
Platforme acceptate multiplataforma
Tipul licenței Software gratuit
Licență Licențe BSD
Etapă de dezvoltare activ
Site-ul web www.contiki-os.org/

Contiki este un sistem de operare multitasking ușor, open source și extrem de portabil. A fost dezvoltat pentru a fi utilizat pe un număr mare de sisteme, de la computere pe 8 biți la sisteme încorporate pe microcontrolere . Numele Contiki derivă din pluta Kon-Tiki cu care Thor Heyerdahl a făcut o expediție pentru a demonstra că polinezienii au putut să se întoarcă din America de Sud în arhipelagul lor.

Deși se poate ocupa de multitasking, Contiki are nevoie doar de câțiva kilobiți de cod și de câteva sute de octeți de RAM . Sistemul complet, inclusiv GUI , folosește aproximativ 30 kilobytes de RAM.

Nucleul de bază și majoritatea funcțiilor de bază au fost dezvoltate de Adam Dunkels la grupul de sisteme încorporate în rețea al Institutului suedez de informatică .

Proiect

Contiki este scris în limbajul C și este deosebit de potrivit pentru sistemele încorporate cu puține resurse hardware. O configurație tipică Contiki este de 2 kiloocteți RAM și 40 kiloocteți ROM . A fost conceput special pentru Internetul obiectelor pentru a extinde internetul global la obiecte.

Contiki constă dintr-un kernel de evenimente pe care aplicațiile sunt încărcate și descărcate dinamic în timpul rulării . Programarea nu este preventivă, astfel încât CPU-ul este eliberat de proces numai atunci când se termină sau se blochează în așteptarea unui eveniment. Procesele lui Contiki sunt fire prototice care permit un stil de programare oarecum liniar, filetat .

Pentru rețea, a fost implementată stiva de protocol uIP , care este o stivă TCP / IP special concepută pentru sistemele de 8 și 16 biți. Din octombrie 2008, uIP este compatibil cu protocolul IPv6 . De asemenea, este implementat protocolul 6LoWPAN (IPv6 peste rețele personale fără fir de mică putere), care permite utilizarea protocolului IPv6 în rețelele WPAN , datorită comprimării antetului IPv6. De asemenea, este implementat RPL, un protocol de rutare pentru rețelele de putere redusă.

Programare

Pentru a dezvolta o aplicație Contiki, mai întâi de toate trebuie să definiți un proces. Structura de bază a unei aplicații este următoarea:

 #include "contiki.h" // trebuie să fie întotdeauna inclus

PROCES ( Exemplu , „Exemplu de proces” ); // Definirea procesului
AUTOSTART_PROCESSES ( & Exemplu ); // Boot on boot

PROCESS_THREAD ( Exemplu , ev , date )
{
  PROCESS_BEGIN (); // Definește începutul procesului
  în timp ce ( 1 ) {
    PROCESS_WAIT_EVENT ();
      // cerere
  }
  PROCES_END ();
}

Makefile are următoarea structură:

 CONTIKI = .. / .. // depinde de locația proiectului
toate : aplicație - nume
include $ ( CONTIKI ) / Makefile . include

Platforme

Contiki este capabil să ruleze pe o mare varietate de platforme, de la microcontrolere, cum ar fi TI MSP430 și Atmel AVR, până la computere mai vechi de acasă .
Sistemul a fost portat (sau este portat) la următoarele sisteme:

Alte proiecte

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT