Linternals

2025
In this part we'll use our case study to explore how the Linux kernel maps private anonymous memory.
2024
In this series we'll explore the Linux kernel's memory management subsystem, using a simple userspace program as our starting point.
2022
This time we're going to build on that and introduce another memory allocator found within the Linux kernel, the slab allocator, and it's various flavours. So buckle up as we dive into the exciting world of SLABs, SLUBs and SLOBs.
I know you've all been waiting for it, that's right, we're going to be taking a dive into another exciting aspect of Linux internals: memory allocators!
In this part of our journey into virtual memory in Linux, we cover the mystical kernel memory map and all it entails.
We continue our journey to understand virtual memory in Linux, as we take a closer look at the user virtual address space.
Alright, let's get stuck into some Linternals! As the title suggests, this post will be exploring the ins and outs of virtual memory with regards to modern Linux systems.
2021
Welcome to the second part of my totally-wasn't-meant-to-be-a-one-part Linux internals post on the modern boot process! Last time I set the scene and covered the GUID Partition Table (GPT) scheme for formatting your stor
What more appropriate way to kick off a series on Linux internals than figuring out how we actually get those internals running in the first place? This post is going to cover the process that takes us from pressing a po
Linternals: Introduction
It's the moment you've all been waiting for, so without further ado, let me introduce my Linux Internals - AKA Linternals - series.