The Unix and Internet Fundamentals HOWTO

Eric Raymond


Revision History
Revision 2.4 12 June 2001 Revised by: esr
Where to find more.
Revision 2.3 22 May 2001 Revised by: esr
Introduction to bus types. Polish translation link.
Revision 2.2 5 February 2001 Revised by: esr
New section on how DNS is organized. Corrected for new location of document. Various copy-edit fixes.
Revision 2.1 29 November 2000 Revised by: esr
Correct explanation of twos-complement numbers. Various copy-edit fixes.
Revision 2.0 5 August 2000 Revised by: esr
First DocBook version. Detailed description of memory hierarchy.
Revision 1.7 6 March 2000 Revised by: esr
Correct and expanded the section on file permissions.
Revision 1.4 25 September 1999 Revised by: esr
Be more precise about what kernel does vs. what init does.
Revision 1.3 27 June 1999 Revised by: esr
The sections `What happens when you log in?' and `File ownership, permissions and security'.
Revision 1.2 26 December 1998 Revised by: esr
The section `How does my computer store things in memory?'.
Revision 1.0 29 October 1998 Revised 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