Credits: 1 unit (4 credit hours)
Contact Hours: 3 lecture
Instructor: Professor Amir Sadovnik
Last Taught: Spring 2014
Text Book: Operating Systems Concepts, 9th Edition Update,
By Silberschatz, Gagne, and Galvin. (Wiley, 2012.)
Description: An in-depth study of operating systems, covering such topics as concurrent processes, memory management, input/output and file systems, and resource allocation. Lecture/laboratory. Department Policy: students must work in teams to analyze, design, and implement a computerized solution to a substantial problem.
Prerequistes: CS203 (Computer Organization) or
ECE313 (Computer Organization)
Corequisites: CS205 (Software Engineering)

Specific Course Goals:

After successfully completing this course, the student will be able to:

  • Students will understand the fundamental concepts in modern Operating Systems: processes, threads, synchronization, scheduling, memory management, I/O, and file systems.
    (ABET/CAC Outcome A)
  • Students will understand multi-programming and synchronization in such programming models.
    (ABET/CAC Outcome D)
  • Present materials on group projects.
    (ABET/CAC Outcome F)

Student Outcomes:

  ABET/CAC Outcome C An ability to design, implement, and evaluate a computer-based systems, process, component, or program to meet desired needs.
  ABET/CAC Outcome D An ability to function effectively on teams to accomplish a common goal.
  ABET/CAC Outcome F An ability to communicate effectively with a range of audiences.

Topics covered:

  • Processes
  • Threads
  • Process synchronization
  • CPU scheduling
  • Deadlocks
  • Main memory
  • Virtual memory
  • Storage management (I/O, Disk, File System)
  • Advanced Topics: virtual machines and distributed systems