protothreads

Jeroen Ruigrok/asmodai asmodai at wxs.nl
Sat Feb 26 02:54:03 PST 2005


http://www.sics.se/~adam/pt/

Protothreads are extremely lightweight stackless threads designed for
severely memory constrained systems such as small embedded systems or sensor
network nodes. Protothreads provide linear code execution for event-driven
systems implemented in C. Protothreads can be used with or without an
underlying operating system.

Protothreads provide a blocking context on top of an event-driven system,
without the overhead of per-thread stacks. The purpose of protothreads is to
implement sequential flow of control without complex state machines or full
multi-threading. Protothreads provide conditional blocking inside C
functions.

# No machine specific code - the protothreads library is pure C
# Does not use error-prone functions such as longjmp()
# Very small RAM overhead - only two bytes per protothread
# Can be used with or without an OS
# Provides blocking wait without full multi-threading or stack-switching
# Freely available under a BSD-like open source license

Might be interesting for us?

-- 
Jeroen Ruigrok van der Werven <asmodai(at)wxs.nl> / asmodai / kita no mono
Free Tibet! http://www.savetibet.org/ | http://ashemedai.deviantart.com/
http://www.tendra.org/   | http://www.in-nomine.org/
Hypocrisy is the homage which vice pays to virtue...





More information about the Kernel mailing list