This course is intended to provide fundamental knowledge and practice for research and professional programmers. The class examines the design and implementation of contemporary operating systems and their components. The course has a significant laboratory component in which students gain applied practice with OS analysis, design, and implementation. Topics include operating system organization and structure, process and thread management, memory management, file management, device management for multiprogrammed, network, and distributed systems. You will be expected to write/modify Linux kernel code during the semester (using the Department's Kernel Programming Lab, or your own computer).
This course is intended for Computer Science graduate students who want to learn how contemporary operating systems (such as Linux and Windows XP) are designed and implemented. CSCI 5473 can be used to satisfy the OS breadth requirement for the MS degree. This course will be scheduled each Spring Semester.
Two years of programming experience with instructor consent, or graduate standing in Computer Science.
This book will be useful if you have not previously completed an undergraduate OS course. If you have already taken an undergrad course, your textbook for that course will sometimes be a useful reference for this course.
There are various policies that are particularly relevant to classroom teaching, including but not limited to policies on disability, religious observance, sexual harassment, class behavior, and the student honor code. Here is a brief description of the most critical ones.