Software Engineering

How the Linux Buddy and SLUB Allocators Work: Orders, Partial Slabs, and Why malloc Is Not a Page Fault

A driver that calls kmalloc(256, GFP_ATOMIC) from an interrupt handler and a process that calls malloc(256) are not talking to the same al...

Sarthak Bystander 5 Oct, 2026

How NAND Flash and the FTL Work: Pages, Erase Blocks, and Why a Small Write Rewrites a Block

A database that updates a 4 KiB page does not update a 4 KiB cell on the SSD. The host sends a logical block address. The drive's flash ...

Sarthak Bystander 4 Oct, 2026

How Dynamic Linking Works: PLT, GOT, and Why the First Call Is Indirect

A call to puts in a normal C binary is not a direct jump to libc. The machine code in the executable names a procedure-linkage-table stub. ...

Sarthak Bystander 3 Oct, 2026

How Linux Interrupts Work: Hardware IRQs, Softirqs, and Why Threaded Handlers Exist

A NIC that just received a frame cannot wait for the current process to finish a syscall. The device raises a hardware interrupt. The CPU st...

Sarthak Bystander 29 Sept, 2026

How Linux Signals Work: Pending Masks, Delivery on Return to Userspace, and Why They Are Not Interrupts

A process that spends all its time in a tight userspace loop never notices SIGTERM until the kernel has a chance to put that process back on...

Sarthak Bystander 28 Sept, 2026

How Futexes Work: Userspace Fast Path, Wait Queues, and Why Mutexes Avoid Syscalls

A mutex that takes a system call on every lock and unlock would dominate a hot critical section. The uncontended case is a few atomic instru...

Sarthak Bystander 25 Sept, 2026

How RCU Works: Grace Periods, Quiescent States, and Why Readers Skip Locks

A shared linked list in the kernel can be walked by thousands of cores at once. A writer still has to insert or delete a node. If every walk...

Sarthak Bystander 23 Sept, 2026

How Linux CFS Works: vruntime, Red-Black Trees, and Why Fairness Is Approximate

A CPU core runs one thread at a time. Everything else that looks concurrent is a lie the operating system maintains by switching. The policy...

Sarthak Bystander 22 Sept, 2026

How io_uring Works: Submission Queues, Completion Queues, and Why Batching Beats Syscalls

A tight loop of read and write pays for a privilege crossing on every operation. After Spectre-era mitigations that crossing got more expe...

Sarthak Bystander 19 Sept, 2026