Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Fundamentals of Operating Systems
Bestseller
Rating: 4.7 out of 5(2,856 ratings)
24,192 students

Fundamentals of Operating Systems

Build efficient software by understanding how the OS kernel works
Created byHussein Nasser
Last updated 10/2025
English

What you'll learn

  • Learn how operating systems work
  • Understand how applications run within the OS
  • Write efficient applications leveraging the understanding OS works
  • Understand the cost of system calls
  • Understand how CPU executes processes
  • The role of the kernel
  • CPU Architecture and Caches
  • Virtual Memory
  • Socket Programming
  • Storage and File system management

Course content

10 sections54 lectures22h 30m total length
  • Welcome3:01
  • Who is this course for?5:09
  • Course Overview and Outline (must watch)20:40
  • Course Downloadable Content1:01

Requirements

  • Recommended to have a programming experience

Description

Operating systems orchestrate many processes, allow access to memory, disk and network and execute the process by scheduling them to the CPU. Sounds simple when we put it this way but this task is vast. So vast indeed that writing programs that are efficient really depends on how much understanding the engineer has in operating systems.


I have been fascinated by revealing and demystifying anything that is hidden from me, mainly because by treating black boxes as black boxes that takes input and produces output, I feel that I am at the mercy of this black box. Databases were a black box for me a decade ago, I was at completely lost when a query that I wrote was originally running fast but after few month it had gone slow. The reason is I didn't really have any understanding of database systems and how their internals work.


The same thing is true for operation systems, we run our program which turns into a process that uses bit of memory and access disk and network but we really don't know how this is done and as a result we as engineers are bound to write inefficient code.


I built this course to demystify what I believe are the fundamentals operating systems to software engineers. Like all my courses, I recommend the student having some programming experience to take this course, it just makes the course relatable. I will be using multiple operating systems like Linux, Windows and Mac in this course.


I hope you enjoy it.


Who this course is for:

  • Software Engineers who want truly understand the OS