A flow of control is a single sequential stream of executed instructions, including subroutine calls and returns. Normal machines directly represent a flow of control as the set of machine registers and the machine's execution stack. The scheduling of multiple flows of control on a processor can be supported in either OS kernel or user code.
The basic methods for flows of control examined in this paper include processes, kernel threads, user-level threads and event-driven objects.