Evolving the UNIX System Interface to Support Multithreaded Programs

Paul R. McJones, Garret Swart · 1997

Allowing multiple threads to execute within the same address space makes 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. We present several guidelines for designing or redesigning interfaces for multithreaded clients. We show how these guidelines were used to design an interface to UNIX1-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. 1.

Read the paper · More papers on PaperTik