next up previous
Next: Strand Interface Up: Strands Previous: What are Strands

SPIN Architecture Overview - Where are Strands Used ?

As is shown in the picture below:

 
Figure:   SPIN system decomposition. Arrows indicate strand related communication.

A shrink wrapped SPIN system has the following components:

All user level threads are strands that are scheduled by some strand scheduler. Further, there exists a kernel strand scheduler which runs the spindles marked by the dispatcher as ready to run. Hence, executing spindles conform to the strand interface and are scheduled just like every other executable entity in the system. That is, there is no inherent dichotomy between user-level strands and spindles except for the level of trust granted to them. This is intented to facilitate the migration of code from user-level into kernel space.



Emin Gun Sirer
Sat Jun 22 19:01:37 PDT 1996