Beruflich Dokumente
Kultur Dokumente
CONCURRENT PROGRAMMING
CONCURRENT PROGRAMMING
Springer
Per Brinch Hansen
Center for Science and Technology
Syracuse University
Syracuse, NY 13244
USA
pbh@top.cis.syr.edu
Ada is a trademark of the United States Government. IBM is a trademark of IBM. Java is a
trademark of Sun Microsystems, Inc. occam and Transputer are trademarks of Inmos, Ltd. PDP-
11 is a trademark of Digital Equipment Corporation. Unix is a trademark of X/Open Company,
Ltd.
ISBN 978-1-4419-2986-0 ISBN 978-1-4757-3472-0 (eBook)
DOI 10.1007/978-1-4757-3472-0
2002 Springer Science+Business Media New York
Originally published by Springer-Verlag New York, Inc. in 2002.
Softcover reprint ofthe hardcover 1st edition 2002
All rights reserved. This work may not be translated or copied in whole or in part without the
written permission of the publisher Springer Science+Business Media, LLC,
except for brief excerpts in connection with reviews or scholarly analysis. Use
in connection with any form of information storage and retrieval, electronic adaption, computer
software, or by similar or dissimilar methodology now known or hereafter developed is forbidden.
The use in this publication of trade names, trademarks, service marks, and similar terms, even if
they are not identified as such, is not to be taken as an expression of opinion as to whether or not
they are subject to proprietary rights.
www.springer-ny.com
FOR JONATHAN GREENFIELD
PREFACE
If you want to discover new ideas in computing, textbooks won't help you.
You need to find out how the masters of the field did it. You need to read
their original papers!
That's why I put twenty-four papers together in a previous volume called
Classic Operating Systems: Fmm Batch Pmcessing to Distributed Systems
(Springer-Verlag, 2001).
But there is another side to this story. You cannot build (or understand)
a modern operating system unless you know the principles of concurrent
programming. The classic papers in the present book cover the major break-
throughs in concurrent programming fmm the mid 1960s to the la te 1970s.
These pioneering contributions have remained the foundation of concurrent
programming in operating systems and parallel computing.
All the papers were written by the computer scientists who invented these
ideas. Apart from a brief summary, I let the papers speak for themselves.
This book is for programmers, researchers, and students of electrical engi-
neering and computer science. I assume that you are familiar with operating
system principles.
I thank the copyright owners for permission to reprint these papers. A
footnote on the title page of each paper gives fuH credit to the publication in
wh ich the work first appeared, including the name of the copyright holder.
vii
CONTENTS
OVERVIEW
The Invention of Concurrent Programming 3
PER BRINCH HANSEN (2001)
IX
x CONTENTS