The Contiki Operating System - PowerPoint PPT Presentation

1 / 13
About This Presentation
Title:

The Contiki Operating System

Description:

'Contiki runs on tiny and prehistoric computers, yet is able to do much of what ... Hobbyists use it as an OS for older and smaller systems ... – PowerPoint PPT presentation

Number of Views:670
Avg rating:3.0/5.0
Slides: 14
Provided by: jackn6
Category:

less

Transcript and Presenter's Notes

Title: The Contiki Operating System


1
The Contiki Operating System
  • Jack Nosek

2
History
  • Developed by Adam Dunkels of SICS
  • Also developed protothreads and µIP
  • First released on March 10, 2003
  • Named after Thor Heyerdahl's famous Kon-Tiki raft
  • Contiki runs on tiny and prehistoric computers,
    yet is able to do much of what we expect from
    large and modern computers.

3
Who uses it?
  • Most common application is as an OS for Networks
    of Embedded Systems
  • Hobbyists use it as an OS for older and smaller
    systems
  • Ports for Apple II, Atari, Gameboy, NES,
    Commodore 64 and 128
  • Screen captures at http//www.sics.se/adam/contik
    i/ports/index.html

4
Features
  • Minimalist Event Driven Kernel, even runs on
    8-bit Microcontrollers
  • TCP/IP Stack Support
  • Dynamic Loading and Unloading of Programs
  • Small Memory Requirements
  • Optional Preemptive Multithreading through
    Protothreads

5
Event Driven Kernel
  • Kernel is event based making it a real time OS
  • An event triggers the kernel to call the
    corresponding event handler
  • Functions very similar to TinyOS
  • Has its drawbacks, i.e. long running computations

6
TCP/IP Stack Support
  • Implements Dunkelss own TCP/IP stack called µIP
  • Memory Requirements
  • Kilobytes of Program Code
  • Hundreds of bytes of RAM
  • Allows to connect to networks using SLIP (Serial
    Line IP)

7
Dynamic Program Loading
  • The Core Code and Program Code are kept separate
    in ROM.
  • Program Code loaded at runtime.
  • Program code can be loaded from ROM or RAM
  • Allows for Over the Air Programming for
    networks of sensors

8
Small Memory Requirements
  • The base system, providing multitasking and
    TCP/IP networking, can be compiled in about 32 KB
  • Smallest system to date uses about 2000 bytes of
    RAM
  • Jack Ganssle praised Contiki for its low memory
    usage in his Embedded Muse newsletter, 113

9
Protothreads
  • Implemented as an additional library on top of
    the event based kernel
  • Stackless, lightweight thread comprised of a
    single C function using 2 bytes of RAM to record
    its state
  • Adds a layer of abstraction to the state-machine
    event based code usually written, to create a
    sequential flow of program code.

10
Event-driven
Handler
  • Event-driven (TinyOS)
  • Processes do not run without events
  • Event occurs kernel invokes event handler
  • Event handler runs to completion (explicit
    return)

Handler
Kernel
Handler
Handler
11
Contiki implementing threads on top of an
event-based kernel
Event
Thread
Thread
Event
Kernel
Event
Event
12
Contiki Programs
  • Contiki Tool-kit (CTK) GUI
  • Virtual Network Computing (VNC) Server
  • A Web Server
  • A Web Browser
  • A command line shell.
  • A telnet server.
  • An IRC client.
  • An FTP client.
  • A disk directory file reader.
  • A file and disk image downloader utility.
  • A simple desktop calculator.

13
End
  • Works Cited
  • Slides 10 and 11 Taken fromAdam Dunkles
    Presentation Contiki a Lightweight and
    Flexible Operating System for TinyNetworked
    Sensorsfound at http//www.sics.se/adam/slides/c
    ontiki-emnets.ppt
Write a Comment
User Comments (0)
About PowerShow.com