Subscribe
Sign in
Home
Podcast
Notes
CPython Internals
AI
Computer Architecture
Linux Internals
x86-assembly
Contact Me
Archive
About
os
Why do we need virtual memory?
Understanding virtual memory from first principles
May 24
•
Abhinav Upadhyay
12
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
144
1
32
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
46
6
4
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
Disillusioning the Magic of 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