CS 435 Operating Systems
The course covers the main concepts and issues in operating system design, implementation and engineering, and is roughly divided along three dimensions: core operating systems concepts, information technology, and systems programming. Core operating system concepts involves understanding how operating systems work, what the features are, how they are designed, the issues with various approaches, and an overview of computer science techniques used or applied in operating systems. The aim of this part of the course is for students to understand and even build or contribute to some parts of an operating system. The course will include a team project.
Operating system structures, processes, threads, CPU scheduling, synchronization and deadlocks, system calls, interrupts, OS data structures, process management, memory management, including virtual memory, storage/file system management, mass storage structure, I/O systems, device management, resource allocation, scheduling, security and protection, Storage management: distributed System structures, distributed file systems and distributed coordination. Real time operating systems. Case study of influential operating systems (including at least one of Linux, Windows). Overview of system administration, OS installation and configuration, shell scripting, system programming, applications support, case studies.
- Prerequisites: CS 112 Computer Programming for Engineering and CE 322 Digital Systems Design