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

Enhanced Freelancing with AI

Enhanced Freelancing with AIzerotomastery.io

Duration 46 minutes 29 seconds
Bulletproof SAAS Offer

Bulletproof SAAS OfferProdigies University

Duration 2 hours 32 minutes 7 seconds
Python for Financial Analysis and Algorithmic Trading

Python for Financial Analysis and Algorithmic Tradingudemy

Duration 16 hours 54 minutes 20 seconds
The World of Computer Networking. Your CCNA starts here

The World of Computer Networking. Your CCNA starts hereudemy

Duration 14 hours 40 minutes 24 seconds
SAAS Web Development

SAAS Web DevelopmentProdigies University

Duration 43 hours 32 minutes 12 seconds
Operating Systems

Operating SystemsOz Nova (csprimer.com)

Duration 29 hours 33 minutes 35 seconds