| |
Mar 17, 2026
|
|
|
|
|
CSC 3210 - Operating Systems3 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)
|
|