"Contiki" yra nedidelė atvirojo kodo ir nemokama operacinė sistema, skirta veikti su labai ribotais ištekliais. Ji buvo sukurta naudoti tiek tradiciniuose 8 bitų kompiuteriuose, tiek moderniose įterptinėse sistemose (mikrokontroleriuose). Contiki turi paprastą grafinę vartotojo sąsają mažoms įrenginių platformoms, o visiškam pagrindinių funkcijų įdiegimui reikia maždaug 30 kilobaitų operatyviosios atminties – dėl to ji tinkama resursus taupančioms programoms ir daiktų interneto (IoT) įrenginiams.
Pavadinimas "Contiki" kilęs iš garsiojo Thoro Heyerdahlio plausto "Kon‑Tiki", simbolizuodamas lengvumą ir gebėjimą „plaukti“ ribotose sąlygose.
Autorius ir kilmė
Pagrindinį branduolį ir daugumą pagrindinių funkcijų sukūrė Adamas Dunkelsas, dirbęs Švedijos kompiuterių mokslo institute (SICS). Contiki vystėsi akademinėje aplinkoje kaip eksperimentinė bei praktinė platforma mažos atminties sistemoms, o vėliau įgijo plačias pritaikymo galimybes ir bendruomenės palaikymą.
Pagrindinės savybės
- Mažas atminties poreikis: pagrindinės funkcijos veikia su keliomis dešimtimis kilobaitų RAM.
- Lengvas tinklo sluoksnis: Contiki turi integruotą mažų išteklių TCP/IP sprendimą (pvz., uIP) ir lengvas radijo ryšio protokolų rinkinį (pvz., Rime), todėl tinklų funkcionalumas prieinamas net labai ribotoms platformoms.
- Įvykių valdoma architektūra ir protothreads: Contiki naudoja įvykių (event-driven) branduolį ir protothreads – lengvą „pseudo‑gijų“ abstrakciją, leidžiančią rašyti linijinį kodą be atskiros gijos steko kiekvienai užduočiai.
- Modulinumas ir dinaminis įkėlimas: leidžia pakrauti ar atnaujinti programas be pilno sistemos perrinkimo (priklausomai nuo platformos).
- Vaizdinė sąsaja ir tinklinės paslaugos: Contiki suteikia paprastas GUI bibliotekas mažiems ekranams, taip pat gali veikti kaip nedidelis žiniatinklio serveris ar klientas ribotų įrenginių tinkluose.
- Platus platformų palaikymas: yra portų įvairiems mikrokontroleriams (pvz., AVR, TI MSP430, ARM serijoms) bei „native“ (POSIX) porte, skirtame vystymui ir testavimui kompiuteryje.
- Atvirojo kodo licencija: dauguma Contiki leidimų platinami pagal atvirojo kodo licencijas, kas palengvina naudojimą ir modifikavimą moksliniams bei pramoniniams projektams.
Panaudojimas ir pritaikymas
Contiki plačiai naudojama moksliniuose tyrimuose, prototipavime ir komercinėse įterptinėse aplikacijose, ypač ten, kur reikia tinklo funkcijų esant siauriems resursams. Dėl mažo atminties ir energijos poreikio ji tinka jutiklių tinklams, nešiojamiems įrenginiams bei kitoms IoT taikomosioms programoms.
Evoliucija ir atšakos
Contiki vystėsi per daugelį metų: buvo išleista keletas pagrindinių versijų, o vėliau sukurtos naujesnės šakos, pvz., Contiki‑NG (Contiki Next Generation), orientuotos į modernias IoT reikmes – geresnį IPv6/6LoWPAN palaikymą, modernias saugumo priemones ir atnaujintą tinklo protokolų rinkinį.
Trumpai
Contiki yra kompaktiška, lanksčiomis tinklo galimybėmis pasižyminti operacinė sistema, pritaikyta veikti ribotos atminties ir energijos įrenginiuose. Jos autorius Adamas Dunkels ir SICS tyrimų grupė sukūrė platformą, kuri liko reikšminga mažai galiai jautrioms įterptomosioms sistemoms ir IoT sprendimams.

