The Structuring of Systems using Upcalls

This paper introduces the concept of "upcalls," which in a layered system, is a synchronous (procedure call) from a lower layer to a higher layer. In other systems, a layer is implemented as a task or process, and upward flow of control must cross protection boundaries. In the methodology described in the paper, a layer is organized as a collection of subroutines which live in a number of tasks, each subroutine callable as appropriate from above or below. Multi-task module are subroutines in different tasks that make up a layer. As a result, tasks correspond to vertical stripes representing particular client requests rather than horizontal stripes representing particular functional decompositions.

A good companion paper is:
H. C. Lauer and R. M. Needham, "On the Duality of Operating System Structures," Proc. Second International Symposium on Operating Systems, IRIA, Oct. 1978 (reprinted in Operating Systems Review, Vol. 13, No. 2, April 1979, pp. 3-19).


Elaine Cheong
Last modified: Fri Aug 17 00:26:17 PDT 2001