OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [Documentation/] [kernel-docs.txt] - Blame information for rev 1275

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
 
2
       Index of Documentation for People Interested in Writing and/or
3
 
4
                      Understanding the Linux Kernel.
5
 
6
               Juan-Mariano de Goyeneche 
7
 
8
/*
9
 * The latest version of this document may be found at:
10
 *   http://www.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html
11
 */
12
 
13
   The need for a document like this one became apparent in the
14
   linux-kernel mailing list as the same questions, asking for pointers
15
   to information, appeared again and again.
16
 
17
   Fortunately, as more and more people get to GNU/Linux, more and more
18
   get interested in the Kernel. But reading the sources is not always
19
   enough. It is easy to understand the code, but miss the concepts, the
20
   philosophy and design decisions behind this code.
21
 
22
   Unfortunately, not many documents are available for beginners to
23
   start. And, even if they exist, there was no "well-known" place which
24
   kept track of them. These lines try to cover this lack. All documents
25
   available on line known by the author are listed, while some reference
26
   books are also mentioned.
27
 
28
   PLEASE, if you know any paper not listed here or write a new document,
29
   send me an e-mail, and I'll include a reference to it here. Any
30
   corrections, ideas or comments are also welcomed.
31
 
32
   The papers that follow are listed in no particular order. All are
33
   cataloged with the following fields: the document's "Title", the
34
   "Author"/s, the "URL" where they can be found, some "Keywords" helpful
35
   when searching for specific topics, and a brief "Description" of the
36
   Document.
37
 
38
   Enjoy!
39
 
40
     ON-LINE DOCS:
41
 
42
     * Title: "The Linux Kernel"
43
       Author: David A. Rusling.
44
       URL: http://www.tldp.org/LDP/tlk/tlk.html
45
       Keywords: everything!, book.
46
       Description: On line, 200 pages book describing most aspects of
47
       the Linux Kernel. Probably, the first reference for beginners.
48
       Lots of illustrations explaining data structures use and
49
       relationships in the purest Richard W. Stevens' style. Contents:
50
       "1.-Hardware Basics, 2.-Software Basics, 3.-Memory Management,
51
       4.-Processes, 5.-Interprocess Communication Mechanisms, 6.-PCI,
52
       7.-Interrupts and Interrupt Handling, 8.-Device Drivers, 9.-The
53
       File system, 10.-Networks, 11.-Kernel Mechanisms, 12.-Modules,
54
       13.-The Linux Kernel Sources, A.-Linux Data Structures, B.-The
55
       Alpha AXP Processor, C.-Useful Web and FTP Sites, D.-The GNU
56
       General Public License, Glossary". In short: a must have.
57
 
58
     * Title: "The Linux Kernel Hackers' Guide"
59
       Author: Michael K.Johnson and others.
60
       URL: http://www.tldp.org/LDP/khg/HyperNews/get/khg.html
61
       Keywords: everything!
62
       Description: No more Postscript book-like version. Only HTML now.
63
       Many people have contributed. The interface is similar to web
64
       available mailing lists archives. You can find some articles and
65
       then some mails asking questions about them and/or complementing
66
       previous contributions. A little bit anarchic in this aspect, but
67
       with some valuable information in some cases.
68
 
69
     * Title: "Conceptual Architecture of the Linux Kernel"
70
       Author: Ivan T. Bowman.
71
       URL: http://plg.uwaterloo.ca/~itbowman/papers/CS746G-a1.html
72
       Keywords: conceptual software arquitecture, extracted design,
73
       reverse engineering, system structure.
74
       Description: Conceptual software arquitecture of the Linux kernel,
75
       automatically extracted from the source code. Very detailed. Good
76
       figures. Gives good overall kernel understanding.
77
 
78
     * Title: "Concrete Architecture of the Linux Kernel"
79
       Author: Ivan T. Bowman, Saheem Siddiqi, and Meyer C. Tanuan.
80
       URL: http://plg.uwaterloo.ca/~itbowman/papers/CS746G-a2.html
81
       Keywords: concrete arquitecture, extracted design, reverse
82
       engineering, system structure, dependencies.
83
       Description: Concrete arquitecture of the Linux kernel,
84
       automatically extracted from the source code. Very detailed. Good
85
       figures. Gives good overall kernel understanding. This papers
86
       focus on lower details than its predecessor (files, variables...).
87
 
88
     * Title: "Linux as a Case Study: Its Extracted Software
89
       Architecture"
90
       Author: Ivan T. Bowman, Richard C. Holt and Neil V. Brewster.
91
       URL: http://plg.uwaterloo.ca/~itbowman/papers/linuxcase.html
92
       Keywords: software architecture, architecture recovery,
93
       redocumentation.
94
       Description: Paper appeared at ICSE'99, Los Angeles, May 16-22,
95
       1999. A mixture of the previous two documents from the same
96
       author.
97
 
98
     * Title: "Overview of the Virtual File System"
99
       Author: Richard Gooch.
100
       URL: http://www.atnf.csiro.au/~rgooch/linux/vfs.txt
101
       Keywords: VFS, File System, mounting filesystems, opening files,
102
       dentries, dcache.
103
       Description: Brief introduction to the Linux Virtual File System.
104
       What is it, how it works, operations taken when opening a file or
105
       mounting a file system and description of important data
106
       structures explaining the purpose of each of their entries.
107
 
108
     * Title: "The Linux RAID-1, 4, 5 Code"
109
       Author: Ingo Molnar, Gadi Oxman and Miguel de Icaza.
110
       URL: http://www2.linuxjournal.com/lj-issues/issue44/2391.html
111
       Keywords: RAID, MD driver.
112
       Description: Linux Journal Kernel Korner article. Here is it's
113
       abstract: "A description of the implementation of the RAID-1,
114
       RAID-4 and RAID-5 personalities of the MD device driver in the
115
       Linux kernel, providing users with high performance and reliable,
116
       secondary-storage capability using software".
117
 
118
     * Title: "Dynamic Kernels: Modularized Device Drivers"
119
       Author: Alessandro Rubini.
120
       URL: http://www2.linuxjournal.com/lj-issues/issue23/1219.html
121
       Keywords: device driver, module, loading/unloading modules,
122
       allocating resources.
123
       Description: Linux Journal Kernel Korner article. Here is it's
124
       abstract: "This is the first of a series of four articles
125
       co-authored by Alessandro Rubini and Georg Zezchwitz which present
126
       a practical approach to writing Linux device drivers as kernel
127
       loadable modules. This installment presents an introduction to the
128
       topic, preparing the reader to understand next month's
129
       installment".
130
 
131
     * Title: "Dynamic Kernels: Discovery"
132
       Author: Alessandro Rubini.
133
       URL: http://www2.linuxjournal.com/lj-issues/issue24/1220.html
134
       Keywords: character driver, init_module, clean_up module,
135
       autodetection, mayor number, minor number, file operations,
136
       open(), close().
137
       Description: Linux Journal Kernel Korner article. Here is it's
138
       abstract: "This article, the second of four, introduces part of
139
       the actual code to create custom module implementing a character
140
       device driver. It describes the code for module initialization and
141
       cleanup, as well as the open() and close() system calls".
142
 
143
     * Title: "The Devil's in the Details"
144
       Author: Georg v. Zezschwitz and Alessandro Rubini.
145
       URL: http://www2.linuxjournal.com/lj-issues/issue25/1221.html
146
       Keywords: read(), write(), select(), ioctl(), blocking/non
147
       blocking mode, interrupt handler.
148
       Description: Linux Journal Kernel Korner article. Here is it's
149
       abstract: "This article, the third of four on writing character
150
       device drivers, introduces concepts of reading, writing, and using
151
       ioctl-calls".
152
 
153
     * Title: "Dissecting Interrupts and Browsing DMA"
154
       Author: Alessandro Rubini and Georg v. Zezschwitz.
155
       URL: http://www2.linuxjournal.com/lj-issues/issue26/1222.html
156
       Keywords: interrupts, irqs, DMA, bottom halves, task queues.
157
       Description: Linux Journal Kernel Korner article. Here is it's
158
       abstract: "This is the fourth in a series of articles about
159
       writing character device drivers as loadable kernel modules. This
160
       month, we further investigate the field of interrupt handling.
161
       Though it is conceptually simple, practical limitations and
162
       constraints make this an ``interesting'' part of device driver
163
       writing, and several different facilities have been provided for
164
       different situations. We also investigate the complex topic of
165
       DMA".
166
 
167
     * Title: "Device Drivers Concluded"
168
       Author: Georg v. Zezschwitz.
169
       URL: http://www2.linuxjournal.com/lj-issues/issue28/1287.html
170
       Keywords: address spaces, pages, pagination, page management,
171
       demand loading, swapping, memory protection, memory mapping, mmap,
172
       virtual memory areas (VMAs), vremap, PCI.
173
       Description: Finally, the above turned out into a five articles
174
       series. This latest one's introduction reads: "This is the last of
175
       five articles about character device drivers. In this final
176
       section, Georg deals with memory mapping devices, beginning with
177
       an overall description of the Linux memory management concepts".
178
 
179
     * Title: "Network Buffers And Memory Management"
180
       Author: Alan Cox.
181
       URL: http://www2.linuxjournal.com/lj-issues/issue30/1312.html
182
       Keywords: sk_buffs, network devices, protocol/link layer
183
       variables, network devices flags, transmit, receive,
184
       configuration, multicast.
185
       Description: Linux Journal Kernel Korner. Here is the abstract:
186
       "Writing a network device driver for Linux is fundamentally
187
       simple---most of the complexity (other than talking to the
188
       hardware) involves managing network packets in memory".
189
 
190
     * Title: "Writing Linux Device Drivers"
191
       Author: Michael K. Johnson.
192
       URL: http://people.redhat.com/johnsonm/devices.html
193
       Keywords: files, VFS, file operations, kernel interface, character
194
       vs block devices, I/O access, hardware interrupts, DMA, access to
195
       user memory, memory allocation, timers.
196
       Description: Introductory 50-minutes (sic) tutorial on writing
197
       device drivers. 12 pages written by the same author of the "Kernel
198
       Hackers' Guide" which give a very good overview of the topic.
199
 
200
     * Title: "The Venus kernel interface"
201
       Author: Peter J. Braam.
202
       URL:
203
       http://www.coda.cs.cmu.edu/doc/html/kernel-venus-protocol.html
204
       Keywords: coda, filesystem, venus, cache manager.
205
       Description: "This document describes the communication between
206
       Venus and kernel level file system code needed for the operation
207
       of the Coda filesystem. This version document is meant to describe
208
       the current interface (version 1.0) as well as improvements we
209
       envisage".
210
 
211
     * Title: "Programming PCI-Devices under Linux"
212
       Author: Claus Schroeter.
213
       URL:
214
       ftp://ftp.llp.fu-berlin.de/pub/linux/LINUX-LAB/whitepapers/pcip.ps
215
       .gz
216
       Keywords: PCI, device, busmastering.
217
       Description: 6 pages tutorial on PCI programming under Linux.
218
       Gives the basic concepts on the architecture of the PCI subsystem,
219
       as long as basic functions and macros to read/write the devices
220
       and perform busmastering.
221
 
222
     * Title: "Writing Character Device Driver for Linux"
223
       Author: R. Baruch and C. Schroeter.
224
       URL:
225
       ftp://ftp.llp.fu-berlin.de/pub/linux/LINUX-LAB/whitepapers/drivers
226
       .ps.gz
227
       Keywords: character device drivers, I/O, signals, DMA, accessing
228
       ports in user space, kernel environment.
229
       Description: 68 pages paper on writing character drivers. A little
230
       bit old (1.993, 1.994) although still useful.
231
 
232
     * Title: "Design and Implementation of the Second Extended
233
       Filesystem"
234
       Author: Rémy Card, Theodore Ts'o, Stephen Tweedie.
235
       URL: http://web.mit.edu/tytso/www/linux/ext2intro.html
236
       Keywords: ext2, linux fs history, inode, directory, link, devices,
237
       VFS, physical structure, performance, benchmarks, ext2fs library,
238
       ext2fs tools, e2fsck.
239
       Description: Paper written by three of the top ext2 hackers.
240
       Covers Linux filesystems history, ext2 motivation, ext2 features,
241
       design, physical structure on disk, performance, benchmarks,
242
       e2fsck's passes description... A must read!
243
       Notes: This paper was first published in the Proceedings of the
244
       First Dutch International Symposium on Linux, ISBN 90-367-0385-9.
245
 
246
     * Title: "Analysis of the Ext2fs structure"
247
       Author: Louis-Dominique Dubeau.
248
       URL: http://step.polymtl.ca/~ldd/ext2fs/ext2fs_toc.html
249
       Keywords: ext2, filesystem, ext2fs.
250
       Description: Description of ext2's blocks, directories, inodes,
251
       bitmaps, invariants...
252
 
253
     * Title: "Journaling the Linux ext2fs Filesystem"
254
       Author: Stephen C. Tweedie.
255
       URL:
256
       ftp://ftp.uk.linux.org/pub/linux/sct/fs/jfs/journal-design.ps.gz
257
       Keywords: ext3, journaling.
258
       Description: Excellent 8-pages paper explaining the journaling
259
       capabilities added to ext2 by the author, showing different
260
       problems faced and the alternatives chosen.
261
 
262
     * Title: "Kernel API changes from 2.0 to 2.2"
263
       Author: Richard Gooch.
264
       URL:
265
       http://www.atnf.csiro.au/~rgooch/linux/docs/porting-to-2.2.html
266
       Keywords: 2.2, changes.
267
       Description: Kernel functions/structures/variables which changed
268
       from 2.0.x to 2.2.x.
269
 
270
     * Title: "Kernel API changes from 2.2 to 2.4"
271
       Author: Richard Gooch.
272
       URL:
273
       http://www.atnf.csiro.au/~rgooch/linux/docs/porting-to-2.4.html
274
       Keywords: 2.4, changes.
275
       Description: Kernel functions/structures/variables which changed
276
       from 2.2.x to 2.4.x.
277
 
278
     * Title: "Linux Kernel Module Programming Guide"
279
       Author: Ori Pomerantz.
280
       URL: http://www.tldp.org/LDP/lkmpg/mpg.html
281
       Keywords: modules, GPL book, /proc, ioctls, system calls,
282
       interrupt handlers .
283
       Description: Very nice 92 pages GPL book on the topic of modules
284
       programming. Lots of examples.
285
 
286
     * Title: "Device File System (devfs) Overview"
287
       Author: Richard Gooch.
288
       URL: http://www.atnf.csiro.au/~rgooch/linux/docs/devfs.txt
289
       Keywords: filesystem, /dev, devfs, dynamic devices, major/minor
290
       allocation, device management.
291
       Description: Document describing Richard Gooch's controversial
292
       devfs, which allows for dynamic devices, only shows present
293
       devices in /dev, gets rid of major/minor numbers allocation
294
       problems, and allows for hundreds of identical devices (which some
295
       USB systems might demand soon).
296
 
297
     * Title: "I/O Event Handling Under Linux"
298
       Author: Richard Gooch.
299
       URL: http://www.atnf.csiro.au/~rgooch/linux/docs/io-events.html
300
       Keywords: IO, I/O, select(2), poll(2), FDs, aio_read(2), readiness
301
       event queues.
302
       Description: From the Introduction: "I/O Event handling is about
303
       how your Operating System allows you to manage a large number of
304
       open files (file descriptors in UNIX/POSIX, or FDs) in your
305
       application. You want the OS to notify you when FDs become active
306
       (have data ready to be read or are ready for writing). Ideally you
307
       want a mechanism that is scalable. This means a large number of
308
       inactive FDs cost very little in memory and CPU time to manage".
309
 
310
     * Title: "The Kernel Hacking HOWTO"
311
       Author: Various Talented People, and Rusty.
312
       URL:
313
       http://www.lisoleg.net/doc/Kernel-Hacking-HOWTO/kernel-hacking-HOW
314
       TO.html
315
       Keywords: HOWTO, kernel contexts, deadlock, locking, modules,
316
       symbols, return conventions.
317
       Description: From the Introduction: "Please understand that I
318
       never wanted to write this document, being grossly underqualified,
319
       but I always wanted to read it, and this was the only way. I
320
       simply explain some best practices, and give reading entry-points
321
       into the kernel sources. I avoid implementation details: that's
322
       what the code is for, and I ignore whole tracts of useful
323
       routines. This document assumes familiarity with C, and an
324
       understanding of what the kernel is, and how it is used. It was
325
       originally written for the 2.3 kernels, but nearly all of it
326
       applies to 2.2 too; 2.0 is slightly different".
327
 
328
     * Title: "ALSA 0.5.0 Developer documentation"
329
       Author: Stephan 'Jumpy' Bartels .
330
       URL: http://www.math.TU-Berlin.de/~sbartels/alsa/
331
       Keywords: ALSA, sound, soundcard, driver, lowlevel, hardware.
332
       Description: Advanced Linux Sound Architecture for developers,
333
       both at kernel and user-level sides. Work in progress. ALSA is
334
       supposed to be Linux's next generation sound architecture.
335
 
336
     * Title: "Programming Guide for Linux USB Device Drivers"
337
       Author: Detlef Fliegl.
338
       URL: http://usb.in.tum.de/usbdoc/
339
       Keywords: USB, universal serial bus.
340
       Description: A must-read. From the Preface: "This document should
341
       give detailed information about the current state of the USB
342
       subsystem and its API for USB device drivers. The first section
343
       will deal with the basics of USB devices. You will learn about
344
       different types of devices and their properties. Going into detail
345
       you will see how USB devices communicate on the bus. The second
346
       section gives an overview of the Linux USB subsystem [2] and the
347
       device driver framework. Then the API and its data structures will
348
       be explained step by step. The last section of this document
349
       contains a reference of all API calls and their return codes".
350
       Notes: Beware: the main page states: "This document may not be
351
       published, printed or used in excerpts without explicit permission
352
       of the author". Fortunately, it may still be read...
353
 
354
     * Title: "Tour Of the Linux Kernel Source"
355
       Author: Vijo Cherian.
356
       URL: http://www.geocities.com/vijoc/tolks/tolks.html
357
       Keywords: .
358
       Description: A classic of this page! Was lost for a while and is
359
       back again. Thanks Vijo! TOLKS: the name says it all. A tour of
360
       the sources, describing directories, files, variables, data
361
       structures... It covers general stuff, device drivers,
362
       filesystems, IPC and Networking Code.
363
 
364
     * Title: "Linux Kernel Mailing List Glossary"
365
       Author: John Levon.
366
       URL: http://www.movement.uklinux.net/glossary.html
367
       Keywords: glossary, terms, linux-kernel.
368
       Description: From the introduction: "This glossary is intended as
369
       a brief description of some of the acronyms and terms you may hear
370
       during discussion of the Linux kernel".
371
 
372
     * Title: "Linux Kernel Locking HOWTO"
373
       Author: Various Talented People, and Rusty.
374
       URL:
375
       http://netfilter.kernelnotes.org/unreliable-guides/kernel-locking-
376
       HOWTO.html
377
       Keywords: locks, locking, spinlock, semaphore, atomic, race
378
       condition, bottom halves, tasklets, softirqs.
379
       Description: The title says it all: document describing the
380
       locking system in the Linux Kernel either in uniprocessor or SMP
381
       systems.
382
       Notes: "It was originally written for the later (>2.3.47) 2.3
383
       kernels, but most of it applies to 2.2 too; 2.0 is slightly
384
       different". Freely redistributable under the conditions of the GNU
385
       General Public License.
386
 
387
     * Title: "Porting Linux 2.0 Drivers To Linux 2.2: Changes and New
388
       Features "
389
       Author: Alan Cox.
390
       URL: http://www.linux-mag.com/1999-05/gear_01.html
391
       Keywords: ports, porting.
392
       Description: Article from Linux Magazine on porting from 2.0 to
393
       2.2 kernels.
394
 
395
     * Title: "Porting Device Drivers To Linux 2.2: part II"
396
       Author: Alan Cox.
397
       URL: http://www.linux-mag.com/1999-06/gear_01.html
398
       Keywords: ports, porting.
399
       Description: Second part on porting from 2.0 to 2.2 kernels.
400
 
401
     * Title: "How To Make Sure Your Driver Will Work On The Power
402
       Macintosh"
403
       Author: Paul Mackerras.
404
       URL: http://www.linux-mag.com/1999-07/gear_01.html
405
       Keywords: Mac, Power Macintosh, porting, drivers, compatibility.
406
       Description: The title says it all.
407
 
408
     * Title: "An Introduction to SCSI Drivers"
409
       Author: Alan Cox.
410
       URL: http://www.linux-mag.com/1999-08/gear_01.html
411
       Keywords: SCSI, device, driver.
412
       Description: The title says it all.
413
 
414
     * Title: "Advanced SCSI Drivers And Other Tales"
415
       Author: Alan Cox.
416
       URL: http://www.linux-mag.com/1999-09/gear_01.html
417
       Keywords: SCSI, device, driver, advanced.
418
       Description: The title says it all.
419
 
420
     * Title: "Writing Linux Mouse Drivers"
421
       Author: Alan Cox.
422
       URL: http://www.linux-mag.com/1999-10/gear_01.html
423
       Keywords: mouse, driver, gpm.
424
       Description: The title says it all.
425
 
426
     * Title: "More on Mouse Drivers"
427
       Author: Alan Cox.
428
       URL: http://www.linux-mag.com/1999-11/gear_01.html
429
       Keywords: mouse, driver, gpm, races, asynchronous I/O.
430
       Description: The title still says it all.
431
 
432
     * Title: "Writing Video4linux Radio Driver"
433
       Author: Alan Cox.
434
       URL: http://www.linux-mag.com/1999-12/gear_01.html
435
       Keywords: video4linux, driver, radio, radio devices.
436
       Description: The title says it all.
437
 
438
     * Title: "Video4linux Drivers, Part 1: Video-Capture Device"
439
       Author: Alan Cox.
440
       URL: http://www.linux-mag.com/2000-01/gear_01.html
441
       Keywords: video4linux, driver, video capture, capture devices,
442
       camera driver.
443
       Description: The title says it all.
444
 
445
     * Title: "Video4linux Drivers, Part 2: Video-capture Devices"
446
       Author: Alan Cox.
447
       URL: http://www.linux-mag.com/2000-02/gear_01.html
448
       Keywords: video4linux, driver, video capture, capture devices,
449
       camera driver, control, query capabilities, capability, facility.
450
       Description: The title says it all.
451
 
452
     * Title: "PCI Management in Linux 2.2"
453
       Author: Alan Cox.
454
       URL: http://www.linux-mag.com/2000-03/gear_01.html
455
       Keywords: PCI, bus, bus-mastering.
456
       Description: The title says it all.
457
 
458
     * Title: "Linux 2.4 Kernel Internals"
459
       Author: Tigran Aivazian and Christoph Hellwig.
460
       URL: http://www.moses.uklinux.net/patches/lki.html
461
       Keywords: Linux, kernel, booting, SMB boot, VFS, page cache.
462
       Description: A little book used for a short training course.
463
       Covers building the kernel image, booting (including SMP bootup),
464
       process management, VFS and more.
465
 
466
     * Title: "Linux IP Networking. A Guide to the Implementation and
467
       Modification of the Linux Protocol Stack."
468
       Author: Glenn Herrin.
469
       URL:
470
       http://kernelnewbies.org/documents/ipnetworking/linuxipnetworking.
471
       html
472
       Keywords: network, networking, protocol, IP, UDP, TCP, connection,
473
       socket, receiving, transmitting, forwarding, routing, packets,
474
       modules, /proc, sk_buff, FIB, tags.
475
       Description: Excellent paper devoted to the Linux IP Networking,
476
       explaining anything from the kernel's to the user space
477
       configuration tools' code. Very good to get a general overview of
478
       the kernel networking implementation and understand all steps
479
       packets follow from the time they are received at the network
480
       device till they are delivered to applications. The studied kernel
481
       code is from 2.2.14 version. Provides code for a working packet
482
       dropper example.
483
 
484
     * Title: "Get those boards talking under Linux."
485
       Author: Alex Ivchenko.
486
       URL: http://www.ednmag.com/ednmag/reg/2000/06222000/13df2.htm
487
       Keywords: data-acquisition boards, drivers, modules, interrupts,
488
       memory allocation.
489
       Description: Article written for people wishing to make their data
490
       acquisition boards work on their GNU/Linux machines. Gives a basic
491
       overview on writting drivers, from the naming of functions to
492
       interrupt handling.
493
       Notes: Two-parts article. Part II is at
494
       http://www.ednmag.com/ednmag/reg/2000/07062000/14df.htm
495
 
496
     * Title: "Linux PCMCIA Programmer's Guide"
497
       Author: David Hinds.
498
       URL: http://pcmcia-cs.sourceforge.net/ftp/doc/PCMCIA-PROG.html
499
       Keywords: PCMCIA.
500
       Description: "This document describes how to write kernel device
501
       drivers for the Linux PCMCIA Card Services interface. It also
502
       describes how to write user-mode utilities for communicating with
503
       Card Services.
504
 
505
     * Title: "The Linux Kernel NFSD Implementation"
506
       Author: Neil Brown.
507
       URL:
508
       http://www.cse.unsw.edu.au/~neilb/oss/linux-commentary/nfsd.html
509
       Keywords: knfsd, nfsd, NFS, RPC, lockd, mountd, statd.
510
       Description: The title says it all.
511
       Notes: Covers knfsd's version 1.4.7 (patch against 2.2.7 kernel).
512
 
513
     * Title: "A Linux vm README"
514
       Author: Kanoj Sarcar.
515
       URL: http://reality.sgi.com/kanoj_engr/vm229.html
516
       Keywords: virtual memory, mm, pgd, vma, page, page flags, page
517
       cache, swap cache, kswapd.
518
       Description: Telegraphic, short descriptions and definitions
519
       relating the Linux virtual memory implementation.
520
 
521
     * Title: "(nearly) Complete Linux Loadable Kernel Modules. The
522
       definitive guide for hackers, virus coders and system
523
       administrators."
524
       Author: pragmatic/THC.
525
       URL: http://packetstorm.securify.com/groups/thc/LKM_HACKING.html
526
       Keywords: syscalls, intercept, hide, abuse, symbol table.
527
       Description: Interesting paper on how to abuse the Linux kernel in
528
       order to intercept and modify syscalls, make
529
       files/directories/processes invisible, become root, hijack ttys,
530
       write kernel modules based virus... and solutions for admins to
531
       avoid all those abuses.
532
       Notes: For 2.0.x kernels. Gives guidances to port it to 2.2.x
533
       kernels. Also available in txt format at
534
       http://www.blacknemesis.org/hacking/txt/cllkm.txt
535
 
536
     BOOKS: (Not on-line)
537
 
538
     * Title: "Linux Device Drivers"
539
       Author: Alessandro Rubini.
540
       Publisher: O'Reilly & Associates.
541
       Date: 1998.
542
       Pages: 439.
543
       ISBN: 1-56592-292-1
544
 
545
     * Title: "Linux Device Drivers, 2nd Edition"
546
       Author: Alessandro Rubini and Jonathan Corbet.
547
       Publisher: O'Reilly & Associates.
548
       Date: 2001.
549
       Pages: 586.
550
       ISBN: 0-59600-008-1
551
       Notes: Further information in
552
       http://www.oreilly.com/catalog/linuxdrive2/
553
 
554
     * Title: "Linux Kernel Internals"
555
       Author: Michael Beck.
556
       Publisher: Addison-Wesley.
557
       Date: 1997.
558
       ISBN: 0-201-33143-8 (second edition)
559
 
560
     * Title: "The Design of the UNIX Operating System"
561
       Author: Maurice J. Bach.
562
       Publisher: Prentice Hall.
563
       Date: 1986.
564
       Pages: 471.
565
       ISBN: 0-13-201757-1
566
 
567
     * Title: "The Design and Implementation of the 4.3 BSD UNIX
568
       Operating System"
569
       Author: Samuel J. Leffler, Marshall Kirk McKusick, Michael J.
570
       Karels, John S. Quarterman.
571
       Publisher: Addison-Wesley.
572
       Date: 1989 (reprinted with corrections on October, 1990).
573
       ISBN: 0-201-06196-1
574
 
575
     * Title: "The Design and Implementation of the 4.4 BSD UNIX
576
       Operating System"
577
       Author: Marshall Kirk McKusick, Keith Bostic, Michael J. Karels,
578
       John S. Quarterman.
579
       Publisher: Addison-Wesley.
580
       Date: 1996.
581
       ISBN: 0-201-54979-4
582
 
583
     * Title: "Programmation Linux 2.0 API systeme et fonctionnement du
584
       noyau"
585
       Author: Remy Card, Eric Dumas, Franck Mevel.
586
       Publisher: Eyrolles.
587
       Date: 1997.
588
       Pages: 520.
589
       ISBN: 2-212-08932-5
590
       Notes: French.
591
 
592
     * Title: "The Linux Kernel Book"
593
       Author: Remy Card, Eric Dumas, Franck Mevel.
594
       Publisher: John Wiley & Sons.
595
       Date: 1998.
596
       ISBN: 0-471-98141-9
597
       Notes: English translation.
598
 
599
     * Title: "Linux 2.0"
600
       Author: Remy Card, Eric Dumas, Franck Mevel.
601
       Publisher: Gestión 2000.
602
       Date: 1997.
603
       Pages: 501.
604
       ISBN: 8-480-88208-5
605
       Notes: Spanish translation.
606
 
607
     * Title: "Unix internals -- the new frontiers"
608
       Author: Uresh Vahalia.
609
       Publisher: Prentice Hall.
610
       Date: 1996.
611
       Pages: 600.
612
       ISBN: 0-13-101908-2
613
 
614
     * Title: "Linux Core Kernel Commentary. Guide to Insider's Knowledge
615
       on the Core Kernel of the Linux Code"
616
       Author: Scott Maxwell.
617
       Publisher: Coriolis.
618
       Date: 1999.
619
       Pages: 592.
620
       ISBN: 1-57610-469-9
621
       Notes: CD-ROM included. Line by line commentary of the kernel
622
       code.
623
 
624
     * Title: "Linux IP Stacks Commentary"
625
       Author: Stephen Satchell and HBJ Clifford.
626
       Publisher: Coriolis.
627
       Date: 2000.
628
       Pages: ???.
629
       ISBN: 1-57610-470-2
630
       Notes: Line by line source code commentary book.
631
 
632
     * Title: "Programming for the real world - POSIX.4"
633
       Author: Bill O. Gallmeister.
634
       Publisher: O'Reilly & Associates, Inc..
635
       Date: 1995.
636
       Pages: ???.
637
       ISBN: I-56592-074-0
638
       Notes: Though not being directly about Linux, Linux aims to be
639
       POSIX. Good reference.
640
 
641
     * Title: "Understanding the Linux Kernel"
642
       Author: Daniel P. Bovet and Marco Cesati.
643
       Publisher: O'Reilly & Associates, Inc..
644
       Date: 2000.
645
       Pages: 702.
646
       ISBN: 0-596-00002-2
647
       Notes: Further information in
648
       http://www.oreilly.com/catalog/linuxkernel/
649
 
650
     MISCELLANEOUS:
651
 
652
     * Name: linux/Documentation
653
       Author: Many.
654
       URL: Just look inside your kernel sources.
655
       Keywords: anything, DocBook.
656
       Description: Documentation that comes with the kernel sources,
657
       inside the Documentation directory. Some pages from this document
658
       (including this document itself) have been moved there, and might
659
       be more up to date than the web version.
660
 
661
     * Name: "Linux Source Driver"
662
       URL: http://lsd.linux.cz
663
       Keywords: Browsing source code.
664
       Description: "Linux Source Driver (LSD) is an application, which
665
       can make browsing source codes of Linux kernel easier than you can
666
       imagine. You can select between multiple versions of kernel (e.g.
667
       0.01, 1.0.0, 2.0.33, 2.0.34pre13, 2.0.0, 2.1.101 etc.). With LSD
668
       you can search Linux kernel (fulltext, macros, types, functions
669
       and variables) and LSD can generate patches for you on the fly
670
       (files, directories or kernel)".
671
 
672
     * Name: "Linux Kernel Source Reference"
673
       Author: Thomas Graichen.
674
       URL: http://innominate.org/~graichen/projects/lksr/
675
       Keywords: CVS, web, cvsweb, browsing source code.
676
       Description: Web interface to a CVS server with the kernel
677
       sources. "Here you can have a look at any file of the Linux kernel
678
       sources of any version starting from 1.0 up to the (daily updated)
679
       current version available. Also you can check the differences
680
       between two versions of a file".
681
 
682
     * Name: "Cross-Referencing Linux"
683
       URL: http://lxr.linux.no/source/
684
       Keywords: Browsing source code.
685
       Description: Another web-based Linux kernel source code browser.
686
       Lots of cross references to variables and functions. You can see
687
       where they are defined and where they are used.
688
 
689
     * Name: "Linux Weekly News"
690
       URL: http://lwn.net
691
       Keywords: latest kernel news.
692
       Description: The title says it all. There's a fixed kernel section
693
       summarizing developers' work, bug fixes, new features and versions
694
       produced during the week. Published every Thursday.
695
 
696
     * Name: "Kernel Traffic"
697
       URL: http://kt.zork.net/kernel-traffic/
698
       Keywords: linux-kernel mailing list, weekly kernel news.
699
       Description: Weekly newsletter covering the most relevant
700
       discussions of the linux-kernel mailing list.
701
 
702
     * Name: "CuTTiNG.eDGe.LiNuX"
703
       URL: http://edge.kernelnotes.org
704
       Keywords: changelist.
705
       Description: Site which provides the changelist for every kernel
706
       release. What's new, what's better, what's changed. Myrdraal reads
707
       the patches and describes them. Pointers to the patches are there,
708
       too.
709
 
710
     * Name: "New linux-kernel Mailing List FAQ"
711
       URL: http://www.tux.org/lkml/
712
       Keywords: linux-kernel mailing list FAQ.
713
       Description: linux-kernel is a mailing list for developers to
714
       communicate. This FAQ builds on the previous linux-kernel mailing
715
       list FAQ maintained by Frohwalt Egerer, who no longer maintains
716
       it. Read it to see how to join the mailing list. Dozens of
717
       interesting questions regarding the list, Linux, developers (who
718
       is ...?), terms (what is...?) are answered here too. Just read it.
719
 
720
     * Name: "Linux Virtual File System"
721
       Author: Peter J. Braam.
722
       URL: http://www.coda.cs.cmu.edu/doc/talks/linuxvfs/
723
       Keywords: slides, VFS, inode, superblock, dentry, dcache.
724
       Description: Set of slides, presumably from a presentation on the
725
       Linux VFS layer. Covers version 2.1.x, with dentries and the
726
       dcache.
727
 
728
     * Name: "Gary's Encyclopedia - The Linux Kernel"
729
       Author: Gary (I suppose...).
730
       URL: http://members.aa.net/~swear/pedia/kernel.html
731
       Keywords: links, not found here?.
732
       Description: Gary's Encyclopedia exists to allow the rapid finding
733
       of documentation and other information of interest to GNU/Linux
734
       users. It has about 4000 links to external pages in 150 major
735
       categories. This link is for kernel-specific links, documents,
736
       sites... Look there if you could not find here what you were
737
       looking for.
738
 
739
     * Name: "The home page of Linux-MM"
740
       Author: The Linux-MM team.
741
       URL: http://linux-mm.org/
742
       Keywords: memory management, Linux-MM, mm patches, TODO, docs,
743
       mailing list.
744
       Description: Site devoted to Linux Memory Management development.
745
       Memory related patches, HOWTOs, links, mm developers... Don't miss
746
       it if you are interested in memory management development!
747
 
748
     * Name: "Kernel Newbies IRC Channel"
749
       URL: http://www.kernelnewbies.org
750
       Keywords: IRC, newbies, channel, asking doubts.
751
       Description: #kernelnewbies on irc.openprojects.net. From the web
752
       page: "#kernelnewbies is an IRC network dedicated to the 'newbie'
753
       kernel hacker. The audience mostly consists of people who are
754
       learning about the kernel, working on kernel projects or
755
       professional kernel hackers that want to help less seasoned kernel
756
       people. [...] #kernelnewbies is on the Open Projects IRC Network,
757
       try irc.openprojects.net or irc..openprojects.net as your
758
       server and then /join #kernelnewbies". It also hosts articles,
759
       documents, FAQs...
760
 
761
     * Name: "linux-kernel mailing list archives and search engines"
762
       URL: http://www.uwsg.indiana.edu/hypermail/linux/kernel/index.html
763
       URL: http://www.kernelnotes.org/lnxlists/linux-kernel/
764
       URL: http://www.geocrawler.com
765
       Keywords: linux-kernel, archives, search.
766
       Description: Some of the linux-kernel mailing list archivers. If
767
       you have a better/another one, please let me know.
768
     _________________________________________________________________
769
 
770
   Document last updated on Thu Jun 28 15:09:39 CEST 2001

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.