Contiki — väike avatud lähtekoodiga operatsioonisüsteem sisseehitatud süsteemidele
Contiki — väike avatud lähtekoodiga operatsioonisüsteem sisseehitatud süsteemidele; sobib 8-bitistele seadmetele, graafiline liides ja töötab vaid ~30 KB RAM-iga.
Contiki on väike, avatud lähtekoodiga tasuta operatsioonisüsteem. See on välja töötatud kasutamiseks 8-bitistes arvutites ja manussüsteemides. Sellel on graafiline kasutajaliides ja täielik installeerimine vajab umbes 30 kilobaiti RAM-i.
Nimi Contiki pärineb Thor Heyerdahli kuulsast Kon-Tiki parvest.
Põhilise tuumiku ja enamiku põhifunktsioonidest töötas välja Adam Dunkels Rootsi Arvutiteaduse Instituudi Networked Embedded Systems grupis.
Funktsioonid
- Väike mälunõudlus: tuumik ja põhilised teenused mahuvad väga piiratud ressursiga seadmetesse (tavaliselt kümned kilobaidid RAM‑i ja mõned sadad kilobaidid ROM/flash‑mälu).
- Sündmuspõhine arhitektuur ja protothreads: Contiki kasutab sündmuspõhist tuumikku ning pakub kerget "protothread" mehhanismi, mis võimaldab kirjutada järjestikust kontrollvoogu ilma täisväärtuslike lõimede (threads) suure mälukasuta.
- Võrgustandardid: sisaldab kergeid TCP/IP-pinu (uIP) ja traadita võrgule mõeldud Rime‑stakki ning toetab IPv6/6LoWPANi, mis teeb selle sobivaks IoT ja traadita sensorivõrkude rakendusteks.
- Energiahaldused: võimalused madalaks energiatarbimiseks ning ärkveloleku ja une režiimide haldus väikekõlblikel mikroprotsessoritel.
- Tööriistad ja simuleerimine: Contiki on tihedalt integreeritud võrguemulaatoriga Cooja, mis võimaldab simuleerida pärisriistvara ja võrke arenduse ja testimise ajal.
Arhitektuur ja tööpõhimõtted
Contiki tuumik on sündmuspõhine: protsessid reageerivad sündmustele ja ajastitele, mis aitab hoida mälukasutuse minimaalsena. Kui soovitakse lihtsamat, järjestikust programmeerimisstiili, pakub süsteem protothreads – kergesti kasutatavaid, virnastamata "lõime", mis ei nõua eraldi kõvakettaruumi igale lõimele. Võrgukomponendid on üles ehitatud modulaarsetena: uIP (kerge TCP/IP), Rime (local communication stack) ja toetused IPv6/6LoWPAN jaoks.
Tugi, platvormid ja tööriistad
- Tugev platvormivalik: Contiki on kohandatav mitmele arhitektuurile – populaarsemad mikrokontrollerid nagu Atmel AVR, TI MSP430, erinevad ARM‑tuumikuga seadmed jm (sõltub versioonist ja portidest).
- Simulaator Cooja: pakub võimalust käivitada ja testida Contiki rakendusi emuleeritud riistvaral ja võrkudes, mis on kasulik nii arendajatele kui teadlastele.
- Arenduse ökosüsteem: sisaldab kogu kettastandardseid tööriistu (kompilaatorid, flash‑tööriistad, debuggereid) ning näiteid protokollidest ja rakendustest (CoAP, RPL, UDP/TCP näited jpm).
Ajaloost ja arengust
Algselt arendatud Adam Dunkels'i poolt, on Contiki olnud laialdaselt kasutatud akadeemilises uurimistöös ja varajastes IoT/protokolli katsetustes. Hiljem on tekkinud ka järgmine arengusuund Contiki‑NG (Next Generation) – kaasaegsem haru, mis täiustab IPv6, turvalisuse ja kaasaegsete riistvarade toe. Contiki ja selle järglased on avaldatud vaba/avatud litsentsiga, mis võimaldab neid vabalt kohandada ja kasutada teaduslikes ning kommertsrakendustes.
Rakendused ja kasutusvaldkonnad
Contiki sobib eelkõige:
- traadita sensorivõrkude uuringutesse ja prototüüpimisse,
- madala energiatarbega IoT seadmetesse,
- õppe- ja teadustöödesse, kus on vaja taasluua ja katsetada võrguparadigmasid (nt RPL, 6LoWPAN),
- projektidesse, kus riistvaralised ressursid on väga piiratud, kuid vajalik on võrguühendus või lihtsad teenused.
Kokkuvõte
Contiki on kerge, ressursisäästlik ja paindlik operatsioonisüsteem väikestele manussüsteemidele ning traadita sensoriseadmetele. Selle tugevus on kombinatsioon väga madalast mälukasutusest, võrgutoest (sh IoT ja 6LoWPAN) ning arendajat toetavatest tööriistadest nagu Cooja. Tänu avatusele on Contiki leidnud laialdast kasutust nii akadeemilises maailmas kui praktilistes IoT‑lahendustes.


C128 port koos 80 märkega
Omadused
Contiki täielik paigaldus sisaldab järgmisi funktsioone:
- Mitmekülgne tuuma
- Valikuline rakenduste kaupa kasutuseelne mitmehäälne töötlemine
- Protothreads
- TCP/IP-võrgud
- Aknasüsteem ja graafiline kasutajaliides
- Võrgustatud kaugkuvand, kasutades virtuaalset võrguarvutit
- Veebibrauser (väidetavalt maailma väikseim)
- Isiklik veebiserver
- Lihtne telnet klient
- Ekraanisäästja
Kavandatud on veel järgmised rakendused:
- e-posti programm
- Internet Relay Chat klient
Sadamad
Contiki operatsioonisüsteem on portitud või on portimisel järgmistele süsteemidele:
- Arvutid:
- Apple II perekond*
- Atari 8-bitine*
- Atari ST
- Atari portfell
- Casio Pocketview
- Commodore PET*
- Commodore VIC 20*
- Commodore 64*
- Commodore 128*
- GP32
- PC-6001
- Sharp Wizard
- x86-põhised Unix-taolised süsteemid, nii GTK+ peal kui ka otse X Window Systemi kasutades.
* cc65 põhinev areng
- Videomängukonsoolid:
- PC mootor
- Sega Dreamcast
- Sony PlayStation
- Käeshoitavad mängukonsoolid:
- Nintendo Game Boy
- Nintendo Game Boy Advance
- Mikrokontrollerid:
- Atmel AVR
- TI MSP430
Seotud leheküljed
Contikiga seotud meedia Wikimedia Commonsis
Küsimused ja vastused
K: Mis on Contiki?
V: Contiki on väike, avatud lähtekoodiga vaba operatsioonisüsteem.
K: Mille jaoks Contiki välja töötati?
V: Contiki töötati välja kasutamiseks 8-bitistes arvutites ja manussüsteemides.
K: Kas Contikil on graafiline kasutajaliides?
V: Jah, Contikil on graafiline kasutajaliides.
K: Kui palju RAM-i on vaja Contiki täielikuks installeerimiseks?
V: Contiki täielikuks installeerimiseks on vaja umbes 30 kilobaiti RAM-i.
K: Mis on nime Contiki päritolu?
V: Nimi Contiki pärineb Thor Heyerdahli kuulsast Kon-Tiki parvest.
K: Kes töötas välja Contiki põhituuma ja enamiku põhifunktsioonidest?
V: Adam Dunkels töötas välja Contiki põhituuma ja enamiku põhifunktsioonidest Rootsi arvutiteaduse instituudi Networked Embedded Systems grupis.
K: Kas Contiki on tasuline operatsioonisüsteem?
V: Ei, Contiki on tasuta ja avatud lähtekoodiga operatsioonisüsteem.
Otsige