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. The book allows students to practice these skills in a realistic operating systems programming environment.