Covers how programs are represented and executed by modern computers, including low level machine representations of programs and data, an understanding of how computer components and the memory hierarchy influence performance.

- Teacher: Sangtae Ha
- Teacher: Maciej Zagrodzki
- Teaching Assistant: Aritra Chakrabarty
- Teaching Assistant: Sara Daneshvar
- Teaching Assistant: Junhong Min
- Teaching Assistant: Manasvi Parikh
- Teaching Assistant: Dhanush Kumar Varma Penmetsa
- Teaching Assistant: WoongSub Shin
- Teaching Assistant: Naren Sivagnanadasan
- Teaching Assistant: Meysam Varasteh
Operating systems are an essential part of every
computing system and play a major role in determining the performance and
usability of the system. This course is an introductory course covering
the fundamental concepts in the design, implementation and evaluation of an
operating system. While the field of operating systems has been undergoing
rapid change, the fundamental concepts remain firmly clear. This course covers these fundamental concepts
comprised of device management, process management, memory management and
network management.
