111 lines
4.9 KiB
HTML
111 lines
4.9 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
|
|
<TITLE>Linux Kernel 2.4 Internals</TITLE>
|
|
<LINK HREF="lki-1.html" REL=next>
|
|
|
|
|
|
</HEAD>
|
|
<BODY>
|
|
<A HREF="lki-1.html">Next</A>
|
|
Previous
|
|
Contents
|
|
<HR>
|
|
<H1>Linux Kernel 2.4 Internals</H1>
|
|
|
|
<H2>Tigran Aivazian <CODE>tigran@veritas.com</CODE></H2>7 August 2002 (29 Av 6001)
|
|
<P><HR>
|
|
<EM>Introduction to the Linux 2.4 kernel. The latest copy of this document
|
|
can be always downloaded from:
|
|
<A HREF="http://www.moses.uklinux.net/patches/lki.sgml">http://www.moses.uklinux.net/patches/lki.sgml</A>
|
|
This guide is now part of the Linux Documentation Project and can also be
|
|
downloaded in various formats from:
|
|
<A HREF="http://www.linuxdoc.org/guides.html">http://www.linuxdoc.org/guides.html</A>
|
|
or can be read online (latest version) at:
|
|
<A HREF="http://www.moses.uklinux.net/patches/lki.html">http://www.moses.uklinux.net/patches/lki.html</A>
|
|
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 <CODE>(quintela@fi.udc.es)</CODE>,
|
|
Francis Galiegue <CODE>(fg@mandrakesoft.com)</CODE>,
|
|
Hakjun Mun <CODE>(juniorm@orgio.net)</CODE>,
|
|
Matt Kraai <CODE>(kraai@alumni.carnegiemellon.edu)</CODE>,
|
|
Nicholas Dronen <CODE>(ndronen@frii.com)</CODE>,
|
|
Samuel S Chessman <CODE>(chessman@tux.org)</CODE>,
|
|
Nadeem Hasan <CODE>(nhasan@nadmm.com)</CODE>,
|
|
Michael Svetlik <CODE>(m.svetlik@ssi-schaefer-peem.com)</CODE>
|
|
for various corrections and suggestions.
|
|
The Linux Page Cache chapter was written by: Christoph Hellwig <CODE>(hch@caldera.de)</CODE>.
|
|
The IPC Mechanisms chapter was written by: Russell Weight <CODE>(weightr@us.ibm.com)</CODE> and Mingming Cao <CODE>(mcao@us.ibm.com)</CODE></EM>
|
|
<HR>
|
|
<P>
|
|
<H2><A NAME="toc1">1.</A> <A HREF="lki-1.html">Booting</A></H2>
|
|
|
|
<UL>
|
|
<LI><A HREF="lki-1.html#ss1.1">1.1 Building the Linux Kernel Image</A>
|
|
<LI><A HREF="lki-1.html#ss1.2">1.2 Booting: Overview</A>
|
|
<LI><A HREF="lki-1.html#ss1.3">1.3 Booting: BIOS POST</A>
|
|
<LI><A HREF="lki-1.html#ss1.4">1.4 Booting: bootsector and setup</A>
|
|
<LI><A HREF="lki-1.html#ss1.5">1.5 Using LILO as a bootloader </A>
|
|
<LI><A HREF="lki-1.html#ss1.6">1.6 High level initialisation </A>
|
|
<LI><A HREF="lki-1.html#ss1.7">1.7 SMP Bootup on x86</A>
|
|
<LI><A HREF="lki-1.html#ss1.8">1.8 Freeing initialisation data and code</A>
|
|
<LI><A HREF="lki-1.html#ss1.9">1.9 Processing kernel command line</A>
|
|
</UL>
|
|
<P>
|
|
<H2><A NAME="toc2">2.</A> <A HREF="lki-2.html">Process and Interrupt Management</A></H2>
|
|
|
|
<UL>
|
|
<LI><A HREF="lki-2.html#ss2.1">2.1 Task Structure and Process Table</A>
|
|
<LI><A HREF="lki-2.html#ss2.2">2.2 Creation and termination of tasks and kernel threads</A>
|
|
<LI><A HREF="lki-2.html#ss2.3">2.3 Linux Scheduler</A>
|
|
<LI><A HREF="lki-2.html#ss2.4">2.4 Linux linked list implementation</A>
|
|
<LI><A HREF="lki-2.html#ss2.5">2.5 Wait Queues</A>
|
|
<LI><A HREF="lki-2.html#ss2.6">2.6 Kernel Timers</A>
|
|
<LI><A HREF="lki-2.html#ss2.7">2.7 Bottom Halves</A>
|
|
<LI><A HREF="lki-2.html#ss2.8">2.8 Task Queues</A>
|
|
<LI><A HREF="lki-2.html#ss2.9">2.9 Tasklets</A>
|
|
<LI><A HREF="lki-2.html#ss2.10">2.10 Softirqs</A>
|
|
<LI><A HREF="lki-2.html#ss2.11">2.11 How System Calls Are Implemented on i386 Architecture?</A>
|
|
<LI><A HREF="lki-2.html#ss2.12">2.12 Atomic Operations</A>
|
|
<LI><A HREF="lki-2.html#ss2.13">2.13 Spinlocks, Read-write Spinlocks and Big-Reader Spinlocks</A>
|
|
<LI><A HREF="lki-2.html#ss2.14">2.14 Semaphores and read/write Semaphores</A>
|
|
<LI><A HREF="lki-2.html#ss2.15">2.15 Kernel Support for Loading Modules</A>
|
|
</UL>
|
|
<P>
|
|
<H2><A NAME="toc3">3.</A> <A HREF="lki-3.html">Virtual Filesystem (VFS)</A></H2>
|
|
|
|
<UL>
|
|
<LI><A HREF="lki-3.html#ss3.1">3.1 Inode Caches and Interaction with Dcache</A>
|
|
<LI><A HREF="lki-3.html#ss3.2">3.2 Filesystem Registration/Unregistration</A>
|
|
<LI><A HREF="lki-3.html#ss3.3">3.3 File Descriptor Management</A>
|
|
<LI><A HREF="lki-3.html#ss3.4">3.4 File Structure Management</A>
|
|
<LI><A HREF="lki-3.html#ss3.5">3.5 Superblock and Mountpoint Management</A>
|
|
<LI><A HREF="lki-3.html#ss3.6">3.6 Example Virtual Filesystem: pipefs</A>
|
|
<LI><A HREF="lki-3.html#ss3.7">3.7 Example Disk Filesystem: BFS</A>
|
|
<LI><A HREF="lki-3.html#ss3.8">3.8 Execution Domains and Binary Formats</A>
|
|
</UL>
|
|
<P>
|
|
<H2><A NAME="toc4">4.</A> <A HREF="lki-4.html">Linux Page Cache</A></H2>
|
|
|
|
<P>
|
|
<H2><A NAME="toc5">5.</A> <A HREF="lki-5.html">IPC mechanisms</A></H2>
|
|
|
|
<UL>
|
|
<LI><A HREF="lki-5.html#ss5.1">5.1 Semaphores</A>
|
|
<LI><A HREF="lki-5.html#ss5.2">5.2 Message queues</A>
|
|
<LI><A HREF="lki-5.html#ss5.3">5.3 Shared Memory</A>
|
|
<LI><A HREF="lki-5.html#ss5.4">5.4 Linux IPC Primitives</A>
|
|
</UL>
|
|
<HR>
|
|
<A HREF="lki-1.html">Next</A>
|
|
Previous
|
|
Contents
|
|
</BODY>
|
|
</HTML>
|