The Unix and Internet Fundamentals HOWTO

Eric Raymond


Revision History
Revision 2.412 June 2001Revised by: esr
Where to find more.
Revision 2.322 May 2001Revised by: esr
Introduction to bus types. Polish translation link.
Revision 2.25 February 2001Revised by: esr
New section on how DNS is organized. Corrected for new location of document. Various copy-edit fixes.
Revision 2.129 November 2000Revised by: esr
Correct explanation of twos-complement numbers. Various copy-edit fixes.
Revision 2.05 August 2000Revised by: esr
First DocBook version. Detailed description of memory hierarchy.
Revision 1.76 March 2000Revised by: esr
Correct and expanded the section on file permissions.
Revision 1.425 September 1999Revised by: esr
Be more precise about what kernel does vs. what init does.
Revision 1.327 June 1999Revised by: esr
The sections `What happens when you log in?' and `File ownership, permissions and security'.
Revision 1.226 December 1998Revised by: esr
The section `How does my computer store things in memory?'.
Revision 1.029 October 1998Revised by: esr
Initial revision.

This document describes the working basics of PC-class computers, Unix-like operating systems, and the Internet in non-technical language.

Table of Contents
1. Introduction
1.1. Purpose of this document
1.2. New versions of this document
1.3. Feedback and corrections
1.4. Related resources
2. Basic anatomy of your computer
3. What happens when you switch on a computer?
4. What happens when you log in?
5. What happens when you run programs from the shell?
6. How do input devices and interrupts work?
7. How does my computer do several things at once?
8. How does my computer keep processes from stepping on each other?
8.1. Virtual memory: the simple version
8.2. Virtual memory: the detailed version
8.3. The Memory Management Unit
9. How does my computer store things in memory?
9.1. Numbers
9.2. Characters
10. How does my computer store things on disk?
10.1. Low-level disk and file system structure
10.2. File names and directories
10.3. Mount points
10.4. How a file gets looked up
10.5. File ownership, permissions and security
10.6. How things can go wrong
11. How do computer languages work?
11.1. Compiled languages
11.2. Interpreted languages
11.3. P-code languages
12. How does the Internet work?
12.1. Names and locations
12.2. The Domain Name System
12.3. Packets and routers
12.4. TCP and IP
12.5. HTTP, an application protocol
13. To Learn More