Abstract
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.
- Barnes, J. Programming in Ada95, Addison-Wesley Publishing Co., Wokingham, 1995. Google ScholarDigital Library
- Burns, A., Concurrent Programming in Ada, Cambridge University Press, Cambridge, 1985. Google ScholarDigital Library
- Dijkstra, E. W., "Cooperating Sequential Processes," Technological University, Eindhoven, Netherlands, 1965. Google ScholarDigital Library
- Deitel, H. M., An Introduction to Operating Systems, Addison-Wesley Publishing Co., Reading, 1984.Google Scholar
- Hoare, C. A. R., "Monitors: An Operating System Structuring Concept," CACM, 17(10) October 1974, 549-57. Google ScholarDigital Library
- Levine, G. "The Control of Starvation," International Journal of General Systems, 15, 1989, 113-127.Google ScholarCross Ref
- Silberschatz, A. and Galvin, P. Operating System Concepts, 5th edition, Addison-Wesley, Reading, Mass. 1998. Google ScholarDigital Library
- Stallings, W. Operating Systems, Prentice Hall, Upper Saddle River, NJ, 2001.Google Scholar
Recommendations
Edit Conflict Resolution in WikiBOK: A Wiki-Based BOK Formulation-Aid System for New Disciplines
SOCIALCOM-PASSAT '12: Proceedings of the 2012 ASE/IEEE International Conference on Social Computing and 2012 ASE/IEEE International Conference on Privacy, Security, Risk and TrustA body of knowledge (BOK) of an academic field is an indispensable aid not only to people's understanding of the entirety of a targeted academic field, but also to designing a perfect curriculum of that field for educational purposes. However, in ...
Priority-Based Conflict Resolution for Hardware Transactional Memory
CANDAR '14: Proceedings of the 2014 Second International Symposium on Computing and NetworkingLock-based thread synchronization techniques have been commonly used in parallel programming on multi-core processors. However, lock can cause deadlocks and poor scalabilites, and Transactional Memory (TM) has been proposed and studied for lock-free ...
Reentrant Readers-Writers: A Case Study Combining Model Checking with Theorem Proving
Formal Methods for Industrial Critical SystemsThe classic readers-writers problem has been extensively studied. This holds to a lesser degree for the reentrant version, where it is allowed to nest locking actions. Such nesting is useful when a library is created with various procedures that each ...
Comments