subject

Udacity: Introduction to Operating Systems

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

Syllabus

The [Course Wiki](https://www.udacity.com/wiki/ud923) 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
FAQ View All
What are MOOCs?
MOOCs stand for Massive Open Online Courses. These are free online courses from universities around the world (eg. Stanford Harvard MIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you.  They also have student discussion forums, homework/assignments, and online quizzes or exams.

2 reviews for Udacity's Introduction to Operating Systems

Write a review
1 out of 1 people found the following review useful
a year ago
profile picture
Anonymous completed this course.
This is a phenomenal class. If you are interested in operating systems, take it. Take it. Take it. Take it. I have now taken 2 Udacity classes (this and Applied Cryptography) and they both have been of very high quality. You will find that the instruction is densely packed with content and is explained in a way that i Read More
This is a phenomenal class. If you are interested in operating systems, take it. Take it. Take it. Take it. I have now taken 2 Udacity classes (this and Applied Cryptography) and they both have been of very high quality.

You will find that the instruction is densely packed with content and is explained in a way that is very easily understandable.

Of note is that this is a semester long college level class. Most MOOCs are not this long. It took me forever to get though this class, and something like 70+ pages of notes.

The only real weakness I found is with the sections on concurrency/mutexes. I got lost and couldn't catch up (even with rewind). However, I am not a strong C programmer, and my interest in not in writing parallel programs -- I want a more conceptual understanding. I now understand what a race condition, mutex, deadlock, et. al. are. In other words, I got exactly what I needed out of the concurrency section.

Take this class if you are interested in the subject matter!! You will not regret it.
Was this review helpful to you? YES | NO
5 months ago
Farsan Rashid completed this course and found the course difficulty to be medium.
Unlike traditional moocs this is a semester long course that covers a whole lot of topics of operating system from the scratch. Very time consuming course but if you have time and patience you will get to learn a lot. It is a surprise that there are not many online course on operating system available on popular mooc Read More
Unlike traditional moocs this is a semester long course that covers a whole lot of topics of operating system from the scratch. Very time consuming course but if you have time and patience you will get to learn a lot. It is a surprise that there are not many online course on operating system available on popular mooc platforms and this one of the very few of them.

pros:

#Starts from scratch.

#Covers a huge range of topic

#Programming assignments are available

#Organized

cons:

#Huge syllabus, takes a very long time.

#not sufficient programming assignments.
Was this review helpful to you? YES | NO

Class Central

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free