The Linux kernel 2.6.23 scheduler includes substantial changes that may entice researchers with no prior interest in Linux to attempt to understand or modify its behavior. Often, this is no easy task, particularly for someone new to Linux kernel development. Virtual machines and hardware simulators can help make the task easier; however, they introduce their own problems. Motivated by these observations, we present the LinSched tool to host a Linux scheduler at a high simulation speed in an isolated environment, within which its behavior can be observed on a variety of different platforms independently of other Linux subsystems. The tool runs as a user-space process, so bugs within the scheduling code crash a single process instead of the entire system, reducing development time substantially. Experiments show that scheduling behavior within LinSched and the Linux kernel are nearly identical--this, combined with our personal experiences, suggest that the tool can be highly useful both...
John M. Calandrino, Dan P. Baumberger, Tong Li, Je