CSE306


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

http://www.cs.sunysb.edu/~cse306