For those of us who have been teaching Operating Systems for years, you may remember with nostalgia the days when Operating Systems texts ex: Deitel 1984 included Ada code to illustrate solutions for concurrency problems. I find concurrency the most difficult topic to teach in Operating Systems, and expressing solutions in Ada is a strong teaching aid. Ada's tasking construct is powerful and readable. In addition, an Ada Programming Support Environment enables hands-on experimentation.The Readers/Writers problem, a classic mutual exclusion synchronization problem, puzzled computer science professionals for years. Explaining these solutions, as presented in current Operating Systems texts, is daunting.We contrast code expressed in C to that proposed by Burns Burns1985 and Barnes Barnes1995 for readability. We then suggest a slight modification to obtain what we consider to be a preferred solution, one that illuminates concurrency issues in general.
/lp/association-for-computing-machinery/conflict-resolution-for-readers-and-writers-VfPEqPG8TW