diff options
author | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2016-09-20 07:36:43 -0400 |
---|---|---|
committer | Jonathan Corbet <corbet@lwn.net> | 2016-09-20 20:54:42 -0400 |
commit | cc68fd957f9b14379277614574ce3372873bb76e (patch) | |
tree | 93ddb9e1909283f0f8b40780bcd6330473046335 | |
parent | 57b2e1c831e760d9fb1a32392e452ed6d7b83938 (diff) |
Documentation/kernel-docs.txt: reorder based on timestamp
Reorder the on-line documents based on their timestamp or
copyright notes. More updated documents come first.
While here, add the number of pages for POSIX4 document.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
-rw-r--r-- | Documentation/kernel-docs.txt | 520 |
1 files changed, 262 insertions, 258 deletions
diff --git a/Documentation/kernel-docs.txt b/Documentation/kernel-docs.txt index d8d6325382eb..05a7857a4a83 100644 --- a/Documentation/kernel-docs.txt +++ b/Documentation/kernel-docs.txt | |||
@@ -32,6 +32,11 @@ Document. | |||
32 | 32 | ||
33 | Enjoy! | 33 | Enjoy! |
34 | 34 | ||
35 | .. note:: | ||
36 | |||
37 | The documents on each section of this document are ordered by its | ||
38 | published date, from the newest to the oldest. | ||
39 | |||
35 | Docs at the Linux Kernel tree | 40 | Docs at the Linux Kernel tree |
36 | ----------------------------- | 41 | ----------------------------- |
37 | 42 | ||
@@ -82,82 +87,18 @@ The Sphinx books should be built with ``make {htmldocs | pdfdocs | epubdocs}``. | |||
82 | On-line docs | 87 | On-line docs |
83 | ------------ | 88 | ------------ |
84 | 89 | ||
85 | * Title: **Linux Device Drivers, Third Edition** | 90 | * Title: **Linux Kernel Mailing List Glossary** |
86 | |||
87 | :Author: Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman | ||
88 | :URL: http://lwn.net/Kernel/LDD3/ | ||
89 | :Date: 2005 | ||
90 | :Description: A 600-page book covering the (2.6.10) driver | ||
91 | programming API and kernel hacking in general. Available under the | ||
92 | Creative Commons Attribution-ShareAlike 2.0 license. | ||
93 | :note: You can also :ref:`purchase a copy from O'Reilly or elsewhere <ldd3_published>`. | ||
94 | |||
95 | * Title: **Overview of the Virtual File System** | ||
96 | |||
97 | :Author: Richard Gooch. | ||
98 | :URL: http://www.mjmwired.net/kernel/Documentation/filesystems/vfs.txt | ||
99 | :Date: 2007 | ||
100 | :Keywords: VFS, File System, mounting filesystems, opening files, | ||
101 | dentries, dcache. | ||
102 | :Description: Brief introduction to the Linux Virtual File System. | ||
103 | What is it, how it works, operations taken when opening a file or | ||
104 | mounting a file system and description of important data | ||
105 | structures explaining the purpose of each of their entries. | ||
106 | |||
107 | * Title: **The Linux RAID-1, 4, 5 Code** | ||
108 | |||
109 | :Author: Ingo Molnar, Gadi Oxman and Miguel de Icaza. | ||
110 | :URL: http://www.linuxjournal.com/article.php?sid=2391 | ||
111 | :Date: 1997 | ||
112 | :Keywords: RAID, MD driver. | ||
113 | :Description: Linux Journal Kernel Korner article. Here is its | ||
114 | :Abstract: *A description of the implementation of the RAID-1, | ||
115 | RAID-4 and RAID-5 personalities of the MD device driver in the | ||
116 | Linux kernel, providing users with high performance and reliable, | ||
117 | secondary-storage capability using software*. | ||
118 | |||
119 | * Title: **Dynamic Kernels: Modularized Device Drivers** | ||
120 | |||
121 | :Author: Alessandro Rubini. | ||
122 | :URL: http://www.linuxjournal.com/article.php?sid=1219 | ||
123 | :Date: 1996 | ||
124 | :Keywords: device driver, module, loading/unloading modules, | ||
125 | allocating resources. | ||
126 | :Description: Linux Journal Kernel Korner article. Here is its | ||
127 | :Abstract: *This is the first of a series of four articles | ||
128 | co-authored by Alessandro Rubini and Georg Zezchwitz which present | ||
129 | a practical approach to writing Linux device drivers as kernel | ||
130 | loadable modules. This installment presents an introduction to the | ||
131 | topic, preparing the reader to understand next month's | ||
132 | installment*. | ||
133 | |||
134 | * Title: **Dynamic Kernels: Discovery** | ||
135 | |||
136 | :Author: Alessandro Rubini. | ||
137 | :URL: http://www.linuxjournal.com/article.php?sid=1220 | ||
138 | :Date: 1996 | ||
139 | :Keywords: character driver, init_module, clean_up module, | ||
140 | autodetection, mayor number, minor number, file operations, | ||
141 | open(), close(). | ||
142 | :Description: Linux Journal Kernel Korner article. Here is its | ||
143 | :Abstract: *This article, the second of four, introduces part of | ||
144 | the actual code to create custom module implementing a character | ||
145 | device driver. It describes the code for module initialization and | ||
146 | cleanup, as well as the open() and close() system calls*. | ||
147 | |||
148 | * Title: **On submitting kernel Patches** | ||
149 | 91 | ||
150 | :Author: Andi Kleen | 92 | :Author: various |
151 | :URL: http://halobates.de/on-submitting-kernel-patches.pdf | 93 | :URL: http://kernelnewbies.org/glossary/ |
152 | :Date: 2008 | 94 | :Date: rolling version |
153 | :Keywords: patches, review process, types of submissions, basic rules, case studies | 95 | :Keywords: glossary, terms, linux-kernel. |
154 | :Description: This paper gives several experience values on what types of patches | 96 | :Description: From the introduction: "This glossary is intended as |
155 | there are and how likley they get merged. | 97 | a brief description of some of the acronyms and terms you may hear |
156 | :Abstract: | 98 | during discussion of the Linux kernel". |
157 | [...]. This paper examines some common problems for | ||
158 | submitting larger changes and some strategies to avoid problems. | ||
159 | 99 | ||
160 | * Title: **Tracing the Way of Data in a TCP Connection through the Linux Kernel** | 100 | * Title: **Tracing the Way of Data in a TCP Connection through the Linux Kernel** |
101 | |||
161 | :Author: Richard Sailer | 102 | :Author: Richard Sailer |
162 | :URL: https://archive.org/details/linux_kernel_data_flow_short_paper | 103 | :URL: https://archive.org/details/linux_kernel_data_flow_short_paper |
163 | :Date: 2016 | 104 | :Date: 2016 |
@@ -174,108 +115,60 @@ On-line docs | |||
174 | Finally this trace-log is used as base for more a exact conceptual | 115 | Finally this trace-log is used as base for more a exact conceptual |
175 | exploration and description of the Linux TCP/IP implementation.* | 116 | exploration and description of the Linux TCP/IP implementation.* |
176 | 117 | ||
177 | * Title: **The Devil's in the Details** | 118 | * Title: **On submitting kernel Patches** |
178 | |||
179 | :Author: Georg v. Zezschwitz and Alessandro Rubini. | ||
180 | :URL: http://www.linuxjournal.com/article.php?sid=1221 | ||
181 | :Date: 1996 | ||
182 | :Keywords: read(), write(), select(), ioctl(), blocking/non | ||
183 | blocking mode, interrupt handler. | ||
184 | :Description: Linux Journal Kernel Korner article. Here is its | ||
185 | :Abstract: *This article, the third of four on writing character | ||
186 | device drivers, introduces concepts of reading, writing, and using | ||
187 | ioctl-calls*. | ||
188 | |||
189 | * Title: **Dissecting Interrupts and Browsing DMA** | ||
190 | |||
191 | :Author: Alessandro Rubini and Georg v. Zezschwitz. | ||
192 | :URL: http://www.linuxjournal.com/article.php?sid=1222 | ||
193 | :Date: 1996 | ||
194 | :Keywords: interrupts, irqs, DMA, bottom halves, task queues. | ||
195 | :Description: Linux Journal Kernel Korner article. Here is its | ||
196 | :Abstract: *This is the fourth in a series of articles about | ||
197 | writing character device drivers as loadable kernel modules. This | ||
198 | month, we further investigate the field of interrupt handling. | ||
199 | Though it is conceptually simple, practical limitations and | ||
200 | constraints make this an ''interesting'' part of device driver | ||
201 | writing, and several different facilities have been provided for | ||
202 | different situations. We also investigate the complex topic of | ||
203 | DMA*. | ||
204 | |||
205 | * Title: **Device Drivers Concluded** | ||
206 | |||
207 | :Author: Georg v. Zezschwitz. | ||
208 | :URL: http://www.linuxjournal.com/article.php?sid=1287 | ||
209 | :Date: 1996 | ||
210 | :Keywords: address spaces, pages, pagination, page management, | ||
211 | demand loading, swapping, memory protection, memory mapping, mmap, | ||
212 | virtual memory areas (VMAs), vremap, PCI. | ||
213 | :Description: Finally, the above turned out into a five articles | ||
214 | series. This latest one's introduction reads: "This is the last of | ||
215 | five articles about character device drivers. In this final | ||
216 | section, Georg deals with memory mapping devices, beginning with | ||
217 | an overall description of the Linux memory management concepts". | ||
218 | |||
219 | * Title: **Network Buffers And Memory Management** | ||
220 | 119 | ||
221 | :Author: Alan Cox. | 120 | :Author: Andi Kleen |
222 | :URL: http://www.linuxjournal.com/article.php?sid=1312 | 121 | :URL: http://halobates.de/on-submitting-kernel-patches.pdf |
223 | :Date: 1996 | 122 | :Date: 2008 |
224 | :Keywords: sk_buffs, network devices, protocol/link layer | 123 | :Keywords: patches, review process, types of submissions, basic rules, case studies |
225 | variables, network devices flags, transmit, receive, | 124 | :Description: This paper gives several experience values on what types of patches |
226 | configuration, multicast. | 125 | there are and how likley they get merged. |
227 | :Description: Linux Journal Kernel Korner. | 126 | :Abstract: |
228 | :Abstract: *Writing a network device driver for Linux is fundamentally | 127 | [...]. This paper examines some common problems for |
229 | simple---most of the complexity (other than talking to the | 128 | submitting larger changes and some strategies to avoid problems. |
230 | hardware) involves managing network packets in memory*. | ||
231 | 129 | ||
232 | * Title: **Linux Kernel Hackers' Guide** | 130 | * Title: **Overview of the Virtual File System** |
233 | 131 | ||
234 | :Author: Michael K. Johnson. | 132 | :Author: Richard Gooch. |
235 | :URL: http://www.tldp.org/LDP/khg/HyperNews/get/khg.html | 133 | :URL: http://www.mjmwired.net/kernel/Documentation/filesystems/vfs.txt |
236 | :Date: 1997 | 134 | :Date: 2007 |
237 | :Keywords: device drivers, files, VFS, kernel interface, character vs | 135 | :Keywords: VFS, File System, mounting filesystems, opening files, |
238 | block devices, hardware interrupts, scsi, DMA, access to user memory, | 136 | dentries, dcache. |
239 | memory allocation, timers. | 137 | :Description: Brief introduction to the Linux Virtual File System. |
240 | :Description: A guide designed to help you get up to speed on the | 138 | What is it, how it works, operations taken when opening a file or |
241 | concepts that are not intuitevly obvious, and to document the internal | 139 | mounting a file system and description of important data |
242 | structures of Linux. | 140 | structures explaining the purpose of each of their entries. |
243 | 141 | ||
244 | * Title: **The Venus kernel interface** | 142 | * Title: **Linux Device Drivers, Third Edition** |
245 | 143 | ||
246 | :Author: Peter J. Braam. | 144 | :Author: Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman |
247 | :URL: http://www.coda.cs.cmu.edu/doc/html/kernel-venus-protocol.html | 145 | :URL: http://lwn.net/Kernel/LDD3/ |
248 | :Date: 1998 | 146 | :Date: 2005 |
249 | :Keywords: coda, filesystem, venus, cache manager. | 147 | :Description: A 600-page book covering the (2.6.10) driver |
250 | :Description: "This document describes the communication between | 148 | programming API and kernel hacking in general. Available under the |
251 | Venus and kernel level file system code needed for the operation | 149 | Creative Commons Attribution-ShareAlike 2.0 license. |
252 | of the Coda filesystem. This version document is meant to describe | 150 | :note: You can also :ref:`purchase a copy from O'Reilly or elsewhere <ldd3_published>`. |
253 | the current interface (version 1.0) as well as improvements we | ||
254 | envisage". | ||
255 | 151 | ||
256 | * Title: **Design and Implementation of the Second Extended Filesystem** | 152 | * Title: **Writing an ALSA Driver** |
257 | 153 | ||
258 | :Author: Rémy Card, Theodore Ts'o, Stephen Tweedie. | 154 | :Author: Takashi Iwai <tiwai@suse.de> |
259 | :URL: http://web.mit.edu/tytso/www/linux/ext2intro.html | 155 | :URL: http://www.alsa-project.org/~iwai/writing-an-alsa-driver/index.html |
260 | :Date: 1998 | 156 | :Date: 2005 |
261 | :Keywords: ext2, linux fs history, inode, directory, link, devices, | 157 | :Keywords: ALSA, sound, soundcard, driver, lowlevel, hardware. |
262 | VFS, physical structure, performance, benchmarks, ext2fs library, | 158 | :Description: Advanced Linux Sound Architecture for developers, |
263 | ext2fs tools, e2fsck. | 159 | both at kernel and user-level sides. ALSA is the Linux kernel |
264 | :Description: Paper written by three of the top ext2 hackers. | 160 | sound architecture in the 2.6 kernel version. |
265 | Covers Linux filesystems history, ext2 motivation, ext2 features, | ||
266 | design, physical structure on disk, performance, benchmarks, | ||
267 | e2fsck's passes description... A must read! | ||
268 | :Notes: This paper was first published in the Proceedings of the | ||
269 | First Dutch International Symposium on Linux, ISBN 90-367-0385-9. | ||
270 | 161 | ||
271 | * Title: **Analysis of the Ext2fs structure** | 162 | * Title: **Linux PCMCIA Programmer's Guide** |
272 | 163 | ||
273 | :Author: Louis-Dominique Dubeau. | 164 | :Author: David Hinds. |
274 | :URL: http://teaching.csse.uwa.edu.au/units/CITS2002/fs-ext2/ | 165 | :URL: http://pcmcia-cs.sourceforge.net/ftp/doc/PCMCIA-PROG.html |
275 | :Date: 1994 | 166 | :Date: 2003 |
276 | :Keywords: ext2, filesystem, ext2fs. | 167 | :Keywords: PCMCIA. |
277 | :Description: Description of ext2's blocks, directories, inodes, | 168 | :Description: "This document describes how to write kernel device |
278 | bitmaps, invariants... | 169 | drivers for the Linux PCMCIA Card Services interface. It also |
170 | describes how to write user-mode utilities for communicating with | ||
171 | Card Services. | ||
279 | 172 | ||
280 | * Title: **Linux Kernel Module Programming Guide** | 173 | * Title: **Linux Kernel Module Programming Guide** |
281 | 174 | ||
@@ -287,41 +180,6 @@ On-line docs | |||
287 | :Description: Very nice 92 pages GPL book on the topic of modules | 180 | :Description: Very nice 92 pages GPL book on the topic of modules |
288 | programming. Lots of examples. | 181 | programming. Lots of examples. |
289 | 182 | ||
290 | * Title: **I/O Event Handling Under Linux** | ||
291 | |||
292 | :Author: Richard Gooch. | ||
293 | :URL: http://web.mit.edu/~yandros/doc/io-events.html | ||
294 | :Date: 1999 | ||
295 | :Keywords: IO, I/O, select(2), poll(2), FDs, aio_read(2), readiness | ||
296 | event queues. | ||
297 | :Description: From the Introduction: "I/O Event handling is about | ||
298 | how your Operating System allows you to manage a large number of | ||
299 | open files (file descriptors in UNIX/POSIX, or FDs) in your | ||
300 | application. You want the OS to notify you when FDs become active | ||
301 | (have data ready to be read or are ready for writing). Ideally you | ||
302 | want a mechanism that is scalable. This means a large number of | ||
303 | inactive FDs cost very little in memory and CPU time to manage". | ||
304 | |||
305 | * Title: **Writing an ALSA Driver** | ||
306 | |||
307 | :Author: Takashi Iwai <tiwai@suse.de> | ||
308 | :URL: http://www.alsa-project.org/~iwai/writing-an-alsa-driver/index.html | ||
309 | :Date: 2005 | ||
310 | :Keywords: ALSA, sound, soundcard, driver, lowlevel, hardware. | ||
311 | :Description: Advanced Linux Sound Architecture for developers, | ||
312 | both at kernel and user-level sides. ALSA is the Linux kernel | ||
313 | sound architecture in the 2.6 kernel version. | ||
314 | |||
315 | * Title: **Linux Kernel Mailing List Glossary** | ||
316 | |||
317 | :Author: various | ||
318 | :URL: http://kernelnewbies.org/glossary/ | ||
319 | :Date: rolling version | ||
320 | :Keywords: glossary, terms, linux-kernel. | ||
321 | :Description: From the introduction: "This glossary is intended as | ||
322 | a brief description of some of the acronyms and terms you may hear | ||
323 | during discussion of the Linux kernel". | ||
324 | |||
325 | * Title: **Global spinlock list and usage** | 183 | * Title: **Global spinlock list and usage** |
326 | 184 | ||
327 | :Author: Rick Lindsley. | 185 | :Author: Rick Lindsley. |
@@ -334,6 +192,51 @@ On-line docs | |||
334 | access them, how each lock is acquired, under what conditions it | 192 | access them, how each lock is acquired, under what conditions it |
335 | is held, whether interrupts can occur or not while it is held... | 193 | is held, whether interrupts can occur or not while it is held... |
336 | 194 | ||
195 | * Title: **A Linux vm README** | ||
196 | |||
197 | :Author: Kanoj Sarcar. | ||
198 | :URL: http://kos.enix.org/pub/linux-vmm.html | ||
199 | :Date: 2001 | ||
200 | :Keywords: virtual memory, mm, pgd, vma, page, page flags, page | ||
201 | cache, swap cache, kswapd. | ||
202 | :Description: Telegraphic, short descriptions and definitions | ||
203 | relating the Linux virtual memory implementation. | ||
204 | |||
205 | * Title: **Video4linux Drivers, Part 1: Video-Capture Device** | ||
206 | |||
207 | :Author: Alan Cox. | ||
208 | :URL: http://www.linux-mag.com/id/406 | ||
209 | :Date: 2000 | ||
210 | :Keywords: video4linux, driver, video capture, capture devices, | ||
211 | camera driver. | ||
212 | :Description: The title says it all. | ||
213 | |||
214 | * Title: **Video4linux Drivers, Part 2: Video-capture Devices** | ||
215 | |||
216 | :Author: Alan Cox. | ||
217 | :URL: http://www.linux-mag.com/id/429 | ||
218 | :Date: 2000 | ||
219 | :Keywords: video4linux, driver, video capture, capture devices, | ||
220 | camera driver, control, query capabilities, capability, facility. | ||
221 | :Description: The title says it all. | ||
222 | |||
223 | * Title: **Linux IP Networking. A Guide to the Implementation and Modification of the Linux Protocol Stack.** | ||
224 | |||
225 | :Author: Glenn Herrin. | ||
226 | :URL: http://www.cs.unh.edu/cnrg/gherrin | ||
227 | :Date: 2000 | ||
228 | :Keywords: network, networking, protocol, IP, UDP, TCP, connection, | ||
229 | socket, receiving, transmitting, forwarding, routing, packets, | ||
230 | modules, /proc, sk_buff, FIB, tags. | ||
231 | :Description: Excellent paper devoted to the Linux IP Networking, | ||
232 | explaining anything from the kernel's to the user space | ||
233 | configuration tools' code. Very good to get a general overview of | ||
234 | the kernel networking implementation and understand all steps | ||
235 | packets follow from the time they are received at the network | ||
236 | device till they are delivered to applications. The studied kernel | ||
237 | code is from 2.2.14 version. Provides code for a working packet | ||
238 | dropper example. | ||
239 | |||
337 | * Title: **How To Make Sure Your Driver Will Work On The Power Macintosh** | 240 | * Title: **How To Make Sure Your Driver Will Work On The Power Macintosh** |
338 | 241 | ||
339 | :Author: Paul Mackerras. | 242 | :Author: Paul Mackerras. |
@@ -382,61 +285,20 @@ On-line docs | |||
382 | :Keywords: video4linux, driver, radio, radio devices. | 285 | :Keywords: video4linux, driver, radio, radio devices. |
383 | :Description: The title says it all. | 286 | :Description: The title says it all. |
384 | 287 | ||
385 | * Title: **Video4linux Drivers, Part 1: Video-Capture Device** | 288 | * Title: **I/O Event Handling Under Linux** |
386 | |||
387 | :Author: Alan Cox. | ||
388 | :URL: http://www.linux-mag.com/id/406 | ||
389 | :Date: 2000 | ||
390 | :Keywords: video4linux, driver, video capture, capture devices, | ||
391 | camera driver. | ||
392 | :Description: The title says it all. | ||
393 | |||
394 | * Title: **Video4linux Drivers, Part 2: Video-capture Devices** | ||
395 | |||
396 | :Author: Alan Cox. | ||
397 | :URL: http://www.linux-mag.com/id/429 | ||
398 | :Date: 2000 | ||
399 | :Keywords: video4linux, driver, video capture, capture devices, | ||
400 | camera driver, control, query capabilities, capability, facility. | ||
401 | :Description: The title says it all. | ||
402 | |||
403 | * Title: **Linux IP Networking. A Guide to the Implementation and Modification of the Linux Protocol Stack.** | ||
404 | |||
405 | :Author: Glenn Herrin. | ||
406 | :URL: http://www.cs.unh.edu/cnrg/gherrin | ||
407 | :Date: 2000 | ||
408 | :Keywords: network, networking, protocol, IP, UDP, TCP, connection, | ||
409 | socket, receiving, transmitting, forwarding, routing, packets, | ||
410 | modules, /proc, sk_buff, FIB, tags. | ||
411 | :Description: Excellent paper devoted to the Linux IP Networking, | ||
412 | explaining anything from the kernel's to the user space | ||
413 | configuration tools' code. Very good to get a general overview of | ||
414 | the kernel networking implementation and understand all steps | ||
415 | packets follow from the time they are received at the network | ||
416 | device till they are delivered to applications. The studied kernel | ||
417 | code is from 2.2.14 version. Provides code for a working packet | ||
418 | dropper example. | ||
419 | |||
420 | * Title: **Linux PCMCIA Programmer's Guide** | ||
421 | |||
422 | :Author: David Hinds. | ||
423 | :URL: http://pcmcia-cs.sourceforge.net/ftp/doc/PCMCIA-PROG.html | ||
424 | :Date: 2003 | ||
425 | :Keywords: PCMCIA. | ||
426 | :Description: "This document describes how to write kernel device | ||
427 | drivers for the Linux PCMCIA Card Services interface. It also | ||
428 | describes how to write user-mode utilities for communicating with | ||
429 | Card Services. | ||
430 | |||
431 | * Title: **A Linux vm README** | ||
432 | 289 | ||
433 | :Author: Kanoj Sarcar. | 290 | :Author: Richard Gooch. |
434 | :URL: http://kos.enix.org/pub/linux-vmm.html | 291 | :URL: http://web.mit.edu/~yandros/doc/io-events.html |
435 | :Date: 2001 | 292 | :Date: 1999 |
436 | :Keywords: virtual memory, mm, pgd, vma, page, page flags, page | 293 | :Keywords: IO, I/O, select(2), poll(2), FDs, aio_read(2), readiness |
437 | cache, swap cache, kswapd. | 294 | event queues. |
438 | :Description: Telegraphic, short descriptions and definitions | 295 | :Description: From the Introduction: "I/O Event handling is about |
439 | relating the Linux virtual memory implementation. | 296 | how your Operating System allows you to manage a large number of |
297 | open files (file descriptors in UNIX/POSIX, or FDs) in your | ||
298 | application. You want the OS to notify you when FDs become active | ||
299 | (have data ready to be read or are ready for writing). Ideally you | ||
300 | want a mechanism that is scalable. This means a large number of | ||
301 | inactive FDs cost very little in memory and CPU time to manage". | ||
440 | 302 | ||
441 | * Title: **(nearly) Complete Linux Loadable Kernel Modules. The definitive guide for hackers, virus coders and system administrators.** | 303 | * Title: **(nearly) Complete Linux Loadable Kernel Modules. The definitive guide for hackers, virus coders and system administrators.** |
442 | 304 | ||
@@ -462,7 +324,149 @@ On-line docs | |||
462 | Linux VFS layer. Covers version 2.1.x, with dentries and the | 324 | Linux VFS layer. Covers version 2.1.x, with dentries and the |
463 | dcache. | 325 | dcache. |
464 | 326 | ||
465 | .. Please keep the published books in reverse publication date | 327 | * Title: **The Venus kernel interface** |
328 | |||
329 | :Author: Peter J. Braam. | ||
330 | :URL: http://www.coda.cs.cmu.edu/doc/html/kernel-venus-protocol.html | ||
331 | :Date: 1998 | ||
332 | :Keywords: coda, filesystem, venus, cache manager. | ||
333 | :Description: "This document describes the communication between | ||
334 | Venus and kernel level file system code needed for the operation | ||
335 | of the Coda filesystem. This version document is meant to describe | ||
336 | the current interface (version 1.0) as well as improvements we | ||
337 | envisage". | ||
338 | |||
339 | * Title: **Design and Implementation of the Second Extended Filesystem** | ||
340 | |||
341 | :Author: Rémy Card, Theodore Ts'o, Stephen Tweedie. | ||
342 | :URL: http://web.mit.edu/tytso/www/linux/ext2intro.html | ||
343 | :Date: 1998 | ||
344 | :Keywords: ext2, linux fs history, inode, directory, link, devices, | ||
345 | VFS, physical structure, performance, benchmarks, ext2fs library, | ||
346 | ext2fs tools, e2fsck. | ||
347 | :Description: Paper written by three of the top ext2 hackers. | ||
348 | Covers Linux filesystems history, ext2 motivation, ext2 features, | ||
349 | design, physical structure on disk, performance, benchmarks, | ||
350 | e2fsck's passes description... A must read! | ||
351 | :Notes: This paper was first published in the Proceedings of the | ||
352 | First Dutch International Symposium on Linux, ISBN 90-367-0385-9. | ||
353 | |||
354 | * Title: **The Linux RAID-1, 4, 5 Code** | ||
355 | |||
356 | :Author: Ingo Molnar, Gadi Oxman and Miguel de Icaza. | ||
357 | :URL: http://www.linuxjournal.com/article.php?sid=2391 | ||
358 | :Date: 1997 | ||
359 | :Keywords: RAID, MD driver. | ||
360 | :Description: Linux Journal Kernel Korner article. Here is its | ||
361 | :Abstract: *A description of the implementation of the RAID-1, | ||
362 | RAID-4 and RAID-5 personalities of the MD device driver in the | ||
363 | Linux kernel, providing users with high performance and reliable, | ||
364 | secondary-storage capability using software*. | ||
365 | |||
366 | * Title: **Linux Kernel Hackers' Guide** | ||
367 | |||
368 | :Author: Michael K. Johnson. | ||
369 | :URL: http://www.tldp.org/LDP/khg/HyperNews/get/khg.html | ||
370 | :Date: 1997 | ||
371 | :Keywords: device drivers, files, VFS, kernel interface, character vs | ||
372 | block devices, hardware interrupts, scsi, DMA, access to user memory, | ||
373 | memory allocation, timers. | ||
374 | :Description: A guide designed to help you get up to speed on the | ||
375 | concepts that are not intuitevly obvious, and to document the internal | ||
376 | structures of Linux. | ||
377 | |||
378 | * Title: **Dynamic Kernels: Modularized Device Drivers** | ||
379 | |||
380 | :Author: Alessandro Rubini. | ||
381 | :URL: http://www.linuxjournal.com/article.php?sid=1219 | ||
382 | :Date: 1996 | ||
383 | :Keywords: device driver, module, loading/unloading modules, | ||
384 | allocating resources. | ||
385 | :Description: Linux Journal Kernel Korner article. Here is its | ||
386 | :Abstract: *This is the first of a series of four articles | ||
387 | co-authored by Alessandro Rubini and Georg Zezchwitz which present | ||
388 | a practical approach to writing Linux device drivers as kernel | ||
389 | loadable modules. This installment presents an introduction to the | ||
390 | topic, preparing the reader to understand next month's | ||
391 | installment*. | ||
392 | |||
393 | * Title: **Dynamic Kernels: Discovery** | ||
394 | |||
395 | :Author: Alessandro Rubini. | ||
396 | :URL: http://www.linuxjournal.com/article.php?sid=1220 | ||
397 | :Date: 1996 | ||
398 | :Keywords: character driver, init_module, clean_up module, | ||
399 | autodetection, mayor number, minor number, file operations, | ||
400 | open(), close(). | ||
401 | :Description: Linux Journal Kernel Korner article. Here is its | ||
402 | :Abstract: *This article, the second of four, introduces part of | ||
403 | the actual code to create custom module implementing a character | ||
404 | device driver. It describes the code for module initialization and | ||
405 | cleanup, as well as the open() and close() system calls*. | ||
406 | |||
407 | * Title: **The Devil's in the Details** | ||
408 | |||
409 | :Author: Georg v. Zezschwitz and Alessandro Rubini. | ||
410 | :URL: http://www.linuxjournal.com/article.php?sid=1221 | ||
411 | :Date: 1996 | ||
412 | :Keywords: read(), write(), select(), ioctl(), blocking/non | ||
413 | blocking mode, interrupt handler. | ||
414 | :Description: Linux Journal Kernel Korner article. Here is its | ||
415 | :Abstract: *This article, the third of four on writing character | ||
416 | device drivers, introduces concepts of reading, writing, and using | ||
417 | ioctl-calls*. | ||
418 | |||
419 | * Title: **Dissecting Interrupts and Browsing DMA** | ||
420 | |||
421 | :Author: Alessandro Rubini and Georg v. Zezschwitz. | ||
422 | :URL: http://www.linuxjournal.com/article.php?sid=1222 | ||
423 | :Date: 1996 | ||
424 | :Keywords: interrupts, irqs, DMA, bottom halves, task queues. | ||
425 | :Description: Linux Journal Kernel Korner article. Here is its | ||
426 | :Abstract: *This is the fourth in a series of articles about | ||
427 | writing character device drivers as loadable kernel modules. This | ||
428 | month, we further investigate the field of interrupt handling. | ||
429 | Though it is conceptually simple, practical limitations and | ||
430 | constraints make this an ''interesting'' part of device driver | ||
431 | writing, and several different facilities have been provided for | ||
432 | different situations. We also investigate the complex topic of | ||
433 | DMA*. | ||
434 | |||
435 | * Title: **Device Drivers Concluded** | ||
436 | |||
437 | :Author: Georg v. Zezschwitz. | ||
438 | :URL: http://www.linuxjournal.com/article.php?sid=1287 | ||
439 | :Date: 1996 | ||
440 | :Keywords: address spaces, pages, pagination, page management, | ||
441 | demand loading, swapping, memory protection, memory mapping, mmap, | ||
442 | virtual memory areas (VMAs), vremap, PCI. | ||
443 | :Description: Finally, the above turned out into a five articles | ||
444 | series. This latest one's introduction reads: "This is the last of | ||
445 | five articles about character device drivers. In this final | ||
446 | section, Georg deals with memory mapping devices, beginning with | ||
447 | an overall description of the Linux memory management concepts". | ||
448 | |||
449 | * Title: **Network Buffers And Memory Management** | ||
450 | |||
451 | :Author: Alan Cox. | ||
452 | :URL: http://www.linuxjournal.com/article.php?sid=1312 | ||
453 | :Date: 1996 | ||
454 | :Keywords: sk_buffs, network devices, protocol/link layer | ||
455 | variables, network devices flags, transmit, receive, | ||
456 | configuration, multicast. | ||
457 | :Description: Linux Journal Kernel Korner. | ||
458 | :Abstract: *Writing a network device driver for Linux is fundamentally | ||
459 | simple---most of the complexity (other than talking to the | ||
460 | hardware) involves managing network packets in memory*. | ||
461 | |||
462 | * Title: **Analysis of the Ext2fs structure** | ||
463 | |||
464 | :Author: Louis-Dominique Dubeau. | ||
465 | :URL: http://teaching.csse.uwa.edu.au/units/CITS2002/fs-ext2/ | ||
466 | :Date: 1994 | ||
467 | :Keywords: ext2, filesystem, ext2fs. | ||
468 | :Description: Description of ext2's blocks, directories, inodes, | ||
469 | bitmaps, invariants... | ||
466 | 470 | ||
467 | Published books | 471 | Published books |
468 | --------------- | 472 | --------------- |
@@ -559,7 +563,7 @@ Published books | |||
559 | :Author: Bill O. Gallmeister | 563 | :Author: Bill O. Gallmeister |
560 | :Publisher: O'Reilly & Associates, Inc | 564 | :Publisher: O'Reilly & Associates, Inc |
561 | :Date: 1995 | 565 | :Date: 1995 |
562 | :Pages: ??? | 566 | :Pages: 552 |
563 | :ISBN: I-56592-074-0 | 567 | :ISBN: I-56592-074-0 |
564 | :Notes: Though not being directly about Linux, Linux aims to be | 568 | :Notes: Though not being directly about Linux, Linux aims to be |
565 | POSIX. Good reference. | 569 | POSIX. Good reference. |
@@ -642,7 +646,7 @@ Miscellaneous | |||
642 | 646 | ||
643 | ------- | 647 | ------- |
644 | 648 | ||
645 | Document last updated on Mon 2016-Sep-19 | 649 | Document last updated on Tue 2016-Sep-20 |
646 | 650 | ||
647 | This document is based on: | 651 | This document is based on: |
648 | http://www.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html | 652 | http://www.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html |