- Author
- 0xkato
- Published
- 1 November 2025
- Kind
- Personal blog explainer, with shell commands and no measurements
- Original
- www.0xkato.xyz/linux-process-memory/
- Subject
- Systems and hardware
- Themes
- Close to the machine, Getting good
What it is
A blog author who goes by 0xkato wrote this tour. It aims to make virtual memory understandable to a general programmer. It uses a floor-plan picture of the address space.
What it says
- The post says a process owns a map of regions with set rights.
- It says mmap only records a promise. Pages arrive at first touch, through a page fault.
- It says fork copies no pages. A page is copied on the first write.
- It says mprotect forces a TLB invalidation, which is the pause a JIT feels.
- It says Linux can use one 2 MiB page in place of 512 small ones.
- It says Linux counters Meltdown with page table isolation, which keeps two views of memory.
- It lists error symptoms and causes, such as EINVAL from a misaligned file offset.
What evidence it gives
The post offers explanation only. It points readers to /proc files, such as maps and smaps, to check the claims. It reports no benchmarks, kernel version or test results.
Interests and limits
The post is an independent explainer with no stated review. The author says it targets Linux on x86-64, and other architectures differ in details. Kernel versions are not given, so some features may not apply to older kernels. A link to a note on how the posts get written was not followed.
Connections
These links are this wiki's own reading, not claims the sources make.
- C Is Not a Low-level Language. Chisnall says C's flat memory is a fiction kept up by hidden caches. Kato describes another fiction nearby: mapped memory is only a promise until first touch. Each layer works by not telling the one above.