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.

Autor: Leandro Alegsa

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ärkegaZoom
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:

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

  • Käeshoitavad mängukonsoolid:
    • Nintendo Game Boy
    • Nintendo Game Boy Advance

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
AlegsaOnline.com - 2020 / 2025 - License CC3