About this Course

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.

Course Cost
Free
Timeline
Approx. 2 months
Skill Level
Intermediate
Included in Course
  • Rich Learning Content

  • Interactive Quizzes

  • Taught by Industry Pros

  • Self-Paced Learning

  • Student Support Community

Join the Path to Greatness

This free course is your first step towards a new career with the Intro to Self-Driving Cars Nanodegree Program.

Free Course

Introduction to Operating Systems

by Georgia Institute of Technology

Enhance your skill set and boost your hirability through innovative, independent learning.

Icon steps

Course Leads

  • Ada Gavrilovska
    Ada Gavrilovska

    Instructor

  • Jarrod Parkes
    Jarrod Parkes

    Instructor

What You Will Learn

The Course Wiki serves as the syllabus for Introduction to Operating Systems. But, for a high-level view of the course, we have listed the lessons:

Part 1: Introduction

  • Lesson 1: Course Overview
  • Lesson 2: Introduction to Operating Systems

Part 2: Process and Thread Management

  • Lesson 1: Processes and Process Management
  • Lesson 2: Threads and Concurrency
  • Lesson 3: Threads Case Study: PThreads
  • Lesson 4: Thread Implementation Considerations
  • Lesson 5: Thread Performance Considerations

Part 3: Resource Management and Communication

  • Lesson 1: Scheduling
  • Lesson 2: Memory Management
  • Lesson 3: Inter-Process Communication
  • Lesson 4: Synchronization Constructs
  • Lesson 5: I/O Management
  • Lesson 6: Resource Virtualization

Part 4: Distributed Systems

  • Lesson 1: Remote Services
  • Lesson 2: Distributed File Systems
  • Lesson 3: Distributed Shared Memory
  • Lesson 4: Data Center Technologies

Prerequisites and Requirements

To undertake this course, you should have taken an undergraduate level course on, or be otherwise familiar with, basic hardware and software aspects of computer systems organization. Prior programming experience with C is recommended, as C is required for the practical component of this course.

For other requirements, see Udacity's Technology Requirements.

See the Technology Requirements for using Udacity.

Why Take This Course

The goals of this course are three-fold.

  1. Students will understand the rationale behind the current design and implementation decisions in modern OS’s (like Linux) by considering the historic evolution of various OS constructs
  2. Students will be exposed to theoretical knowledge regarding operating systems principles and implementation
  3. Students will gain knowledge via experimenting and evaluating various OS aspects in a practical manner
What do I get?
  • Instructor videos
  • Learn by doing exercises
  • Taught by industry professionals
Icon globe

Udacity 现已提供中文版本! A Udacity tem uma página em português para você! There's a local version of Udacity for you! Sprechen Sie Deutsch?

Besuchen Sie de.udacity.com und entdecken Sie lokale Angebote, unsere Partnerunternehmen und Udacitys deutschsprachigen Blog.

前往优达学城中文网站 Ir para a página brasileira Go to Indian Site Icon flag de Zu de.udacity.com continue in English