© 2007

Introduction to Operating System Design and Implementation

The OSP 2 Approach

  • Contains enough projects for up to 3 semesters

  • These projects expose students to essential features of operating systems, whilst isolating them from low-level machine-dependent concerns

  • An Instructors Manual details how to use the OSP Project Generator and sample assignments

  • The OSP courseware itself is available to instructors

  • A complementary website provides support for both students and instructors using OSP 2


Part of the Undergraduate Topics in Computer Science book series (UTICS)

Table of contents

  1. Front Matter
    Pages I-XII
  2. Michael Kifer, Scott A. Smolka
    Pages 1-37
  3. Michael Kifer, Scott A. Smolka
    Pages 39-44
  4. Michael Kifer, Scott A. Smolka
    Pages 45-55
  5. Michael Kifer, Scott A. Smolka
    Pages 57-73
  6. Michael Kifer, Scott A. Smolka
    Pages 75-101
  7. Michael Kifer, Scott A. Smolka
    Pages 103-117
  8. Michael Kifer, Scott A. Smolka
    Pages 119-141
  9. Michael Kifer, Scott A. Smolka
    Pages 143-151
  10. Michael Kifer, Scott A. Smolka
    Pages 153-166
  11. Back Matter
    Pages 167-172

About this book


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. 

Features include:

• 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

• 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.


File Systems Interprocess Communication Java Programming Operating Systems Threads and Tasks Virtual Memory file system operating system scheduling

Authors and affiliations

  1. 1.State University of New YorkStony BrookUSA

Bibliographic information

  • Book Title Introduction to Operating System Design and Implementation
  • Book Subtitle The OSP 2 Approach
  • Authors Michael Kifer
    Scott Smolka
  • Series Title Undergraduate Topics in Computer Science
  • DOI
  • Copyright Information Springer-Verlag 2007
  • Publisher Name Springer, London
  • eBook Packages Computer Science Computer Science (R0)
  • Softcover ISBN 978-1-84628-842-5
  • eBook ISBN 978-1-84628-843-2
  • Edition Number 1
  • Number of Pages XII, 172
  • Number of Illustrations 0 b/w illustrations, 0 illustrations in colour
  • Topics Operating Systems
  • Buy this book on publisher's site
Industry Sectors


From the reviews:

"This book is a manual for a hands-on computer science course on design principles and algorithms of modern operating systems. To convey essential features of today’s operating systems, the authors have contrived an operating system framework, called OSP 2, written in Java, in order to assign projects that implement management of important operating system features." (Rainer Horsch, Zentralblatt MATH, Vol. 1130 (8), 2008)