Библиотека сайта rus-linux.net
Linux Kernel 2.4 Internals
Tigran Aivazian tigran@veritas.com
7 August 2002 (29 Av 6001)
Introduction to the Linux 2.4 kernel. The latest copy of this document can be always downloaded from: http://www.moses.uklinux.net/patches/lki.sgml This guide is now part of the Linux Documentation Project and can also be downloaded in various formats from: http://www.linuxdoc.org/guides.html or can be read online (latest version) at: http://www.moses.uklinux.net/patches/lki.html This documentation is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The author is working as senior Linux kernel engineer at VERITAS Software Ltd and wrote this book for the purpose of supporting the short training course/lectures he gave on this subject, internally at VERITAS. Thanks to Juan J. Quintela
(quintela@fi.udc.es)
,
Francis Galiegue (fg@mandrakesoft.com)
,
Hakjun Mun (juniorm@orgio.net)
,
Matt Kraai (kraai@alumni.carnegiemellon.edu)
,
Nicholas Dronen (ndronen@frii.com)
,
Samuel S Chessman (chessman@tux.org)
,
Nadeem Hasan (nhasan@nadmm.com)
,
Michael Svetlik (m.svetlik@ssi-schaefer-peem.com)
for various corrections and suggestions.
The Linux Page Cache chapter was written by: Christoph Hellwig (hch@caldera.de)
.
The IPC Mechanisms chapter was written by: Russell Weight (weightr@us.ibm.com)
and Mingming Cao (mcao@us.ibm.com)
1. Booting
- 1.1 Building the Linux Kernel Image
- 1.2 Booting: Overview
- 1.3 Booting: BIOS POST
- 1.4 Booting: bootsector and setup
- 1.5 Using LILO as a bootloader
- 1.6 High level initialisation
- 1.7 SMP Bootup on x86
- 1.8 Freeing initialisation data and code
- 1.9 Processing kernel command line
2. Process and Interrupt Management
- 2.1 Task Structure and Process Table
- 2.2 Creation and termination of tasks and kernel threads
- 2.3 Linux Scheduler
- 2.4 Linux linked list implementation
- 2.5 Wait Queues
- 2.6 Kernel Timers
- 2.7 Bottom Halves
- 2.8 Task Queues
- 2.9 Tasklets
- 2.10 Softirqs
- 2.11 How System Calls Are Implemented on i386 Architecture?
- 2.12 Atomic Operations
- 2.13 Spinlocks, Read-write Spinlocks and Big-Reader Spinlocks
- 2.14 Semaphores and read/write Semaphores
- 2.15 Kernel Support for Loading Modules
3. Virtual Filesystem (VFS)
- 3.1 Inode Caches and Interaction with Dcache
- 3.2 Filesystem Registration/Unregistration
- 3.3 File Descriptor Management
- 3.4 File Structure Management
- 3.5 Superblock and Mountpoint Management
- 3.6 Example Virtual Filesystem: pipefs
- 3.7 Example Disk Filesystem: BFS
- 3.8 Execution Domains and Binary Formats
4. Linux Page Cache
5. IPC mechanisms
Next Previous Contents