Contiki OS – Letvægts open-source styresystem til 8-bit og indlejrede systemer
Contiki OS — letvægts open-source styresystem til 8-bit og indlejrede systemer. Kun ~30 KB RAM, GUI og netværksfunktioner — perfekt til små, energieffektive projekter.
Contiki er et lille, gratis styresystem med åben kildekode, designet til netværksforbundne, ressourceliminerede systemer og indlejrede enheder. Det blev oprindeligt udviklet med tanke på 8-bit hjemmecomputere og små indlejrede systemer, men siden er det også blevet brugt på moderne mikrocontrollere. Hele systemet kan køre med meget begrænsede ressourcer — kernen og netværksstakken kan ofte fungere med så lidt som nogle få titals kilobyte RAM (typisk omkring 30 KB for en komplet, grundlæggende installation afhængigt af konfiguration).
Navnet Contiki stammer fra Thor Heyerdahls berømte Kon-Tiki-flåde.
Den grundlæggende kerne og mange af de oprindelige kernefunktioner blev udviklet af Adam Dunkels i gruppen Networked Embedded Systems ved det svenske Institut for Datalogi (SICS). Kernen er eventdrevet og understøtter letvægtsmultitasking via såkaldte "protothreads" — små, stackløse tråde, som gør det muligt at skrive trådlignende kode uden stor hukommelsesoverhead.
- Arkitektur: Eventdrevet kerne kombineret med protothreads giver en enkel og hukommelseseffektiv måde at håndtere samtidighed på. Contiki indeholder også mekanismer til tidskritiske funktioner (rtimer) og lavt strømforbrug.
- Netværk: Contiki leveres med letvægts netværksstakke (f.eks. uIP til TCP/IP) og Rime til trådløse sensor-netværk. Moderne varianter og forks (som Contiki-NG) understøtter IPv6/6LoWPAN, RPL, CoAP m.fl.
- Udvikling og simulation: Et vigtigt værktøj i Contiki-økosystemet er Cooja-simulatoren, som kan emulere mange noder og forskellige hardwareplatforme og dermed bruges til test og forskning uden fysisk hardware.
- Fleksibilitet: Systemet er modulært — komponenter som netværksprotokoller, applikationer og drivere kan tilføjes eller udelades efter behov for at minimere hukommelsesforbruget.
- Licens og fællesskab: Contiki er frigivet som open source under en BSD-lignende licens, og der findes en aktiv forsknings- og udviklergruppe omkring projektet samt en nyere, community-drevet fork kaldet Contiki-NG, som målrettet udvikler funktioner til moderne IoT.
Selvom Contiki i sine tidlige demonstrationer (blandt andet på 8-bit hjemmecomputere) havde en simpel grafisk brugerflade, bruges der i praksis på mange indlejrede enheder sjældent en fuld GUI. Fokus er typisk på netværksfunktionalitet, lavt strømforbrug og pålidelighed i små systemer.
Anvendelsesområder omfatter trådløse sensornetværk, IoT-prototyper, akademisk forskning og undervisning samt kommercielle indbyggede produkter, hvor lavt ressourceforbrug og netværksevner er afgørende.
Hvis du vil arbejde videre med Contiki, er de typiske trin at hente kildeteksten (fra projektets officielle repository), vælge din målplatform (f.eks. mikrocontrollere som AVR, MSP430 eller ARM-baserede enheder), og bruge Contiki/Cooja til udvikling og test. Contiki-NG er nyttig, hvis du har brug for moderne IPv6/6LoWPAN-funktioner og et aktivt, opdateret økosystem.

C128-port med 80-angivelser
Funktioner
En komplet installation af Contiki indeholder følgende funktioner:
- Multitasking-kernel
- Valgfri præemptiv multithreading pr. program pr. program
- Protothreads
- TCP/IP-netværk
- Vinduessystem og GUI
- Fjernvisning på netværk ved hjælp af Virtual Network Computing
- En webbrowser (hævdes at være verdens mindste)
- Personlig webserver
- Enkel telnet-klient
- Skærmbeskytter
Der er planlagt flere applikationer, bl.a.:
- et e-mail-program
- en Internet Relay Chat-klient
Porte
Contiki styresystemet er blevet eller er ved at blive tilpasset til følgende systemer:
- Computere:
- Apple II-familien*
- Atari 8-bit*
- Atari ST
- Atari-portefølje
- Casio Pocketview
- Commodore PET*
- Commodore VIC 20*
- Commodore 64*
- Commodore 128*
- GP32
- PC-6001
- Skarp Wizard
- x86-baserede Unix-lignende systemer, oven på GTK+ samt direkte ved hjælp af X Window System
* cc65-baseret udvikling
- Videospilkonsoller:
- PC-motor
- Sega Dreamcast
- Sony PlayStation
- Håndholdte spilkonsoller:
- Nintendo Game Boy
- Nintendo Game Boy Advance
- Mikrocontrollere:
- Atmel AVR
- TI MSP430
Relaterede sider
Medier relateret til Contiki på Wikimedia Commons
Spørgsmål og svar
Q: Hvad er Contiki?
A: Contiki er et lille, gratis open source-operativsystem.
Q: Hvad blev Contiki udviklet til?
A: Contiki blev udviklet til at blive brugt i 8-bit computere og indlejrede systemer.
Q: Har Contiki en grafisk brugergrænseflade?
A: Ja, Contiki har en grafisk brugergrænseflade.
Q: Hvor meget RAM er der brug for til en fuld installation af Contiki?
A: Den fulde installation af Contiki har brug for omkring 30 kilobyte RAM.
Q: Hvad er oprindelsen til navnet Contiki?
A: Navnet Contiki kommer fra Thor Heyerdahls berømte Kon-Tiki-flåde.
Q: Hvem har udviklet grundkernen og de fleste af kernefunktionerne i Contiki?
A: Adam Dunkels udviklede den grundlæggende kerne og de fleste af kernefunktionerne i Contiki i gruppen Networked Embedded Systems på Swedish Institute of Computer Science.
Q: Er Contiki et betalt operativsystem?
A: Nej, Contiki er et gratis open source-operativsystem.
Søge