
Advanced Operating Systems
Summary
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.
Expected Learning
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.
Syllabus
Lesson 1: Abstractions
- The Princple of Abstraction
- Hardware Resources
- OS Functionality
- Managing the CPU and Memory
Lesson 2: OS Structure
- OS Structure Overview
- The SPIN Approach
- The Exokernel Approach
- The L3 Micro-Kernel Approach
Lesson 3: Virtualization
- Intro to Virtualization
- Memory Virtualization
- CPU and Device Virtualization
Lesson 4: Parallelism
- Shared Memory Machines
- Synchronization
- Communication
- Lightweight RPC
- Scheduling
- A Shared-Memory Multiprocessor OS
Lesson 5: Distributed Systems
- Definitions
- Lamport Clocks
- Latency limits
- Active networks
- Systems from Components
Lesson 6: Distributed Object Technology
- Spring Operating System
- Java RMI
- Enterprise Java Beans
Lesson 7: Design and Implementation of Distributed Services
- Global Memory System
- Distributed Shared Memory
- Distributed File System
Lesson 8: System Recovery
- Lightweight Recoverable Virtual Memory
- Rio Vista
- Quicksilver
Lesson 9: Internet Scale Computing
- Giant Scale Services
- MapReduce
- Content Delivery Networks
L10: Real-Time and Multimedia
- Time sensitive Linux
- Persistent temporal streams
L11: Security
- Principles of Information SecuritySecurity
- The Andrew System
Required Knowledge
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.
Free
Advanced
5 weeks
Kishore Ramachandran
Georgia Institute of Technology
Coursearena