Introduction to Operating Systems - Georgia Tech

Course

Online

Free

Description

  • Type

    Course

  • Methodology

    Online

  • Start date

    Different dates available

Introduction to Operating Systems teaches the basic operating system abstractions, mechanisms, and their implementations.

Facilities

Location

Start date

Online

Start date

Different dates availableEnrolment now open

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Subjects

  • Systems
  • Operating Systems
  • Management
  • IT Management
  • Communication Training
  • Basic IT
  • Basic IT training
  • Basic
  • Operating System

Course programme

Intermediate

Approx. 2 months

Built by Join thousands of students Course Summary

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.

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
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.

What Will I Learn? Projects Project 1: Multi-Threaded Web Server Project 1 of this course. Syllabus

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

Introduction to Operating Systems - Georgia Tech

Free