Date of Award


Document Type

Thesis (Undergraduate)

Department or Program

Department of Computer Science

First Advisor

Prasad Jayanti


The Reader-Writer Exclusion problem seeks to provide a lock that protects some critical section of code for two classes of processes, readers and writers, where multiple readers are permitted to hold the lock at a time, but only one writer can hold the lock to the exclusion of all other processes. The difficulties in solving this problem lie not only in developing a good algorithm, but in rigorously formulating desirable properties for such an algorithm to have. Recently, Bhatt and Jayanti accomplished both of these tasks for several variants of the Reader-Writer Exclusion problem. We seek to extend their work by augmenting one of their algorithms (the one giving readers priority over writers) with the notions of upgrading and downgrading. We augment the algorithm by allowing processes in the critical section that are only permitted to read to attempt to acquire permission to write by upgrading, and by allowing processes that are permitted to write to relinquish their permission to write--but still remain in the critical section as readers--by downgrading.


Originally posted in the Dartmouth College Computer Science Technical Report Series, number TR2011-683.