KernelAnalysis-HOWTO
Roberto Arcomano berto@bertolinux.com
v0.7, March 26, 2003This document tries to explain some things about the Linux Kernel, such as the most important components, how they work, and so on. This HOWTO should help prevent the reader from needing to browse all the kernel source files searching for the"right function," declaration, and definition, and then linking each to the other. You can find the latest version of this document at http://www.bertolinux.com If you have suggestions to help make this document better, please submit your ideas to me at the following address: berto@bertolinux.com
1. Introduction
2. Syntax used
3. Fundamentals
- 3.1 What is the kernel?
- 3.2 What is the difference between User Mode and Kernel Mode?
- 3.3 Switching from User Mode to Kernel Mode
- 3.4 Multitasking
- 3.5 Microkernel vs Monolithic OS
- 3.6 Networking
- 3.7 Virtual Memory
4. Linux Startup
5. Linux Peculiarities
- 5.1 Overview
- 5.2 Pagination only
- 5.3 Softirq
- 5.4 Kernel Threads
- 5.5 Kernel Modules
- 5.6 Proc directory
6. Linux Multitasking
- 6.1 Overview
- 6.2 Timeslice
- 6.3 Scheduler
- 6.4 Bottom Half, Task Queues. and Tasklets
- 6.5 Very low level routines
- 6.6 Task Switching
- 6.7 Fork
7. Linux Memory Management
- 7.1 Overview
- 7.2 Specific i386 implementation
- 7.3 Memory Mapping
- 7.4 Low level memory allocation
- 7.5 Swap
8. Linux Networking
9. Linux File System
10. Useful Tips
11. 80386 specific details
12. IRQ
13. Utility functions
14. Static variables
15. Glossary
16. Links
Next Previous Contents