annotate master.idx @ 68:1f41643cfe8e

Move and update the cross compile stuff, note differences between pipe/file/tty, add a few quick notes about OLS papers to link to.
author Rob Landley <rob@landley.net>
date Wed, 10 Oct 2007 16:49:45 -0500
parents 992a411c98b6
children 0c10e3aad7d2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
47
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
1 <html>
39
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
2 <title>Linux Kernel Documentation</title>
47
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
3 <body>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
4
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
5 <h2>Linux Kernel Documentation Index</h2>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
6
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
7 <p>This page collects and organizes documentation about the Linux kernel, taken
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
8 from many different sources. What is the kernel, how do you build it, how do
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
9 you use it, how do you change it...</p>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
10
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
11 <p>This is a work in progress, and probably always will be. Please let us know
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
12 on the
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
13 <a href=http://vger.kernel.org/vger-lists.html#linux-doc>linux-doc</a> mailing
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
14 list (on vger.kernel.org) about any documentation you'd like added to this
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
15 index, and feel free to ask about any topics that aren't covered here yet.
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
16 This index is maintained by Rob Landley &lt;rob@landley.net&gt;, and tracked in
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
17 <a href=http://landley.net/hg/kdocs>this mercurial repostiory</a>. The
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
18 cannonical location for the page is <a href=http://kernel.org/doc>here</a>.</p>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
19
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
20 <hr>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
21
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
22 <put_index_here>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
23
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
24 <hr>
39
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
25
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
26 <span id="Sources of documentation">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
27
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
28 <p>These are various upstream sources of documentation, many of which are linked
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
29 into the <a href=http://kernel.org/doc>linux kernel documentation index</a>.</p>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
30
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
31 <ul>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
32 <li><a href=Documentation>Text files in the kernel's Documentation directory.</a></li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
33 <li><a href=htmldocs>Output of kernel's "make htmldocs".</a></li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
34 <li><a href=menuconfig>Menuconfig help</a></li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
35 <li><a href=readme>Linux kernel README files</a></li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
36 <li><a href=xmlman>html version of man-pages package</a></li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
37 <li><a href=http://lwn.net/Kernel/Index/>Linux Weekly News kernel articles</a></li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
38 <li>Linux Device Drivers book (<a href=http://lwn.net/Kernel/LDD3/>third edition</a>) (<a href=http://www.xml.com/ldd/chapter/book/>second edition</a>)</li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
39 <li><a href=ols>Ottawa Linux Symposium papers</li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
40 <li><a href=http://www.linuxjournal.com/xstatic/magazine/archives>Linux Journal archives</a></li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
41 <li><a href=http://www.ibm.com/developerworks/views/linux/library.jsp>IBM Developerworks Linux Library</a> (also <a href=http://www.ibm.com/developerworks/linux/library/l-linux-kernel/>here</a>)
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
42 </li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
43 <li><a href=http://www.tux.org/lkml/>Linux Kernel Mailing List FAQ</a></li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
44 <li><a href=http://kernelplanet.org>Kernel Planet (blog aggregator)</a></li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
45 <li><a href=video.html>Selected videos of interest</a></li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
46 <li><a href=local>Some locally produced docs</a></li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
47 </ul>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
48
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
49 <span id="Standards">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
50 <ul>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
51 <li><a href=http://www.opengroup.org/onlinepubs/009695399/>Single Unix Specification v3</a> (Also known as Open Group Base Specifications issue 6, and closely overlapping with Posix. See especially <a href=http://www.opengroup.org/onlinepubs/009695399/idx/xsh.html>system interfaces</a>)</li>
62
eb75b1bfc3d1 Link to c99.
Rob Landley <rob@landley.net>
parents: 61
diff changeset
52 <li><a href=http://www.open-std.org/jtc1/sc22/wg14/www/standards>ISO/IEC C9899</a> the "C99" standard, defining the C programming language.</a></li>
39
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
53 <li><a href=http://www.linux-foundation.org/spec/refspecs/>Linux Foundation's specs page</a> (ELF, Dwarf, ABI...)</li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
54 </ul>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
55 </span id="Standards">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
56
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
57 <span id="Translations">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
58 <ul>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
59 <li><a href=http://tlktp.sourceforge.net/>Linux Kernel Translation Project</a></li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
60 <li><a href=http://kernelnewbies.org/RegionalNewbies>Kernel Newbies regional pages</a></li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
61 <li><a href=http://www.linux.or.jp/JF/index.html>Japanese</a></li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
62 <li><a href=http://zh-kernel.org/docs>Chinese</a></li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
63 </ul>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
64 </span id="Translations">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
65
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
66 </span id="Sources of documentation">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
67
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
68 <span id="Building from source">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
69 <span id="User interface">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
70 <span id="Configuring">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
71 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
72 <span id="building">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
73 <span id="Building out of tree">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
74 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
75 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
76 <span id="Installing">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
77 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
78 <span id="running">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
79 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
80 <span id="debugging">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
81 <span id="QEMU">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
82 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
83 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
84 <span id="cross compiling">
68
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
85 <span id="Cross compiling vs native compiling">
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
86 <p>By default, Linux builds for the same architecture the host system is
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
87 running. This is called "native compiling". An x86 system building an x86
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
88 kernel, x86-64 building x86-64, or powerpc building powerpc are all examples
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
89 of native compiling.</p>
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
90
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
91 <p>Building different binaries than the host runs is called cross compiling.
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
92 <a href=http://landley.net/writing/docs/cross-compiling.html>Cross
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
93 compiling is hard</a>. The build system for the Linux kernel supports cross
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
94 compiling via a two step process: 1) Specify a different architecture (ARCH)
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
95 during the configure, make, and install stages. 2) Supply a cross compiler
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
96 (CROSS_COMPILE) which can output the correct kind of binary code. An
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
97 example cross compile command line (building the "arm" architecture) looks
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
98 like:</p>
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
99
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
100 <blockquote>
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
101 <pre>make ARCH=arm menuconfig
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
102 make ARCH=arm CROSS_COMPILE=armv5l-
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
103 </pre>
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
104 </blockquote>
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
105
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
106 <p>To specify a different architecture than the host, either define the "ARCH"
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
107 environment variable or else add "ARCH=xxx" to the make command line for each
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
108 of the make config, make, and make install stages. The acceptable values for
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
109 ARCH are the names of the directories in the "arch" subdirectory of the Linux
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
110 kernel source code, see <a href="#Architectures">Architectures</a> for
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
111 details. All stages of the build must use the same ARCH value, and building a
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
112 second architecture in the same source directory requires "make distclean".
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
113 (Just "make clean" isn't sufficient, things like the include/asm symlink need
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
114 to be removed and recreated.)</p>
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
115
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
116 <p>To specify a cross compiler prefix, define the CROSS_COMPILE environment
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
117 variable (or add CROSS_COMPILE= to each make command line). Native compiler
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
118 tools, which output code aimed at the environment they're running in, usually
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
119 have a simple name ("gcc", "ld", "strip"). Cross compilers usually add a
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
120 prefix to the name of each tool, indicating the target they produce code for.
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
121 To tell the Linux kernel build to use a cross compiler named "armv4l-gcc" (and
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
122 corresponding "armv4l-ld" and "armv4l-strip") specify "CROSS_COMPILE=armv4l-".
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
123 (Prefixes ending in a dash are common, and forgetting the trailing dash in
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
124 CROSS_COMPILE is a common mistake. Don't forget to add the cross compiler
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
125 tools to your $PATH.)</p>
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
126 </span>
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
127
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
128
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
129
39
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
130 <span id="User Mode Linux">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
131 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
132 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
133 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
134 <span id="Infrastructure">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
135 <span id="kconfig">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
136 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
137 <span id="kbuild">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
138 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
139 <span id="build and link (tmppiggy)">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
140 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
141 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
142 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
143
47
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
144 <span id="Installing and using the kernel">
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
145 <span id="Installing">
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
146 <span id="Kernel image">
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
147 </span>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
148 <span id="Bootloader">
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
149 </span>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
150 </span>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
151 <span id="A working Linux root filesystem">
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
152 <span id="Finding and mounting /">
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
153 <span id="initramfs, switch_root vs pivot_root, /dev/console">
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
154 </span>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
155 </span>
61
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
156 <span id="Running programs">
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
157 <span id="init program and PID 1">
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
158 <span id="What does daemonizing really mean?">
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
159 </span>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
160 </span>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
161 <span id="Executable formats">
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
162 <p>The Linux kernel runs programs in response to the
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
163 <a href=xmlman/man3/exec.html>exec</a> syscall, which is called on a
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
164 file. This file must have the
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
165 executable bit set, and must be on a filesystem that implements mmap() and which
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
166 isn't mounted with the "noexec" option. The kernel understands
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
167 several different <a href="#executable_file_formats">executable file
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
168 formats</a>, the most common of which are shell scripts and ELF binaries.</p>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
169 <span id="Shell scripts">
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
170 <p>If the first two bytes of an executable file are the characters "#!", the
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
171 file is treated as a script file. The kernel parses the first line of the file
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
172 (until the first newline), and the first argument (immediately following
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
173 the #! with no space) is used as absolute path to the script's interpreter,
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
174 which must be an executable file. Any additional arguments on the first
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
175 line of the file (separated by whitespace) are passed as the first arguments
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
176 to that interpreter executable. The interpreter's next argument is the name of
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
177 the script file, followed by the arguments given on the command line.</p>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
178
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
179 <p>To see this behavior in action, run the following:</p>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
180 <blockquote>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
181 <pre>echo "#!/bin/echo hello" > temp
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
182 chmod +x temp
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
183 ./temp one two three
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
184 </pre>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
185 </blockquote>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
186
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
187 <p>The result should be:</p>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
188 <blockquote>hello ./temp one two three</blockquote>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
189
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
190 <p>This is how shell scripts, perl, python, and other scripting languages
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
191 work. Even C code can be run as a script by installing the
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
192 <a href=http://en.wikipedia.org/wiki/Tiny_C_Compiler>tinycc</a> package,
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
193 adding "#!/usr/bin/tcc -run" to the start of the .c file, and setting the
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
194 executable bit on the .c file.</p>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
195 </span>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
196 <span id="ELF">
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
197 <span id="Shared libraries">
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
198 </span>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
199 </span>
47
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
200 </span>
61
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
201
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
202 <span id="C library">
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
203 <p>Most userspace programs access operating system functionality through a C
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
204 library, usually installed at "/lib/libc.so.*". The C library wraps system
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
205 calls, and provides implementations of various standard functions.</p>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
206
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
207 <p>Because almost all other programming languages are implemented in C
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
208 (including python, perl, php, java, javascript, ruby, flash, and just about
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
209 everything else), programs written in other languages also make use of the
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
210 C library to access operating system services.</p>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
211
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
212 <p>The most common C library implementations for Linux are
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
213 <a href=http://www.linuxfromscratch.org/lfs/view/6.2/chapter06/glibc.html>glibc</a>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
214 and <a href=http://uClibc.org>uClibc</a>. Both are full-featured
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
215 implementations capable of supporting a full-featured desktop Linux
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
216 distribution.</p>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
217
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
218 <p>The main advantage of glibc is that it's the standard implementation used by the
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
219 largest desktop and server distributions, and has more features than any other
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
220 implementation. The main advantage of uClibc is that it's much smaller and
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
221 simpler than glibc while still implementing almost all the same functionality.
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
222 For comparison, a "hello world" program statically linked against glibc is half
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
223 a megabyte when stripped, while the same program statically linked against
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
224 uClibc strips down to 7k.</p>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
225
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
226 <p>Other commonly used special-purpose C library implementations include
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
227 <a href=http://en.wikipedia.org/wiki/Klibc>klibc</a> and
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
228 <a href=http://www.sourceware.org/newlib/>newlib</a>.</p>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
229
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
230 <span id="Exporting kernel headers">
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
231 <p>Building a C library from source code requires a special set
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
232 of Linux kernel header files, which describe the API of the specific version
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
233 of the Linux kernel the C library will interface with. However, the header
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
234 files in the kernel source code are designed to build the kernel and contain
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
235 a lot of internal information that would only confuse userspace. These
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
236 kernel headers must be "exported", filtering them for use by user space.</p>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
237
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
238 <p>Modern Linux kernels (based on 2.6.19.1 and newer) export kernel headers via
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
239 the "make headers_install" command. See
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
240 <a href=local/headers_install.txt>exporting kernel headers for use by
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
241 userspace</a> for more information.</p>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
242 </span>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
243 </span>
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
244 <span id="Dynamic loader">
3ea83bc83471 Add a little initial content under "Installing and using the kernel".
Rob Landley <rob@landley.net>
parents: 53
diff changeset
245 </span>
47
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
246 </span>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
247 <span id="FHS directories">
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
248 <p>FHS spec</p>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
249 <a href="pending/hotplug.txt">populating /dev from sysfs</a>.
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
250 </span>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
251 </span>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
252 </span>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
253
39
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
254 <span id="Reading the source code">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
255 <span id="Source code layout">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
256 <span id="Following the boot process">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
257 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
258 <span id="Major subsystems">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
259 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
260 <span id="Architectures">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
261 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
262 </span>
49
aa424ac2ce30 Generate index.html from master.idx.
Rob Landley <rob@landley.net>
parents: 47
diff changeset
263 <span id="Concept vs implementation">
aa424ac2ce30 Generate index.html from master.idx.
Rob Landley <rob@landley.net>
parents: 47
diff changeset
264 <p>Often the first implementation of a concept gets replaced.
aa424ac2ce30 Generate index.html from master.idx.
Rob Landley <rob@landley.net>
parents: 47
diff changeset
265 Journaling != reiserfs, virtualization != xen, devfs gave way to udev...
aa424ac2ce30 Generate index.html from master.idx.
Rob Landley <rob@landley.net>
parents: 47
diff changeset
266 Don't let your excitement for the concept blind you to the possibility
aa424ac2ce30 Generate index.html from master.idx.
Rob Landley <rob@landley.net>
parents: 47
diff changeset
267 of alternate implementations.</p>
aa424ac2ce30 Generate index.html from master.idx.
Rob Landley <rob@landley.net>
parents: 47
diff changeset
268 </span>
39
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
269 <span id="Concepts">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
270 <span id="rbtree">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
271 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
272 <span id="rcu">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
273 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
274 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
275 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
276
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
277 <span id="Kernel infrastructure">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
278 <span id="Process Scheduler">
67
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
279
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
280 <span id="History of the Linux Process Scheduler">
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
281 <p>The original Linux process scheduler was a simple design based on
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
282 a goodness() function that recalculated the priority of every task at every
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
283 context switch, to find the next task to switch to. This served almost
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
284 unchanged through the 2.4 series, but didn't scale to large numbers of
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
285 processes, nor to SMP. By 2001 there were calls for
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
286 change (such as <a href=ols/2001/elss.pdf>this OLS paper</a>), and the
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
287 issue <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020107_149.html#1>came to a head</a> in December 2001.</p>
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
288
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
289 <p>In January 2002, Ingo Molnar
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
290 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020114_150.html#4>introduced the "O(1)" process scheduler</a> for the 2.5 kernel series, a design
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
291 based on separate "active" and "expired" arrays, one per processor. As the name
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
292 implied, this found the next task to switch to in constant time no matter
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
293 how many processes the system was running.</p>
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
294
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
295 <p>Other developers (<a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020513_166.html#4>such as Con Colivas</a>) started working on it,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
296 and began a period of extensive scheduler development. The early history
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
297 of Linux O(1) scheduler development was covered by the website Kernel
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
298 Traffic.</p>
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
299
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
300 <p>During 2002 this work included
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
301 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020121_151.html#8>preemption</a>,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
302 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020121_151.html#9>User Mode Linux support</a>,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
303 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020211_153.html#2>new drops</a>,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
304 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020211_153.html#7>runtime tuning</a>,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
305 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020304_156.html#6>NUMA support</a>,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
306 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020429_164.html#4>cpu affinity</a>,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
307 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020617_171.html#4>scheduler hints</a>,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
308 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020701_173.html#1>64-bit support</a>,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
309 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020715_175.html#5>backports to the 2.4 kernel</a>,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
310 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020715_175.html#4>SCHED_IDLE</a>,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
311 discussion of <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20020729_177.html#1>gang scheduling</a>,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
312 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20021014_188.html#4>more NUMA</a>,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
313 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20021118_192.html#9>even more NUMA</a>). By the end of 2002, the O(1) scheduler was becoming
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
314 the standard <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20021223_197.html#1>even in the 2.4 series</a>.</p>
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
315
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
316 <p>2003 saw support added for
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
317 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20030124_202.html#14>hyperthreading as a NUMA variant</a>,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
318 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20030330_211.html#3>interactivity bugfix</a>,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
319 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20030616_219.html#4>starvation and affinity bugfixes</a>,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
320 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20030616_219.html#8>more NUMA improvements</a>,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
321 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20030811_227.html#2>interactivity improvements</a>,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
322 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20030811_227.html#8>even more NUMA improvements</a>,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
323 a proposal for <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20031026_237.html#7>Variable Scheduling Timeouts</a> (the first rumblings of what
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
324 would later come to be called "dynamic ticks"),
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
325 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20031201_243.html#10>more on hyperthreading</a>...</p>
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
326
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
327 <p>In 2004 there was work on <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20040120_248.html#2>load balancing and priority handling</a>, and
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
328 <a href=http://mirell.org/kernel-traffic/kernel-traffic/kt20040212_252.html#5>still more work on hyperthreading</a>...</p>
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
329
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
330 <p>In 2004 developers proposed several extensive changes to the O(1) scheduler.
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
331 Linux Weekly News wrote about Nick Piggin's
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
332 <a href=http://lwn.net/Articles/80911/>domain-based scheduler</a>
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
333 and Con Colivas' <a href=http://lwn.net/Articles/87729/>staircase scheduler</a>. The follow-up article <a href=http://lwn.net/Articles/96554/>Scheduler tweaks get serious</a> covers both. Nick's scheduling domains
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
334 were merged into the 2.6 series.</p>
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
335
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
336 <p>Linux Weekly News also wrote about other scheduler work:</p>
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
337
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
338 <ul>
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
339 <li><a href=http://lwn.net/Articles/83633/>Filtered wakeups</a></li>
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
340 <li><a href=http://lwn.net/Articles/105366/>When should a process be migrated</a></li>
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
341 <li><a href=http://lwn.net/Articles/109458/>Pluggable and realtime schedulers</a></li>
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
342 <li><a href=http://lwn.net/Articles/120797/>Low latency for audio applications:</a></li>
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
343 <li><a href=http://lwn.net/Articles/176635/>Solving starvation problems in the scheduler:</a></li>
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
344 <li><a href=http://lwn.net/Articles/186438/>SMPnice</a></li>
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
345 </ul>
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
346
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
347 <p>In 2007, Con Colivas proposed a new scheduler, <a href=http://lwn.net/Articles/224865/>The Rotating Staircase Deadline Scheduler</a>, which
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
348 <a href=http://lwn.net/Articles/226054/>hit a snag</a>. Ingo
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
349 Molnar came up with a new scheduler, which he named the
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
350 <a href=http://lwn.net/Articles/230501/>Completely Fair Scheduler</a>,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
351 described in the LWN writeups
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
352 <a href=http://lwn.net/Articles/230574/>Schedulers: the plot thickens</a>,
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
353 <a href=http://lwn.net/Articles/231672/>this week in the scheduling discussion</a>, and
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
354 <a href=http://lwn.net/Articles/240474/>CFS group scheduling</a>.</p>
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
355
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
356 <p>The CFS scheduler was merged into 2.6.23.</p>
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
357 </span>
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
358
39
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
359 <span id="fork, exec">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
360 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
361 <span id="sleep">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
362 </span>
67
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
363 </span>
39
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
364 <span id="Timers">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
365 <span id="Interrupt handling">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
366 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
367 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
368 <span id="memory management">
47
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
369 <ul>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
370 <li><a href="gorman">Understanding the Linux Virtual Memory Manager</a>, by Mel Gorman.</li>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
371 <li><a href=http://lwn.net/Articles/250967/>What every programmer should know about memory</a> by Ulrich Drepper.</li>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
372 <li>Ars technica ram guide, parts
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
373 <a href=http://arstechnica.com/paedia/r/ram_guide/ram_guide.part1-1.html>one</a>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
374 <a href=http://arstechnica.com/paedia/r/ram_guide/ram_guide.part1-1.html>two</a>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
375 <a href=http://arstechnica.com/paedia/r/ram_guide/ram_guide.part3-1.html>three</a></li>
39
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
376 <span id="mmap, DMA">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
377 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
378 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
379 <span id="vfs">
68
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
380 <span id="Pipes, files, and ttys">
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
381 <p>A pipe can be read from or written to, transmitting a sequence of bytes
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
382 in order.</p>
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
383
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
384 <p>A file can do what a pipe can, and adds the ability to seek to a location,
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
385 query the current location, and query the length of the file (all of which are
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
386 an integer number off bytes from the beginning of the file).</p>
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
387
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
388 <p>A tty can do what a pipe can, and adds a speed (in bits per second)
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
389 and cursor location (X and Y, with the upper left corner at 0,0). Oh, and
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
390 you can make it go beep.</p>
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
391
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
392 <p>Note that you can't call lseek() on a tty and you can't call termios
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
393 (man 3 termios) functions on a file. Each can be treated as a pipe.</p>
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
394 </span>
39
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
395 <span id="Filesystems">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
396 <span id="Types of filesystems (see /proc/filesystems)">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
397 <span id="Block backed">
68
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
398 ols/2001/jffs2.pdf
39
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
399 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
400 <span id="Ram backed">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
401 <span id="ramfs">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
402 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
403 <span id="tmpfs">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
404 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
405 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
406 <span id="Synthetic">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
407 <span id="proc">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
408 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
409 <span id="sys">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
410 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
411 <span id="internal (pipefs)">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
412 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
413 <span id="usbfs">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
414 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
415 <span id="devpts">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
416 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
417 <span id="rootfs">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
418 </span>
53
87598e3a8e3c Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents: 49
diff changeset
419 <span id="devfs (obsolete)">
87598e3a8e3c Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents: 49
diff changeset
420 <p>Devfs was the first attempt to do a dynamic /dev directory which could change
87598e3a8e3c Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents: 49
diff changeset
421 in response to hotpluggable hardware, by doing the seemingly obvious thing of
87598e3a8e3c Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents: 49
diff changeset
422 creating a kernel filesystem to mount on /dev which would adjust itself as
87598e3a8e3c Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents: 49
diff changeset
423 the kernel detected changes in the available hardware.</p>
87598e3a8e3c Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents: 49
diff changeset
424
87598e3a8e3c Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents: 49
diff changeset
425 <p>Devfs was an interesting learning experience, but turned out to be the wrong
87598e3a8e3c Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents: 49
diff changeset
426 approach, and was replaced by sysfs and udev. Devfs was removed in kernel
87598e3a8e3c Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents: 49
diff changeset
427 version 2.6.18. See
87598e3a8e3c Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents: 49
diff changeset
428 <a href=local/hotplug-history.html>the history of hotplug</a> for details.</p>
87598e3a8e3c Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents: 49
diff changeset
429
87598e3a8e3c Quick note about devfs (obsolete) and first half of hotplug-history.html.
Rob Landley <rob@landley.net>
parents: 49
diff changeset
430 </span>
39
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
431 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
432 <span id="Network">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
433 <span id="nfs">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
434 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
435 <span id="smb/cifs">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
436 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
437 <span id="FUSE">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
438 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
439 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
440 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
441 <span id="Filesystem drivers">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
442 <span id="Using">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
443 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
444 <span id="Writing">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
445 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
446 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
447 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
448 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
449
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
450 <span id="Drivers">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
451 <span id="Filesystem">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
452 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
453 <span id="Block (block layer, scsi layer)">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
454 <span id="SCSI layer">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
455 <ul>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
456 <li><a href="Documentation/scsi">Documentation/scsi</a> scsi.txt scsi_mid_low_api.txt scsi-generic.txt scsi_eh.txt</li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
457 <li><a href="http://sg.torque.net/sg/p/sg_v3_ho.html">SCSI Generic (sg) HOWTO</a></li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
458 <li><a href="xmlman/man4/sd.html">man 4 sd</a></li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
459 <li><a href="http://www.t10.org/scsi-3.htm">SCSI standards</a></li>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
460 </ul>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
461 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
462 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
463 <span id="Character">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
464 <span id="serial">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
465 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
466 <span id="keyboard">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
467 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
468 <span id="tty">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
469 <span id="pty">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
470 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
471 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
472 <span id="audio">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
473 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
474 <span id="null">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
475 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
476 <span id="random/urandom">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
477 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
478 <span id="zero">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
479 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
480 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
481 <span id="DRI">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
482 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
483 <span id="Network">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
484 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
485 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
486
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
487 <span id="Hotplug">
67
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
488 http://kernel.org/ols/2001/hotplug.pdf
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
489 local/hotplug-history.html
39
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
490 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
491 <span id="Input core">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
492 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
493 <span id="Network">
68
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
494 <pre>
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
495 physical
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
496 plip
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
497 serial/slip/ppp
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
498 ethernet
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
499 routing
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
500 ipv4
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
501 ipv6 ols/2001/mipl.pdf
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
502 </pre>
39
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
503 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
504 <span id="Modules">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
505 <span id="Exported symbols">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
506 <p>EXPORT_SYMBOL() vs EXPORT_SYMBOL_GPL()</p>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
507 <p>List of exported symbols.</p>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
508 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
509 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
510 <span id="Busses">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
511 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
512 <span id="API (how userspace talks to the kernel)">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
513 <span id="Syscalls">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
514 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
515 <span id="ioctls">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
516 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
517 <span id="executable file formats">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
518 <span id="a.out">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
519 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
520 <span id="elf">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
521 <span id="css, bss, etc.">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
522 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
523 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
524 <span id="#!">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
525 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
526 <span id="flat">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
527 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
528 <span id="misc">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
529 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
530 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
531 <span id="Device nodes">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
532 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
533 <span id="Pipes (new pipe infrastructure)">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
534 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
535 <span id="Synthetic filesystems (as API)">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
536 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
537 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
538 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
539
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
540 <span id="Hardware">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
541 <span id="Architectures">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
542 <pre>
67
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
543 alpha
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
544 arm
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
545 avr32
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
546 blackfin
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
547 cris
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
548 frv
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
549 h8300
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
550 i386
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
551 ia64
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
552 m32r
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
553 m68k
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
554 m68knommu
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
555 mips
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
556 parisc
68
1f41643cfe8e Move and update the cross compile stuff, note differences between pipe/file/tty,
Rob Landley <rob@landley.net>
parents: 67
diff changeset
557 powerpc ols/2001/iseries.pdf
67
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
558 ppc
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
559 s390
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
560 sh
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
561 sh64
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
562 sparc
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
563 sparc64
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
564 um
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
565 v850
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
566 x86_64
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
567 xtensa
992a411c98b6 History of the process scheduler, notes about cross compiling, and some tweaks.
Rob Landley <rob@landley.net>
parents: 62
diff changeset
568
39
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
569 include/asm-generic
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
570 uml
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
571 </pre>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
572 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
573 <span id="DMA, IRQ, MMU (mmap), IOMMU, port I/O">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
574 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
575 <span id="Busses">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
576 <span id="PCI, USB">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
577 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
578 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
579 </span>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
580
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
581 <span id="Following Linux development">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
582 <span id="Distibutions.">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
583 </span>
49
aa424ac2ce30 Generate index.html from master.idx.
Rob Landley <rob@landley.net>
parents: 47
diff changeset
584 <span id="Releases">
aa424ac2ce30 Generate index.html from master.idx.
Rob Landley <rob@landley.net>
parents: 47
diff changeset
585 <span id="Source control">
aa424ac2ce30 Generate index.html from master.idx.
Rob Landley <rob@landley.net>
parents: 47
diff changeset
586 </span>
aa424ac2ce30 Generate index.html from master.idx.
Rob Landley <rob@landley.net>
parents: 47
diff changeset
587 </span>
39
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
588 <span id="community">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
589 <pre>
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
590 CATB
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
591 http://vger.kernel.org/vger-lists.html
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
592 http://www.tux.org/lkml/
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
593 lwn, kernel traffic, kernelplanet.
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
594 http://www.kernel.org/faq
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
595 http://www.kernel.org/kdist/rss.xml
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
596 git/mercurial
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
597 Documentation/{CodingStyle,SubmitChecklist}
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
598 The four layer (developer, maintainer, subsystem, linus) model.
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
599 Politics
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
600 Stable API nonsense
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
601 Why reiser4 not in.
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
602 </pre>
47
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
603 </span id="community">
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
604 <span id="Submitting Patches">
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
605 </span>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
606 </span>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
607
39
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
608
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
609 <span id="Glossary">
33e0b133a517 Skeleton source file for the master index.
Rob Landley <rob@landley.net>
parents:
diff changeset
610 </span>
47
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
611 </body>
0df6348fc276 Teach indexsections to output index and contents in one pass, and put index
Rob Landley <rob@landley.net>
parents: 40
diff changeset
612 </html>