Subscribe
Sign in
Home
Podcast
Notes
CPython Internals
AI
Computer Architecture
Linux Internals
x86-assembly
Contact Me
Archive
About
os
Page Tables from First Principles
Watch now | Constructing page tables from first principle as a way to store virtual-to-physical address mappings
Jun 16
•
Abhinav Upadhyay
10
1
49:43
Understanding a Process’s Address Space Layout
In this video, we look at how a process’s virtual address space is laid out: code, data, heap, stack, shared libraries, mmap regions, and more.
Jun 6
•
Abhinav Upadhyay
10
22:12
How Large Is the Virtual Address Space?
Watch now | How large is a process’s virtual address space, why is it split between user space and the kernel, and what are canonical virtual addresses?
May 31
•
Abhinav Upadhyay
13
1
25:15
Why do we need virtual memory?
Understanding virtual memory from first principles
May 24
•
Abhinav Upadhyay
16
1
17:34
Virtual Memory: A Deep Dive into Page Tables, TLBs, and Linux Internals
From page faults to NUMA topology: how the Linux kernel manages memory, and what that means for the performance of data-intensive systems.
May 10
•
Abhinav Upadhyay
187
1
39
What Makes System Calls Expensive: A Linux Internals Deep Dive
An explanation of how Linux handles system calls on x86-64 and why they show up as expensive operations in performance profiles
Sep 16, 2025
•
Abhinav Upadhyay
75
4
9
My Top 15 OS Books: From Theory and Implementation to Systems Programming
A personal guide to the most useful books for understanding operating systems
Feb 18, 2025
•
Abhinav Upadhyay
47
6
5
Linux Context Switches: The Truth About TLB Flushes
Watch now (22 mins) | Is the TLB really flushed during context switches?
Jan 17, 2025
•
Abhinav Upadhyay
13
3
21:34
Linux Context Switching Internals: Part 1 - Process State and Memory
How does the Linux kernel represent processes and their state: A breakdown of task_struct and mm_struct
Dec 29, 2024
•
Abhinav Upadhyay
50
6
Context Switching and Performance: What Every Developer Should Know
Understand how context switching affects CPU registers, caches, TLB, and pipeline performance, and learn strategies to mitigate performance penalties
Dec 12, 2024
•
Abhinav Upadhyay
51
2
8
How Linux Implements the fork System Call
How the kernels implement the fork system call
Nov 26, 2024
•
Abhinav Upadhyay
34
6
This site requires JavaScript to run correctly. Please
turn on JavaScript
or unblock scripts