Course Overview

CS 4410 - Systems Programming and Operating Systems

CS 4410 covers systems programming and introductory operating system design and implementation. We will cover the basics of operating systems, namely structure, concurrency, scheduling, synchronization, memory management, filesystems, security and networking. The course is open to any undergraduate who has mastered the material in CS3410/ECE3140. Students enrolled in 4410 this fall can also choose to take 4411 and complete the practicum project (see below). This is highly recommended.

CS 4411 - Operating Systems Practicum

This is the project course for CS 4411. Students will learn about operating systems concepts through several bi-weekly assignments. Concepts covered include threading, synchronization, filesystems and networking. The projects will provide a hands-on experience with implementing operating system functionality, as well as low level programming with C.

Textbook

Required Reading

Operating Systems: Principles and Practice
Thomas Anderson and Michael Dahlin.
ISBN-13: 978-0985673512                                                                                                             

Supplemental Reading

Operating System Concepts (8th Edition)
Silberschatz, Galvin and Gagne.

This is the older textbook used in the course from 2001-2011. It is no longer required, but contains an alternative perspective on the same material.
Modern Operating Systems (2nd Edition)
Andrew Tanenbaum.

If you would like additional information or a different perspective on the topics covered in this course, this supplemental textbook is an excellent resource.