Understanding the main principles and algorithms underlying a modern operating system is essential in undergraduate computer science. The complexity of this subject, however, means that mastering it requires significant practical experience. This unique book accomplishes just that: it teaches introductory subjects in OS design and implementation through hands-on engagement with OSP 2, the next generation of the highly popular OSP courseware.
This book exposes students to many essential features of operating systems while at the same time isolating them from low-level, machine-dependent concerns. With its accompanying software, the book contains enough projects for up to three semesters. Even one semester's study, however, suffices to cover page-replacement strategies in virtual memory management, CPU scheduling strategies, disk seek-time optimization and other issues in operating system design.
• Provides an opportunity to practice OS design and implementation skills in a realistic, flexible, and easy-to-use systems programming environment that promotes "active learning" and reinforces lecture material.
• OSP 2 is written in Java, so that students learn an object-oriented approach to OS design and implementation.
• Contains many pedagogical tools: chapter goals, internet support for students and instructors; OSP 2 courseware and an instructors' manual, which includes helpful tips for course instructors and sample assignments, is available at www.springer.com/978-1-84628-842-5.
• Each chapter includes self-contained explanations of the OS concepts underlying the student project for that chapter.
Written for undergraduates in a first operating systems course, this text provides essential foundations through the user-friendly, highly flexible OSP 2 courseware environment.