Higher-Order and Symbolic Computation, 18(3/4)
Integrating User-Level Threads with Processes in Scsh
Martin Gasbichler, Universität Tübingen, Tübingen, Germany
Michael Sperber, Tübingen, Germany
|
Abstract: Scsh, the Scheme shell, enables
concurrent system programming with portable user-level threads. In
scsh, threads behave like processes in many ways: each thread receives
its own set of process resources; like Unix processes, new threads can
inherit resources from the creating thread. The combination of scsh's
interface to the POSIX API with user-level threads creates a number of
design and implementation challenges: Scsh's abstractions for managing
process resources raise interesting modularity issues, particularly in
connection with first-class continuations. Also, scsh also provides an
interface to the fork system call; its implementation must avoid
common pitfalls that arise with a user-level thread system. This paper
describes the design and implementation of the relevant abstractions
and discusses the implications for programming-language and system
design.
|
This article is not yet available.
|
|