next up previous
Next: Chapter Content Up: Book Review Previous: Book Review

In General About the Book

The term concurrent programming refers to the kind of programming required to support simultaneous activities in a software application. In concurrent program several streams of applications may execute concurrently. Each stream of operations executes as it would in a sequential program except for the fact that streams can communicate and interfere with one another. Concurrent programs can be executed in several ways. Multiprogramming systems have one processing unit and one memory bank. Concurrent process execution is simulated by randomly interleaving instructions of sequential programs. In distributed systems, or computer networks, each process is executed on its own processor with its own memory bank, while interaction between processes occurs by transmission of data from one process to another along a communication channel. In multiprocessing systems there are several processing units and one memory bank. Processes are executed in parallel on separate processing units while sharing common data. Concurrent programs can be created explicitly or implicitly. Explicit concurrent programs are written in a programming language designed for specifying processes to be executed concurrently. Implicit concurrent programs are created by a compiler that automatically translates programs written in a sequential programming language into programs with several components to be executed in parallel.

This book introduces the fundamental concepts of concurrent programming and provides a unique overview of synchronization methods and techniques used for solving numerous problems in programming advanced computer architectures.


next up previous
Next: Chapter Content Up: Book Review Previous: Book Reviews
root 2007-05-01