Mar 17, 2026  
2026-2027 Undergraduate Academic Catalog 
    
2026-2027 Undergraduate Academic Catalog
Add to Portfolio (opens a new window)

CSC 3210 - Operating Systems

3 lecture hours 0 lab hours 3 credits
Course Description
This course provides an in-depth exploration of modern operating systems and their interaction with computer hardware. Students will learn to navigate multi-user environments, manage files and access controls, and utilize system calls to interact with OS services. The course covers process management, scheduling, and concurrency, including synchronization and inter-process communication techniques. Students will examine file system organization and recovery, memory management strategies such as paging and virtual memory, and the principles of virtualization. Through hands-on projects, learners will implement and evaluate key operating system components, gaining practical experience in building and managing robust computing environments.
Prereq: CSC 2210  or CSC 2212  or CPE 2600  (quarter system prereq: CS 2040)
Note: None
This course meets the following Raider Core CLO Requirement: None
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
  • Identify computer hardware components and their relationship to the operating system
  • Navigate an operating system environment by creating files, directories, scripts, and set access controls in a multi-user environment
  • Identify and apply mechanisms for accessing operating system services via system calls
  • Explain and compare the architectural differences between multi-process and multi-threaded systems, including their impact on resource utilization, performance, and concurrency
  • Analyze and differentiate between common CPU scheduling algorithms and evaluate their trade-offs in terms of throughput, latency, and fairness
  • Analyze how processes and instruction streams interact within operating systems to influence scheduling and execution
  • Implement applications that utilize inter-process communication mechanisms
  • Evaluate the tradeoffs of inter-process communication mechanisms
  • Evaluate and resolve issues related to concurrent processes and synchronization techniques
  • Illustrate file systems organization, implementation, and recovery
  • Evaluate the design principles, tradeoffs, and performance implications of virtual memory, paging strategies, and memory management techniques
  • Create virtual machines and evaluate configuration tradeoffs

Prerequisites by Topic
  • C++ programming experience (including memory management, C++ compilation model, structures/unions)
  • Familiarity with RISC Assembly Language programming

Coordinator
Dr. James Lembke



Add to Portfolio (opens a new window)