Contiki: nyílt forráskódú operációs rendszer 8 bites és beágyazott eszközökhöz
Contiki — nyílt forráskódú, kis memóriaigényű operációs rendszer 8 bites és beágyazott eszközökhöz; grafikus felület, telepítési és fejlesztési útmutató.
A Contiki egy kis, nyílt forráskódú, ingyenes operációs rendszer, amelyet kifejezetten 8 bites számítógépekben és egyéb beágyazott rendszerekben való használatra terveztek. Alapelve a nagyon kis memória- és erőforrás‑igény mellett működő, hálózatképes alkalmazások futtatása — a teljes telepítéshez tipikusan körülbelül 30 kilobájt RAM szükséges, ennél persze kisebb vagy nagyobb konfigurációk is előfordulhatnak az adott platform és a használt modulok függvényében. A rendszer tartalmaz egy könnyű, egyszerű grafikus felhasználói felületet és ablakkezelőt, amely alkalmas korlátozott megjelenítőkön vagy szimulációs környezetben futó vizualizációkra.
A Contiki név Thor Heyerdahl híres Kon-Tiki tutajáról származik; ezzel utalnak a rendszer kis méretére és a „hajózó”, hálózatba kapcsolt eszközök közötti kommunikációra.
Fejlesztés és történet
Az alapvető rendszermagot és a legtöbb alapfunkciót Adam Dunkels fejlesztette ki a Svéd Számítástechnikai Intézet Networked Embedded Systems csoportjában. A Contiki-t elsősorban kutatási és oktatási célokra hozták létre, de a kis méret és a beágyazott hálózati funkciók miatt széles körben használják ipari és hobbi projektben is. A projektből később több továbbfejlesztett változat és leszármazott született, például a Contiki-NG, amely a modern IoT‑követelményekre (IPv6, 6LoWPAN, RPL stb.) összpontosít.
Főbb jellemzők
- Kis memóriaigény — a rendszer és egyszerű alkalmazások futtatása nagyon kevés RAM‑ot és flash‑t igényel.
- Eseményvezérelt architektúra és protothread-ek — a Contiki könnyű párhuzamosságot biztosít protothread‑ekkel, amelyek egyszerűsítik a többfeladatos viselkedést alacsony erőforrásigény mellett.
- Hálózati stackek — tartalmaz beépített TCP/IP (uIP) és könnyebb, speciális megoldásokat (Rime), valamint támogatást nyújt 6LoWPAN/IPv6 protokollokhoz a modernebb verziókban.
- Moduláris felépítés és dinamikus betöltés — sok platformon támogatott a programok moduláris felépítése és dinamikus betöltése/cseréje.
- Energiagazdálkodás — alacsony fogyasztásra optimalizált, támogatja a rádiók és CPU alvó módjainak kezelését (duty cycling).
- Fejlesztői eszközök és szimuláció — a Contiki ökoszisztémához tartozik a Cooja szimulátor, amely lehetővé teszi hálózatok és érzékelőcsomópontok modellezését, tesztelését nagyobb méretekben.
Támogatott hardver és felhasználási területek
A Contiki-t elsősorban kis teljesítményű mikrokontrollerekre (például AVR, MSP430, különböző ARM Cortex‑M megoldások és rádiós lapkák) tervezték. Tipikus alkalmazási területek:
- szenzorhálózatok és vezeték nélküli érzékelőcsomópontok (WSN),
- IoT eszközök és vezérlők,
- kutatási prototípusok és oktatási demonstrációk,
- hobby projektek és beágyazott fejlesztések, ahol kis méret és hálózati képesség szükséges.
Fejlesztés és közösség
A Contiki fejlesztői közössége aktív: a forráskód elérhető, a felhasználók megosztanak példákat, drivereket és hálózati protokollokat. A Cooja szimulátor és a dokumentáció segít a fejlesztőknek abban, hogy teszteljék rendszereiket anélkül, hogy minden eszköz fizikailag rendelkezésre állna. A Contiki és leszármazottai (például Contiki‑NG) gyakran jelennek meg tudományos publikációkban és IoT projektekben.
Miért érdemes Contiki-t választani?
Érdemes Contiki-t választani, ha korlátozott erőforrású eszközön kell hálózati képességeket megvalósítani, különösen, ha fontos a kis memória- és energiaigény, valamint a rugalmas hálózati megoldások (például 6LoWPAN/IPv6 a Contiki‑NG esetén). A rendszer jó belépési pont hallgatóknak, kutatóknak és fejlesztőknek, akik meg akarják érteni a beágyazott hálózatok működését.
Összefoglalva: a Contiki egy könnyű, hálózatos orientált beágyazott operációs rendszer, amely kis memóriaigényével, eseményvezérelt működésével és hálózati stackjeivel kifejezetten 8 bites és egyéb korlátozott erőforrású eszközök számára készült. A projekt története és fejlesztői (például Adam Dunkels) jelentős hatást gyakoroltak az IoT és szenzorhálózatok kutatására és gyakorlati megvalósítására.

C128 port 80-as jelzésekkel
Jellemzők
A Contiki teljes telepítése a következő funkciókat tartalmazza:
- Multitasking rendszermag
- Választható alkalmazásonkénti preemptív többszálú futás
- Protothreads
- TCP/IP hálózatépítés
- Ablakrendszer és GUI
- Hálózati távoli megjelenítés virtuális hálózati számítástechnikával
- Webböngésző (állítólag a világ legkisebb webböngészője)
- Személyes webszerver
- Egyszerű telnet kliens
- Képernyővédő
További tervezett alkalmazások:
- egy e-mail program
- egy Internet Relay Chat kliens
Portok
A Contiki operációs rendszert a következő rendszerekre portolták vagy portolják:
- Számítógépek:
- Apple II család*
- Atari 8-bit*
- Atari ST
- Atari portfólió
- Casio Pocketview
- Commodore PET*
- Commodore VIC 20*
- Commodore 64*
- Commodore 128*
- GP32
- PC-6001
- Éles varázsló
- x86-alapú Unix-szerű rendszerek, a GTK+ tetején, valamint közvetlenül az X Window System használatával
* cc65 alapú fejlesztés
- Videojáték-konzolok:
- PC motor
- Sega Dreamcast
- Sony PlayStation
- Kézi játékkonzolok:
- Nintendo Game Boy
- Nintendo Game Boy Advance
- Mikrokontrollerek:
- Atmel AVR
- TI MSP430
Kapcsolódó oldalak
A Contikivel kapcsolatos média a Wikimédia Commonson
Kérdések és válaszok
K: Mi az a Contiki?
V: A Contiki egy kis, nyílt forráskódú, szabad operációs rendszer.
K: Mire fejlesztették ki a Contikit?
V: A Contiki-t 8 bites számítógépekben és beágyazott rendszerekben való használatra fejlesztették ki.
K: Van a Contikinek grafikus felhasználói felülete?
V: Igen, a Contiki rendelkezik grafikus felhasználói felülettel.
K: Mennyi RAM szükséges a Contiki teljes telepítéséhez?
V: A Contiki teljes telepítéséhez körülbelül 30 kilobájt RAM-ra van szükség.
K: Mi a Contiki név eredete?
V: A Contiki név Thor Heyerdahl híres Kon-Tiki tutajáról származik.
K: Ki fejlesztette ki a Contiki alapvető rendszermagját és legtöbb alapfunkcióját?
V: Adam Dunkels fejlesztette ki a Contiki alapvető rendszermagját és a legtöbb alapfunkciót a Svéd Számítástechnikai Intézet Networked Embedded Systems csoportjában.
K: A Contiki fizetős operációs rendszer?
V: Nem, a Contiki egy ingyenes és nyílt forráskódú operációs rendszer.
Keres