The Little Book of Semaphores

(1 review)

star01star02star03star04star05

Allen Downey, Franklin W. Olin College of Engineering

Pub Date:

ISBN 13:

Publisher: Green Tea Press

Read This Book

Conditions of Use

Attribution-NonCommercial-ShareAlike
CC BY-NC-SA

Reviews

  All reviews are licensed under a CC BY-ND license.

Learn more about reviews.

star01star02star03star04star05

Reviewed by Mukul Goyal, Associate Professor, University of Wisconsin Milwaukee, on 1/8/2016.

This little gem of a book is an excellent introduction to semaphores and their use in synchronization/concurrency control. The book discusses a large … read more

 

Table of Contents

  • Chapter 1 Introduction 
  • Chapter 2 Semaphores 
  • Chapter 3 Basic synchronization patterns 
  • Chapter 4 Classical synchronization problems 
  • Chapter 5 Less classical synchronization problems 
  • Chapter 6 Not-so-classical problems 
  • Chapter 7 Not remotely classical problems 
  • Chapter 8 Synchronization in Python 
  • Chapter 9 Synchronization in C 
  • A Cleaning up Python threads 
  • B Cleaning up POSIX threads

About the Book

The Little Book of Semaphores is a free (in both senses of the word) textbook that introduces the principles of synchronization for concurrent programming.

In most computer science curricula, synchronization is a module in an Operating Systems class. OS textbooks present a standard set of problems with a standard set of solutions, but most students don't get a good understanding of the material or the ability to solve similar problems.

The approach of this book is to identify patterns that are useful for a variety of synchronization problems and then show how they can be assembled into solutions. After each problem, the book offers a hint before showing a solution, giving students a better chance of discovering solutions on their own.

The book covers the classical problems, including "Readers-writers," "Producer-consumer", and "Dining Philosophers." In addition, it collects a number of not-so-classical problems, some written by the author and some by other teachers and textbook writers. Readers are invited to create and submit new problems.

About the Contributors

Author(s)

Allen B. Downey is an American computer scientist, Professor of Computer Science at the Franklin W. Olin College of Engineering and writer of free textbooks. Downey received in 1989 his BS and in 1990 his MA, both in Civil Engineering from the Massachusetts Institute of Technology, and his PhD in Computer Science from the University of California at Berkeley in 1997. He started his career as Research Fellow in the San Diego Supercomputer Center in 1995. In 1997 he became Assistant Professor of Computer Science at Colby College, and in 2000 at Wellesley College. He was Research Fellow at Boston University in 2002 and Professor of Computer Science at the Franklin W. Olin College of Engineering since 2003. In 2009-2010 he was also Visiting Scientist at Google Inc.