DNS, All the Way Down: From getaddrinfo to an Answer
A program has a name and needs an address. Between those two facts sit eight stages, and the first three of them happen entirely inside your own machine, before a…
A program has a name and needs an address. Between those two facts sit eight stages, and the first three of them happen entirely inside your own machine, before a…
Eight stages between a program asking for memory and something being killed for it. Killing is the last one, and almost everything interesting happens before it. This follows a single…
Eight stages between a client sending COMMIT and data you could still restore a year later. The client waits on exactly one of them. This follows the whole path on…
A container is not a kernel object. It is an ordinary process with nine things done to it first. This follows docker run all the way down: the registry request,…
Between pressing Enter and getting your prompt back, the shell rewrites your command line in six stages before anything runs, finds the program four different ways, and puts it in…
Your write() call returned successfully and nothing is on the disk. Seven layers sit between that return and durable storage — page cache, filesystem, device mapper, block layer, device cache…
Eight handoffs stand between the power button and a shell, each one to a program that knows almost nothing about the last. Firmware, shim, bootloader, kernel, initramfs, the switch to…
Six independent layers stand between a process and a file, and every one of them can say no on its own. Mode bits, ACLs, capabilities, LSMs and user namespaces —…
From write() to the wire and back again — sockets, the routing decision, netfilter, conntrack, ARP, queueing disciplines, offloads and the container detour. The long version, because almost every hard…
Two servers is not twice as reliable. It is twice as much to maintain, plus a class of failure that only exists when there are two. Here is how to…
We use cookies to improve your experience on our site. By using our site, you consent to cookies.
Manage your cookie preferences below:
Essential cookies enable basic functions and are necessary for the proper function of the website.
These cookies are needed for adding comments on this website.
Statistics cookies collect information anonymously. This information helps us understand how visitors use our website.
Google Analytics is a powerful tool that tracks and analyzes website traffic for informed marketing decisions.
Service URL: policies.google.com (opens in a new window)
Jetpack's built-in visitor analytics. It records page views, referring sites, search terms, and outbound link clicks, and also carries the shared visitor-tracking library used by Jetpack Instant Search and WooCommerce Analytics.
Service URL: automattic.com (opens in a new window)
You can find more information in our Cookie Policy and Privacy Policy.