Computer Operating Systems
Theory and implementation of modern computer operating systems. Message based and multiprocessor kernels. Networking and interprocess communication. Security, auditing and authentication. Device drivers, interrupt handling, task switching, virtual memory, memory management, scheduling, synchronization and locking. File systems, resource allocation and management. Real-time, fault-tolerant and high security operating systems. User environment and interface issues. Projects in operating system design and programming, case studies.
Prerequisites: ECE 251 and either ECE 160 or ECE 161
Course Code: ECE 357