This session was devoted to discussion of
primitives for synchronizing the execution of concurrent
processes. Jack Dennis introduced the
session by noting that concurrent activity in a
computer systems leads to the possibility of nondeterminacy.
While most users with applications
programs do not want nondeterminate results~ some
applications are inherently nondeterminate in part,
e.g.~ an airline seat reservation system. At a
lower level, the prograrmners of the operating
system itself need to write both determinate and
nondeterminate programs. The challenge is in providing
primitives at each level in a system which
guarantee determinacy when that is required~ yet
allow the construction of nondeterminate programs
when that is required. As a basis for discussionj
Dennis invited Rick Holt to make a short presentation
on the levels in a computer system and
their relationship to synchronizing primitives.