Advanced Operating Systems | Abstractions and Virtualization
Details
In this course, we will see all the advances that have led to the state-of-the-art operating system that we know today, covering variety of platforms -- cell phones, multi-core, parallel systems, distributed systems, and cloud computing.
This course is a journey to understanding the role played by the Operating System in providing the rich user experience afforded to modern applications by today’s computers. Along the way, we highlight the symbiotic relationship between hardware and software that makes it possible for the computer and OS to provide a pleasing user experience.
Students are expected to have taken an undergraduate OS course, or have some experience in industry. A good understanding of the concepts in a standard textbook such as "Operating Systems Concepts," Silberschatz and Galvin (or its equivalent) will be assumed in this course.
Students must also be comfortable with UNIX and C programming.
See the Technology Requirements for using Udacity here https://www.udacity.com/tech-requirements
Outline
- The Princple of Abstraction
- Hardware Resources
- OS Functionality
- Managing the CPU and Memory
- OS Structure Overview
- The SPIN Approach
- The Exokernel Approach
- The L3 Micro-Kernel Approach
- Intro to Virtualization
- Memory Virtualization
- CPU and Device Virtualization
- Shared Memory Machines
- Synchronization
- Communication
- Lightweight RPC
- Scheduling
- A Shared-Memory Multiprocessor OS
- Definitions
- Lamport Clocks
- Latency limits
- Active networks
- Systems from Components
- Spring Operating System
- Java RMI
- Enterprise Java Beans
- Global Memory System
- Distributed Shared Memory
- Distributed File System
- Lightweight Recoverable Virtual Memory
- Rio Vista
- Quicksilver
- Giant Scale Services
- MapReduce
- Content Delivery Networks
- Time sensitive Linux
- Persistent temporal streams
- Principles of Information Security Security
- The Andrew System
Speaker/s
Dr. Ramachandran received his Ph.D. in Computer Science from the University of Wisconsin, Madison in 1986. Since then, he has been with Georgia Tech, where he is a Professor in the School of Computer Science in the College of Computing. His research interests are in the area of architectural design, programming, and analysis of parallel and distributed systems. He received a Presidential Young Investigator Award from the National Science Foundation in 1990, the Georgia Tech Doctoral Thesis Advisor award in 1993, the College of Computing Outstanding Senior Research Faculty award in 1996, the Dean's Award in 2003, the William "Gus'' Baird Teaching Award in 2004, and the Peter A. Freeman Faculty Award, twice (2009 and 2013), for demonstrated entrepreneurial spirit. He is an avid squash player, and can even be arm-twisted into holding a tennis racket every once in a while!
Charles Brubaker earned his PhD in Computer Science from Georgia Tech in 2009. He then taught high school computer science and coached basketball at Pace Academy in Atlanta for 4 years. In 2012, inspired by Udacity, he began recording his lectures on a tablet, creating online quizzes, and automatically grading assignments to give his students instant feedback. The success of this enterprise convinced him that Udacity represented the wave of the future in education, and he joined the company in the summer of 2013.
Our mission is to bring accessible, affordable, engaging, and highly effective higher education to the world. We believe that higher education is a basic human right, and we seek to empower our students to advance their education and careers.
Education is no longer a one-time event but a lifelong experience. Education should be less passive listening (no long lectures) and more active doing. Education should empower students to succeed not just in school but in life.