OSP 2 is both an implementation of a modern operating system and a flexible environment for generating implementation projects appropriate for an introductory course in operating system design. This book is an introduction to the design and implementation of operating systems using OSP 2, the next generation of the highly popular OSP courseware for undergraduate operating system courses. Topics and Features: Process and thread management; Memory, Resource and I/0 device management; Interprocess communication; Gives opportunity to practice these skills in a realistic operating systems programming environment. This book contains enough projects for up to 3 semesters, exposing students to many essential features of operating systems, while at the same time isolating them from low-level machine-dependent concerns. Thus, even in 1 semester, students can learn about page-replacement strategies in virtual memory management, CPU-scheduling strategies, disk seek-time optimization & other issues in operating system design.