Subscribe
Sign in
Home
Podcast
CPython Internals
AI
Computer Architecture
Linux Internals
x86-assembly
Contact Me
Archive
About
os
Latest
Top
Discussions
How Big Is a Physical Address?
A short aside from the virtual memory series on physical address size, why it differs from virtual address size, and why different CPUs expose different…
Jun 22
•
Abhinav Upadhyay
5
10:29
What Does a Page Table Entry Actually Store?
Watch now | Learn about the page-level metadata that is stored in the page table and how is that used by the hardware during memory access
Jun 21
•
Abhinav Upadhyay
3
28:30
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
13
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
12
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
14
1
25:15
Why do we need virtual memory?
Understanding virtual memory from first principles
May 24
•
Abhinav Upadhyay
17
1
17:34
Virtual Memory From First Principles
A practical guide to page faults, page tables, TLBs, NUMA topology, Linux internals, and performance in data-intensive systems.
May 10
•
Abhinav Upadhyay
259
1
50
What Makes System Calls Expensive
A look at how Linux handles system calls on x86-64, why crossing into the kernel has a cost, and why that cost shows up 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
48
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
52
2
8
This site requires JavaScript to run correctly. Please
turn on JavaScript
or unblock scripts