Notes on Thread Models in Mach 3.0

Bryan Ford, Mike Hibler, Jay Lepreau
Department of Computer Science
University of Utah, Salt Lake City, UT 84112


During the Mach In-Kernel Servers work, we explored two alternate thread models that could be used to support traps to in-kernel servers. In the ``migrating threads'' model we used, the client's thread temporarily moves into the server's task for the duration of the call. In the ``thread switching'' model, an actual server thread is dispatched to handle client traps. Based on our experience, we find that the migrating threads model is quite complex and difficult to implement in the context of the current design of Mach and the Unix single server. The thread switching model would fit more naturally and would probably be much simpler and more robust than migrating threads, making it a valuable approach to explore in the near future. However, we believe migrating threads inherently to be faster than thread switching, and ultimately to be the best long term direction.

Full paper appears as Technical Report UUCS-93-012.
Last modified on Tue Aug 8 1995.