March 2003
Intermediate to advanced
912 pages
27h 17m
English
System software is almost invariably programmed in a high-level language. We now consider how concurrency can be programmed and implemented by runtime systems and operating systems. First, we review relevant runtime system aspects of the execution of a program by a sequential process. Then we consider how concurrency might be supported within a language.
When a sequential programming language is used, one operating system process is created to run the program (Figure 4.17(a)). When a concurrent programming language is used the programmer, explicitly or implicitly, may set up a number of concurrent processes (to be implemented as user threads); see Figure 4.17(b), (c). If these ...