Learn Operating Systems
3.1 (29 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
5,679 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learn Operating Systems to your Wishlist.

Add to Wishlist

Learn Operating Systems

Master all concepts of Operating systems from basic to advanced levels
3.1 (29 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
5,679 students enrolled
Last updated 6/2017
English
Current price: $10 Original price: $20 Discount: 50% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 2 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Master all concepts of Operating Systems
  • Improve problem solving abilities in general
  • Learn about processes and threads
  • Understand thoroughly about inter-process communication, concurrency and synchronization
  • Master the important concepts of deadlock and CPU scheduling
  • Get a deeper understanding on the different categories of memory management and virtual memory
  • Learn about file systems
  • Handle any problem related to computers or operating systems effectively
  • Develop thinking capacity to design an algorithm effectively
  • Tackle any interview involving questions on Operating Systems
View Curriculum
Requirements
  • An interest to learn Operating Systems
Description

Hello Students. Welcome to the course on Operating Systems!

Implementing concurrency in an operating system really helps you reason about concurrent code in other situations. Though most computer science majors won't work with operating systems directly, most probably will work with concurrent code.

Additionally, with almost any programming work, despite loads of abstractions, you'll be exposed in some way to the actual computers running your code. That means having a deep understanding the stack, the heap, virtual memory, and more is really valuable.

In general we find that any difficult coursework in computer science—from systems-level stuff like operating systems to theoretical stuff like type theory and logic—to be helpful with general problem-solving ability. Trying to solve hard operating systems problems makes you smarter and better at solving problems in general. This probably applies more broadly even—if you had taken some tough physics classes it would have made you a smarter programmer—but operating systems problems are surprisingly similar to some web development ones and that's what makes it important.

Assuming...

int a[][] = new int[1000][1000];

...one of the following loops will run much more efficiently than the other. Can you figure out which one?

for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[0].length; j++) {
a[i][j] = 0;
}
}

OR

for (int i = 0; i < a[0].length; i++) {
for (int j = 0; j < a.length; j++) {
a[j][i] = 0;
}
}

A course in operating systems is important for a software developer. You can abstract away complexity but in practice you need to understand the system so you can write well performing programs.

In this course, you will learning all the concepts of Operating Systems. These include Processes, Threads, Inter-process communication, Concurrency, Synchronization, Deadlock, CPU Scheduling, Memory Management, Virtual Memory and File Systems.


Who is the target audience?
  • Anyone who wants to learn operating systems
  • Anyone who wants to improve their general problem solving skills
  • Computer Science students and professionals
Students Who Viewed This Course Also Viewed
Curriculum For This Course
36 Lectures
01:58:05
+
Introduction to Operating Systems course
1 Lecture 03:02
+
Basic Concepts of Operating System
3 Lectures 12:00
+
Process
21 Lectures 01:00:17
What is a Process?
01:59

Process Address Space
01:31

Operation on Process
00:50

Process Creation
02:27

Termination of Process
01:42

Important System Calls
03:30

Blocking write() System Call
03:14

Process State
03:31

Implementation of Process
05:08

What other process state does the OS manage?
01:49

Context Switching
01:29

Cooperating processes
02:20

Bounded Buffer Problem
02:06

Inter Process Communication
01:09

Shared Memory Model
01:50

Message Passing Model
01:45

Basic Structure of IPC
01:17

Direct and Indirect communication
02:38

Communication in client server system
03:54

Remote procedure call(RPC)
05:36

Two approaches for RPC
10:32
+
Threads
9 Lectures 36:13
Threads(Light weight-Process)
04:38

Independent execution of threads
02:32

Single thread state within a process
02:44

Multiple threads in an address space
04:57

Why threads?
02:35

Multithreading
06:34

Types of threads
08:15

Advantage of using threads
01:42

Concurrent Programming
02:16
+
Process Scheduling
2 Lectures 06:33
Scheduler
00:59

Types of Scheduler
05:34
About the Instructor
Enthusia Educational Hub
4.8 Average rating
1,319 Reviews
18,775 Students
29 Courses
Educators at Udemy

Enthusia Educational Hub is an education company which specializes in creating online courses in a wide range of categories like Programming, Maths, English, Science, Test Preparation, etc.

We constantly strive to teach students in an engaging way and ensure that they benefit to the greatest extent through knowledge sharing. We want the students to reach their goals in whatever area they seek.