Operating System Process Management and the Effect on Maintenance: A Comparison of Linux, FreeBSD, and Darwin - Yu, Liguo (INFOCOMP Journal of Computer Science, 2006)
Process management is one of the most important and relevant tasks in operating system design. In this paper, we investigate the process management in Linux, FreeBSD, and Darwin. We compare the data structures used to represent process and the global variables used to control the current active process in three operating systems. Based on the definitionuse analysis, we study how the number of instances of process control global variable can affect the maintenance of the operating system kernel. This effect is demonstrated in an empirical study in the relationship between the number of kernel lines of code modified and the number of instances and number of definitions of process controller global variable. We conclude that the way process management implemented in Linux makes it more difficult to maintain than FreeBSD and Darwin.