4.12. Processes in languages, runtime systems and operating systems

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 ...

Get Operating Systems: Concurrent and Distributed Software Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.