Protothread

Protothread

In der Informatik ist ein Protothread bzw. Protofaden ein leichtgewichtiger Mechanismus zur parallelen Programmierung.

Protothreads kommen im Gegensatz zu Threads ohne eigenen Stapelspeicher aus. Sie können blockierende Kontexte mit geringstmöglichem Speicherbedarf abbilden. Solche Aufgabenstellungen findet man in der Informatik häufig, zum Beispiel beim Umsetzen von Protokollen, bei Schnittstellen zwischen Computern und in eingebetteten Systemen.

Protothreads ist eine Art des kooperativen Multitasking. Deshalb können Kontextwechsel nur an speziell vorgesehenen Programmstellen stattfinden. Protothreads haben keinen eigenen Stapelspeicher, deshalb müssen lokale Variable statisch oder global definiert werden, wenn sie über einen Kontextwechsel hinweg erhalten bleiben sollen.

Protothreads verbinden die Vorteile von ereignisgetriebener (bzw. durch Zustandsautomaten gesteuerter) Programmierung mit threadorientierter Programmierung. Protothreads wurden von Adam Dunkels entwickelt und veröffentlicht.[1] Die Umsetzung von Adam Dunkels ist ANSI-C-konform und kommt ohne Maschinensprache aus. Eine weitere Umsetzung[2] nutzt spezifische Spracherweiterungen der GCC-Toolchain. Zwei bekannte, ebenfalls von Adam Dunkels veröffentlichte Projekte, der TCP/IP-Stack uIP[3] und das Betriebssystem Contiki[4], nutzen Protothreads.

Siehe auch

Einzelnachweise

  1. Adam Dunkels: Protothreads - Lightweight, Stackless Threads in C.
  2. Larry Ruane: Protothreads.
  3. Adam Dunkels: The open source TCP/IP stack for embedded 8-Bit microcontrollers.
  4. Adam Dunkels: The Operating System for Embedded Smart Objects - the Internet of Things.

Quellen


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • protothread — noun A lightweight stackless thread used in concurrent programming …   Wiktionary

  • Protothreads — In computer science, protothreads are a low overhead mechanism for concurrent programming.Protothreads function as stackless, lightweight threads providing a blocking context cheaply using only two bytes per protothread.… …   Wikipedia

  • Protothreads — In der Informatik ist ein Protothread ein leichtgewichtiger Mechanismus zur parallelen Programmierung. Protothreads kommen im Gegensatz zu Threads ohne eigenen Stapelspeicher aus. Sie können blockierende Kontexte mit geringstmöglichem… …   Deutsch Wikipedia

  • PowWow — Pour les articles homonymes, voir Powwow (homonymie). Platforme matérielle PowWow PowWow (Power Optimized Hardware and Software FrameWork for Wireless Motes) est une plateforme de recherche sur les réseaux de …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”