old-www/LDP/lki/lki.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>