Authors: J Kola, Institute of Science and TechnologyL Mallepula, SRM Institute of Science and Technology B Thiripathi, SRM Institute of Science and Technology
Thread synchronization is a vital concern in operating systems and concurrent programming. Synchronization mechanisms like mutex locks, condition variables, semaphores, and monitors are there to ensure that multiple threads or interrupt handlers coordinate access to shared resources without conflicts. This paper surveys OS-level thread synchronization models and underlines their challenges in implementation and design trade-offs. We present an integration of key insights from three foundational sources: (1) Heinlein's work on the study of Java synchronization and higher-level constructs; (2) Kleiman and Eykholt's discussion of treating hardware interrupts as threads in Solaris; and (3) Heck's comprehensive treatment of thread synchronization primitives. We develop case studies to illustrate practical synchronization patterns and pitfalls such as the bounded buffer producer-consumer, readers-writers, and Solaris interrupt handling. Throughout, technical accuracy and depth are emphasized, both for basic concepts - like mutexes, condition variables, and priority inversion - and advanced models, such as interaction expressions, informed by the reference documents
Keywords: thread synchronization, mutual exclusion, monitors, condition variables, bounded buffer, readers–writers, interrupts, Solaris
Published in: 2024 Asian Conference on Communication and Networks (ASIANComNet)
Date of Publication: --
DOI: -
Publisher: IEEE