Next: Contents
Up: No Title
Previous: Author's Abstract
Unix was designed to support client address spaces containing exactly one
program counter. This assumption about a Unix process has had a remarkably
pervasive influence on the interface to the Unix kernel. This report
documents a successful project to provide an alternative interface, for
multithreaded address spaces, to the Unix file and process facilities.
Single-threaded processes using the Unix kernel interface and multi-threaded
processes using the alternative can cohabit the same system and cooperate.
Part I of the report is a paper that discusses the general issues and
solutions. Part II is a programmer's manual for the new interface. The
inclusion of this second part will allow the interested reader to answer
quite detailed questions about how the system may be used. The techniques
discussed in Part I will apply to efforts to provide a more modern,
multi-threaded interface to other operating systems with single-threaded
client interfaces.
Michael Schroeder
Paul McJones
8/28/1997