The Unix and Internet Fundamentals HOWTO

Eric Raymond


Revision History
Revision 2.52002-02-02Revised by: esr
Corrected description of IP.
Revision 2.42001-06-12Revised by: esr
Where to find more.
Revision 2.32001-05-21Revised by: esr
Introduction to bus types. Polish translation link.
Revision 2.22001-02-05Revised by: esr
New section on how DNS is organized. Corrected for new location of document. Various copy-edit fixes.
Revision 2.12000-11-29Revised by: esr
Correct explanation of twos-complement numbers. Various copy-edit fixes.
Revision 2.02000-08-05Revised by: esr
First DocBook version. Detailed description of memory hierarchy.
Revision 1.72000-03-06Revised by: esr
Correct and expanded the section on file permissions.
Revision 1.41999-09-25Revised by: esr
Be more precise about what kernel does vs. what init does.
Revision 1.31999-06-27Revised by: esr
The sections `What happens when you log in?' and `File ownership, permissions and security'.
Revision 1.21998-12-26Revised by: esr
The section `How does my computer store things in memory?'.
Revision 1.01998-10-29Revised 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