d i g i t a l SRC Research Report 21

Evolving the UNIX System Interface to Support Multithreaded Programs


Paul R. McJones and Garret F. Swart

Report #21, September 28, 1987 (reformatted for electronic distribution August 28, 1997). 80 pages.

Multiple threads (program counters executing in the same address space) make it easier to write programs that deal with related asynchronous activities and that execute faster on shared-memory multiprocessors. Supporting multiple threads places new constraints on the design of operating system interfaces. Part I of this report presents guidelines for designing (or redesigning) interfaces for multithreaded clients. We show how these guidelines were used to design an interface to UNIX-compatible file and process management facilities in the Topaz operating system. Two implementations of this interface are in everyday use: a native one for the Firefly multiprocessor, and a layered one running within a UNIX process. Part II is the actual programmer's manual for the interface discussed in Part I.

Back to the SRC Research Reports main page.


Download report as: