Fundamentals of Operating Systems

21h 41m 1s
English
Paid
July 23, 2024

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 Fundamentals of Operating Systems

Join premium to watch
Go to premium
# Title Duration
1 Welcome 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

Similar courses to Fundamentals of Operating Systems

System Design Course

System Design Course

Duration 92 hours 26 minutes 21 seconds
The Complete Apache Kafka Practical Guide

The Complete Apache Kafka Practical Guide

Duration 8 hours 38 minutes 15 seconds
Advanced Radix UI

Advanced Radix UI

Duration 2 hours 13 minutes 5 seconds
Artificial Intelligence and Cybersecurity

Artificial Intelligence and Cybersecurity

Duration 1 hour 4 minutes 21 seconds
Shift Nudge – Interface Design Course (PRO packet)

Shift Nudge – Interface Design Course (PRO packet)

Duration 105 hours 34 minutes 18 seconds
Algorithms and Data Structures

Algorithms and Data Structures

Duration 26 hours 32 minutes 19 seconds
Zero to Full Stack Hero

Zero to Full Stack Hero

Duration 101 hours 29 minutes 59 seconds
Computer Networking

Computer Networking

Duration 23 hours 58 minutes 29 seconds