Advanced Operating Systems (Udacity)

Advanced Operating Systems (Udacity)

Abstractions and Virtualization. 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.

Class Deals by MOOC List - Click here and see Udacity's Active Discounts, Deals, and Promo Codes.

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.

What you will learn

  • Abstractions

Hardware Resources
OS Functionality
Managing the CPU and Memory

  • OS Structure

The SPIN Approach
The Exokernel Approach
The L3 Micro-Kernel Approach

  • Virtualization

Intro to Virtualization
Memory Virtualization
CPU and Device Virtualization

  • Parallelism

Shared Memory Machines
Synchronization
Communication

  • Distributed Systems

Definitions
Lamport Clocks
Latency limits

  • Distributed Object Technology

Spring Operating System
Java RMI
Enterprise Java Beans

  • Design and Implementation of Distributed Services

Global Memory System
Distributed Shared Memory
Distributed File System

  • System Recovery

Lightweight Recoverable Virtual Memory
Rio Vista
Quicksilver

  • Internet Scale Computing

Giant Scale Services
MapReduce
Content Delivery Networks

  • Real-Time and Multimedia

Time sensitive Linux
Persistent temporal streams

Prerequisites and requirements
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.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

GT - Refresher - Advanced OS (Udacity) Udacity
Georgia Institute of Technology,Udacity

GT - Refresher - Advanced OS (Udacity)

The course covers the basics of Memory Systems, File Systems, Multithreaded Programming, and Networking. Together these form a strong foundation from which the student can understand cutting edge research in the areas of Virtualization, Distributed Systems, and Internet-scale services in the GT Advanced Operating Systems sequence.

Self Paced
Self-Paced
Linux Fundamentals (Coursera) Coursera
LearnQuest

Linux Fundamentals (Coursera)

This course is the first of a series that aims to prepare you for a role working as an information technology professional. In this course, you will be introduced to the Linux operating system. You will learn about the licensing model and several Linux distributions. We will go through some services delivered in the Linux operating system. We will conclude this course by looking at how to search and analyze text using command line tools in the operating system.

Oct 12th 2026
4 Weeks
Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera) Coursera
Hebrew University of Jerusalem

Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera)

In this project-centered course you will build a modern software hierarchy, designed to enable the translation and execution of object-based, high-level languages on a bare-bone computer hardware platform. In particular, you will implement a virtual machine and a compiler for a simple, Java-like programming language, and you will develop a basic operating system that closes gaps between the high-level language and the underlying hardware platform.

Oct 12th 2026
5-12 Weeks
Introduction to Operating Systems (Udacity) Udacity
Georgia Institute of Technology,Udacity

Introduction to Operating Systems (Udacity)

Introduction to Operating Systems is a graduate-level introductory course in operating systems. This course teaches the basic operating system abstractions, mechanisms, and their implementations. The core of the course contains concurrent programming (threads and synchronization), inter process communication, and an introduction to distributed operating systems. The course is split into four sections: (1) Introduction, (2) Process and Thread Management, (3) Resource Management and Communication, and (4) Distributed Systems.

Self Paced
Self-Paced
Algorithmic Thinking (Part 1) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 1) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Oct 5th 2026
4 Weeks
Hands-on Introduction to Linux Commands and Shell Scripting (Coursera) Coursera
IBM

Hands-on Introduction to Linux Commands and Shell Scripting (Coursera)

This mini-course provides a practical introduction to commonly used Linux / UNIX shell commands and teaches you basics of Bash shell scripting to automate a variety of tasks. The course includes both video-based lectures as well as hands-on labs to practice and apply what you learn. You will have no-charge access to a virtual Linux server that you can access through your web browser, so you don't need to download and install anything to perform the labs.

Sep 28th 2026
1 Week
Operating System Virtualization - Master's (Coursera) Coursera
Illinois Tech

Operating System Virtualization - Master's (Coursera)

Each successful student in this course will become familiar with hypervisors, virtualization terms, infrastructure considerations, and appropriate use cases. While designed to give an overview of today’s Virtualization technologies and methods, students in the course will gain enough practical knowledge to begin deploying various hypervisors and virtual machine environments using current industry standard platforms.

Oct 12th 2026
5-12 Weeks
Computing for Cancer Informatics (Coursera) Coursera
Johns Hopkins University

Computing for Cancer Informatics (Coursera)

One of the key cancer informatics challenges is dealing with and managing the explosion of large data from multiple sources that are often too large to work with on typical personal computers. This course is designed to help researchers and investigators to understand the basics of computing and to familiarize them with various computing options to ultimately help guide their decisions on the topic.

Oct 5th 2026
4 Weeks
Internet of Things V2: DragonBoard™ bring up and community ecosystem (Coursera) Coursera
University of California, San Diego

Internet of Things V2: DragonBoard™ bring up and community ecosystem (Coursera)

Do you want to develop skills to prototype embedded products using state-of-the-art technologies? In this course you will build a hardware and software development environment to guide your journey through the Internet of Things specialization courses. We will use the DragonBoard™ 410c single board computer (SBC).

Sep 28th 2026
5-12 Weeks
Sistemas Operacionais e Você: Tornando-se um Usuário Avançado (Coursera) Coursera
Google

Sistemas Operacionais e Você: Tornando-se um Usuário Avançado (Coursera)

Neste curso – com uma combinação de palestras em vídeo, demonstrações e atividades práticas – você conhecerá os principais componentes de um sistema operacional e verá como executar tarefas críticas, como gerenciamento de software e usuários, e configuração de hardware. Vamos terminar com um exemplo de como esse conteúdo pode acabar surgindo em uma entrevista.

Sep 28th 2026
5-12 Weeks
操作系统原理 (Operating Systems) (Coursera) Coursera
Peking University

操作系统原理 (Operating Systems) (Coursera)

操作系统原理》是针对计算机科学技术专业三年级本科生开设的一门专业基础课程。本课程着重学生系统观的培养,通过重点讲述操作系统的内部结构、工作原理及典型技术的实现,使学生建立起对操作系统的整体及各个功能模块的认识,从而系统掌握计算机的专业知识,进一步提升学生的软件开发能力乃至系统软件开发能力。

Sep 28th 2026
13-24 Weeks
Software Design as an Abstraction (Coursera) Coursera
University of Colorado System

Software Design as an Abstraction (Coursera)

The design step in developing software has some unique characteristics. First of all, it’s the only step where drawing pictures of things is the norm. Why is that? What do pictures do that other representations cannot do? Pictures have varying levels of detail; pictures have context. Pictures…paint a picture. Why are these things important? In this course, too, we begin looking at other disciplines (building architecture is a favorite one) for lessons on design.

Sep 28th 2026
5-12 Weeks