Document Type : Research Paper
Department of Computer Engineering, Shahr-e-Qods Branch, Islamic Azad University, Tehran, Iran
Concurrency control is one of the important problems in operation systems. Various studies have been reported to present different algorithms to address this problem, although a few attempts have been made to represent an overall view of the characteristics of these algorithms and comparison of their capabilities to each other. This paper presents a survey of the current methods for controlling concurrency in operating systems. Classification of current algorithms in operating systems has been proposed. Current concurrency control algorithms are classified into four groups: 1) software-based algorithms, 2) hardware-based algorithms, 3) based operating system, and 4) based on message passing. Furthermore, it presents an analysis of the capabilities and characteristics of current algorithms' in their own category (intra-group comparison analysis) and between different categories (inter-group comparison analysis) to put a light on the way of selecting a proper algorithm for various circumstances in operating systems.