CS 546 Operating Systems
Functions, structure, design, and problems of operating systems. Concepts and principles of operating system design and implementation including file system CPU scheduling, memory management (including virtual memory), deadlocks in computer systems, concurrent processes and programming, threads, and protection.