Fundamentals of operating system design with emphasis on at least one modern operating system. Topics include scheduling, memory management, paging, file management, and mutual exclusion. Required work will include programming investigations. Prerequisites: CS 2810 and CS 3528.