CS 321 covers the fundamentals of operating systems concepts, design, and implementation. Topics include operating system components and structures, process and thread models, mutual exclusion and synchronization, scheduling algorithms, memory management, I/O controls, file systems, and security.
Students will work on programming projects (C-based) and get hands-on experience with the Linux kernel.