Welcome to Scribd. Sign in or start your free trial to enjoy unlimited e-books, audiobooks & documents.Find out more
Download
Standard view
Full view
of .
Look up keyword
Like this
1Activity
0 of .
Results for:
No results containing your search query
P. 1
LinuxKernel-2.4

LinuxKernel-2.4

Ratings:
(0)
|Views: 51|Likes:
Published by api-26283766

More info:

Published by: api-26283766 on Oct 17, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/09/2014

pdf

text

original

Linux Kernel 2.4 Internals
Table of Contents
Linux Kernel 2.4 Internals.................................................................................................................................1

Tigran Aivazian tigran@veritas.com.......................................................................................................1 1. Booting.................................................................................................................................................1 2. Process and Interrupt Management......................................................................................................1 3. Virtual Filesystem (VFS).....................................................................................................................2 4. Linux Page Cache................................................................................................................................2 1. Booting.................................................................................................................................................2 1.1 Building the Linux Kernel Image......................................................................................................2 1.2 Booting: Overview.............................................................................................................................3 1.3 Booting: BIOS POST.........................................................................................................................3 1.4 Booting: bootsector and setup............................................................................................................4 1.5 Using LILO as a bootloader..............................................................................................................7 1.6 High level initialisation.....................................................................................................................7 1.7 SMP Bootup on x86...........................................................................................................................8 1.8 Freeing initialisation data and code...................................................................................................9 1.9 Processing kernel command line.....................................................................................................10 2. Process and Interrupt Management....................................................................................................11 2.1 Task Structure and Process Table....................................................................................................11 2.2 Creation and termination of tasks and kernel threads......................................................................15 2.3 Linux Scheduler...............................................................................................................................17 2.4 Linux linked list implementation.....................................................................................................19 2.5 Wait Queues.....................................................................................................................................21 2.6 Kernel Timers..................................................................................................................................23 2.7 Bottom Halves.................................................................................................................................24 2.8 Task Queues.....................................................................................................................................25 2.9 Tasklets............................................................................................................................................25 2.10 Softirqs...........................................................................................................................................26 2.11 How System Calls Are Implemented on i386 Architecture?.........................................................26 2.12 Atomic Operations.........................................................................................................................26 2.13 Spinlocks, Read\u2212write Spinlocks and Big\u2212Reader Spinlocks......................................................28 2.14 Semaphores and read/write Semaphores.......................................................................................30 2.15 Kernel Support for Loading Modules............................................................................................31 3. Virtual Filesystem (VFS)...................................................................................................................34 3.1 Inode Caches and Interaction with Dcache......................................................................................34 3.2 Filesystem Registration/Unregistration...........................................................................................37 3.3 File Descriptor Management............................................................................................................39 3.4 File Structure Management..............................................................................................................40 3.5 Superblock and Mountpoint Management.......................................................................................43 3.6 Example Virtual Filesystem: pipefs.................................................................................................46 3.7 Example Disk Filesystem: BFS.......................................................................................................47 3.8 Execution Domains and Binary Formats.........................................................................................49 4. Linux Page Cache..............................................................................................................................51

Linux Kernel 2.4 Internals
i
Linux Kernel 2.4 Internals
Tigran Aivaziantigran@veritas.com
24 April 2001 (1 Iyar 5761)
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) for various corrections and suggestions. The Linux Page Cache chapter
was written by Christoph Hellwig(hch@caldera.de).

1.Booting
1.1 Building the Linux Kernel Image
\u2022
1.2 Booting: Overview
\u2022
1.3 Booting: BIOS POST
\u2022
1.4 Booting: bootsector and setup
\u2022
1.5 Using LILO as a bootloader
\u2022
1.6 High level initialisation
\u2022
1.7 SMP Bootup on x86
\u2022
1.8 Freeing initialisation data and code
\u2022
1.9 Processing kernel command line
\u2022
2. Process and Interrupt Management
2.1 Task Structure and Process Table
\u2022
2.2 Creation and termination of tasks and kernel threads
\u2022
2.3 Linux Scheduler
\u2022
2.4 Linux linked list implementation
\u2022
2.5 Wait Queues
\u2022
2.6 Kernel Timers
\u2022
2.7 Bottom Halves
\u2022
2.8 Task Queues
\u2022
2.9 Tasklets
\u2022
2.10 Softirqs
\u2022
2.11 How System Calls Are Implemented on i386 Architecture?
\u2022
2.12 Atomic Operations
\u2022
Linux Kernel 2.4 Internals
1

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->