USENIX Technical Program - Abstract - USENIX Annual
Conference, General Session - June 2000
Portable Multithreading - The Signal Stack Trick for User-Space
Thread Creation
Ralf S. Engelschall, Technische Universität Münchedn
(TUM)
Abstract
This paper describes a pragmatic but portable fullback approach for
creating and dispatching between the machine contexts of multiple
threads of execution on Unix systems that lack a dedicated user-space
context switching facility. Such a fallback approach for implementing
machine contexts is a vital part of a user-space multithreading
environment, if it has to achieve maximum portability across a wide
range of Unix flavors. The approach is entirely based on standard Unix
system facilities and ANSI-C language features and especially does not
require any assembly code or platform specific tricks at all. The most
interesting issue is the technique of creating the machine context for
threads, which this paper explains in detail. The described approach
closely follows the algorithm as implemented by the author for the
popular user-space multithreading library GNU Portable Threads (GNU
Pth, [25]) which this way quickly gained the status of one of the
most portable user-space multithreading libraries.
|