CSE 306 Back to CSE Courses

Course CSE306
Title Operating Systems
Credits 3
Course Coordinator Michael Kifer
Current Catalog Description

Students are introduced to the structure of modern operating systems. Topics include virtual memory, resource allocation strategies, concurrency, and protection. The design and implementation of a simple operating system are performed.

Prerequisite

CSE 219 or CSE 260; CSE 220 or ESE 380 and CSE Major or ECE major or permission of instructor

Course Outcomes
  • Knowledge of fundamental concepts underlying modern operating systems, including virtual memory and multiprogramming.
  • Working knowledge of the components of operating systems, including file systems, the I/O subsystem, and the CPU scheduler.
  • An ability to design and implement simplified versions of the main modules of operating systems.
Textbook
  • William Stallings
    Operating Systems, Internals and Design Principles (7th edition, latest)
    Pearson (Prentice Hall), March 2012.
    ISBN-10: 0-13-230998-X. ISBN-13: 978-0-13-230998-1
  • Supplementary Material:
    Tanenbaum, Modern Operating Systems, (3rd edition), Prentice Hall, 2007. ISBN-10: 0-13-600663-9. ISBN-13: 978-0136006633.
    Abraham Silberschatz, Peter Galvin, Greg Gagne Operating System Concepts (seventh edition), Wiley, 2004. ISBN 0-471-69466-5.
Major Topics Covered in Course
  • Computer architecture
  • Memory management
  • I/O subsystem
  • Resource allocation strategies
  • Concurrency
  • Threads and processes
  • CPU Scheduling
Laboratory Projects
  • Implementation of various modules of operating systems. Typically 3-4 projects that span the period of 8 weeks. The projects are based on either NACHOS or OSP software.
Course Webpage /~cse306
Department of Computer Science • Stony Brook University, Stony Brook, NY 11794-4400 • 631-632-8470 or 631-632-8471