Skip to main content

Fundamentals of Operating Systems

21h 41m 1s
English
Paid

Unlock the mysteries of operating systems! Operating systems orchestrate numerous processes, manage access to memory, disk, and networks, and execute processes by scheduling them to the CPU. While this might sound straightforward, the complexity is immense. A software engineer's ability to write efficient programs heavily relies on their understanding of operating systems.

Why Understanding Operating Systems Matters

The importance of demystifying the black box — I have always been fascinated by unveiling and understanding the hidden aspects of systems, which are often treated as incomprehensible black boxes. For example, a decade ago, databases were such black boxes for me. I was perplexed when a query that initially ran swiftly began to slow down after a few months. This happened due to my lack of understanding of database systems and their internal workings.

Diving Into Operation Systems

The same principle applies to operating systems. We run programs that transform into processes using memory, disk, and network resources. However, without understanding how this happens, engineers are likely to write inefficient code. Gaining insights into operating systems is crucial for developing optimized and effective software.

About This Course

I designed this course to unveil the essential elements of operating systems for software engineers. As with all my courses, I recommend that students have some programming experience, as it makes the course content more relatable. Throughout the course, we will explore various operating systems, including Linux, Windows, and Mac.

I hope you enjoy the learning journey.

About the Author: udemy

udemy thumbnail
By connecting students all over the world to the best instructors, Udemy is helping individuals reach their goals and pursue their dreams. Udemy is the leading global marketplace for teaching and learning, connecting millions of students to the skills they need to succeed. Udemy helps organizations of all kinds prepare for the ever-evolving future of work. Our curated collection of top-rated business and technical courses gives companies, governments, and nonprofits the power to develop in-house expertise and satisfy employees’ hunger for learning and development.

Watch Online 50 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 50 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Welcome
All Course Lessons (50)
#Lesson TitleDurationAccess
1
Welcome Demo
03:02
2
Who is this course for?
05:10
3
Course Overview and Outline (must watch)
20:41
4
Course Downloadable Content
01:02
5
Section Intro Why an OS
05:55
6
Why do we need an Operating System?
27:36
7
System Architecture Overview
51:51
8
Anatomy of a Process Section Intro
06:44
9
Program vs Process
53:00
10
Simple Process Execution
23:57
11
The Stack
28:28
12
Process Execution with Stack
37:20
13
Data section
21:03
14
The Heap
47:46
15
Process Section Demo
10:35
16
Memory Management Section Intro
08:12
17
The Anatomy of Memory
44:11
18
Reading and Writing from and to Memory
24:26
19
Virtual Memory
51:52
20
DMA
16:53
21
Memory Section Demo
13:39
22
Inside the CPU Section Intro
04:22
23
CPU Components and Architecture
01:05:44
24
Instruction Life Cycle
19:11
25
Pipelining and Parallelism
20:03
26
Inside the CPU Demo (CPU wait times)
21:31
27
Process Management Section Intro
11:42
28
Process vs Thread
01:00:00
29
Context Switching
37:24
30
Concurrency
28:39
31
Demo Process Management
14:38
32
Storage Management Section Intro
08:45
33
Persistent Storage
48:10
34
File Systems
01:10:17
35
What really happens in a file IO?
11:03
36
Storage management Demo
25:37
37
Socket Management Section Intro
05:51
38
Network fundamentals
01:42:34
39
Sockets, Connections and Kernel Queues
33:53
40
Sending and Receiving Data
24:02
41
Socket Programming Patterns
15:04
42
Asynchronous IO
28:37
43
Socket Management Demo
40:14
44
OS Concepts Section Intro
03:05
45
Compilers and Linkers
36:45
46
Kernel vs User Mode switching
11:02
47
Virtualization and Containerization
24:44
48
Course Summary
02:16
49
How Google Improved Linux TCP/IP Stack by 40%
12:03
50
How TikTok's Bytedance improved Linux reboot
10:22
Unlock unlimited learning

Get instant access to all 49 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription