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

Course Goals
  • Introduce the fundamental concepts underlying modern operating systems, including virtual memory and multiprogramming.
  • Provide students with a working knowledge of the components of operating systems, including file systems, the I/O subsystem, and the CPU scheduler.
  • Give students experience designing and implementing simplified versions of the main modules of operating systems.
Textbook
  • Operating System Concepts 6th edition, By Silberschatz, Galvin, Gane, ISBN: 0-47-25060-0
  • Operating Systems, Prentice Hall, 5-th edition, by Stallings, ISBN: 0-13-147954-7
Major Topics Covered in Course
  • Introduction (1 week)
  • Computer architecture (1 week)
  • Memory management (2 weeks)
  • I/O subsystem (1.5 weeks)
  • Resource allocation strategies (1 week)
  • Concurrency (1 week)
  • Threads and processes (2 weeks)
  • CPU scheduling (1 week)
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