MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Continuations and threads: Expressing machine concurrency directly in advanced languages (1997)

by Olin Shivers Mit ,  Olin Shivers
In Proceedings of the Second ACM SIGPLAN Workshop on Continuations
Add To MetaCart

Abstract:

It is well known [Wand] that concurrency can be expressed within languages that provide a continuation type. However, a number of misconceptions persist regarding the relationship between threads and continuations. I discuss the proper relationship between these two objects, and present a model for directly expressing concurrency using continuations. The model is designed to support systems programming, and has several novel features: it is synchronous, preemptable, and fully virtualisable, allowing schedulers to be written by unprivileged users that are indistinguishable from top-level schedulers that actually control access to the hardware resources. 1 Introduction An operating system exports to its client programs protected interfaces to the machine resources, such as memory, persistent storage, network connections, and processors. An important part of the OS design is the model of these resources that the OS presents to the client program. For example, one of the benefits...

Citations

65 Continuation-based multiprocessing – Wand - 1980
28 A foundation for an efficient multi-threaded scheme system – Jagannathan, Philbin - 1992
4 A tractable Scheme implementation. To appear – Kelsey, Rees
4 A Scheme shell. To appear in the Journal of Lisp and Symbolic Computation. (Also available as technical report – Shivers - 1994
2 The Design of an Operating System for Modern Programming Languages. Doctoral Dissertation – Philbin - 1993