Fundamentals of Operating Systems

21h 41m 1s
English
Paid

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

Watch Online

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

Watch Online Fundamentals of Operating Systems

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

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

LLM Engineer's Handbook

LLM Engineer's Handbook

Sources: Paul Iusztin, Maxime Labonne
Artificial intelligence is experiencing rapid development, and large language models (LLMs) play a key role in this revolution. This book offers...
Clean Code Zero to One

Clean Code Zero to One

Sources: Shahan Chowdhury
"Clean Code Zero to One" is a guide on writing clean and maintainable code, based on the modern practices of Robert C. Martin (Uncle Bob).
Prompt Engineering Bootcamp (Working With LLMs): Zero to Mastery

Prompt Engineering Bootcamp (Working With LLMs): Zero to Mastery

Sources: zerotomastery.io
Stop memorizing random prompts. Instead, learn how Large Language Models (LLMs) actually work and how to use them effectively. This course will take you from be
27 hours 8 minutes 45 seconds
Computer Systems

Computer Systems

Sources: Oz Nova (csprimer.com)
As software engineers, we study computer systems (or computer architecture) to understand how our programs ultimately work and how...
28 hours 15 minutes 48 seconds