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.
Prerequisites: 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.
  • Students will understand multi-programming and synchronization in such programming models.
  • Present materials on group projects.

Student Outcomes:

ABET/CAC Outcome 1 Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
ABET/CAC Outcome 2 Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
ABET/CAC Outcome 5 Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.

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