Book contents
- Frontmatter
- Contents
- Preface
- 1 Introduction to Concurrency
- 2 Processes and the Specification of Concurrency
- 3 Communication between Processes
- 4 High-Level Concurrency Constructs - Shared Data
- 5 High-Level Concurrency Constructs - Message Passing
- 6 Languages for Concurrency
- 7 Implementation of a Concurrency Kernel
- Bibliography
- Index
- Frontmatter
- Contents
- Preface
- 1 Introduction to Concurrency
- 2 Processes and the Specification of Concurrency
- 3 Communication between Processes
- 4 High-Level Concurrency Constructs - Shared Data
- 5 High-Level Concurrency Constructs - Message Passing
- 6 Languages for Concurrency
- 7 Implementation of a Concurrency Kernel
- Bibliography
- Index
Summary
For a number of years, Concurrent Programming was considered only to arise as a component in the study of Operating Systems. To some extent this attitude is understandable, in that matters concerning the scheduling of concurrent activity on a limited number (often one!) of processing units, and the detection/prevention of deadlock, are still regarded as the responsibility of an operating system. Historically, it is also the case that concurrent activity within a computing system was provided exclusively by the operating system for its own purposes, such as supporting multiple concurrent users.
It has become clear in recent years, however, that concurrent programming is a subject of study in its own right, primarily because it is now recognised that the use of parallelism can be beneficial as much to the applications programmer as it is to the systems programmer. It is also now clear that the principles governing the design, and the techniques employed in the implementation of concurrent programs belong more to the study of programming than to the management of the resources of a computer system.
This book is based on a course of lectures given over a number of years initially to third, and more recently to second year undergraduates in Computing Science. True to the origins of the subject, the course began as the first part of a course in operating systems, but was later separated off and has now become part of a course in advanced programming techniques.
- Type
- Chapter
- Information
- Concurrent Programming , pp. viii - xPublisher: Cambridge University PressPrint publication year: 1992