Principles of Modern Operating Systems presents a practical introduction to operating systems and illustrates these principles through a hands-on approach using accompanying simulation models developed in Java and C++. The text is primarily appropriate for undergraduate courses in computer science at the junior/senior level. Case studies throughout the text feature the implementation of Java and C++ simulation models, giving students a thorough look at both the theoretical and the practical concepts. This pedagogical approach is designed to present a clearer, more understandable, more practical look at OS concepts, techniques, and methods without sacrificing the theoretical rigor that is necessary at this level.