|
@@ -32,6 +32,11 @@ Document.
|
|
|
|
|
|
Enjoy!
|
|
|
|
|
|
+.. note::
|
|
|
+
|
|
|
+ The documents on each section of this document are ordered by its
|
|
|
+ published date, from the newest to the oldest.
|
|
|
+
|
|
|
Docs at the Linux Kernel tree
|
|
|
-----------------------------
|
|
|
|
|
@@ -82,82 +87,18 @@ The Sphinx books should be built with ``make {htmldocs | pdfdocs | epubdocs}``.
|
|
|
On-line docs
|
|
|
------------
|
|
|
|
|
|
- * Title: **Linux Device Drivers, Third Edition**
|
|
|
-
|
|
|
- :Author: Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman
|
|
|
- :URL: http://lwn.net/Kernel/LDD3/
|
|
|
- :Date: 2005
|
|
|
- :Description: A 600-page book covering the (2.6.10) driver
|
|
|
- programming API and kernel hacking in general. Available under the
|
|
|
- Creative Commons Attribution-ShareAlike 2.0 license.
|
|
|
- :note: You can also :ref:`purchase a copy from O'Reilly or elsewhere <ldd3_published>`.
|
|
|
-
|
|
|
- * Title: **Overview of the Virtual File System**
|
|
|
-
|
|
|
- :Author: Richard Gooch.
|
|
|
- :URL: http://www.mjmwired.net/kernel/Documentation/filesystems/vfs.txt
|
|
|
- :Date: 2007
|
|
|
- :Keywords: VFS, File System, mounting filesystems, opening files,
|
|
|
- dentries, dcache.
|
|
|
- :Description: Brief introduction to the Linux Virtual File System.
|
|
|
- What is it, how it works, operations taken when opening a file or
|
|
|
- mounting a file system and description of important data
|
|
|
- structures explaining the purpose of each of their entries.
|
|
|
-
|
|
|
- * Title: **The Linux RAID-1, 4, 5 Code**
|
|
|
-
|
|
|
- :Author: Ingo Molnar, Gadi Oxman and Miguel de Icaza.
|
|
|
- :URL: http://www.linuxjournal.com/article.php?sid=2391
|
|
|
- :Date: 1997
|
|
|
- :Keywords: RAID, MD driver.
|
|
|
- :Description: Linux Journal Kernel Korner article. Here is its
|
|
|
- :Abstract: *A description of the implementation of the RAID-1,
|
|
|
- RAID-4 and RAID-5 personalities of the MD device driver in the
|
|
|
- Linux kernel, providing users with high performance and reliable,
|
|
|
- secondary-storage capability using software*.
|
|
|
-
|
|
|
- * Title: **Dynamic Kernels: Modularized Device Drivers**
|
|
|
-
|
|
|
- :Author: Alessandro Rubini.
|
|
|
- :URL: http://www.linuxjournal.com/article.php?sid=1219
|
|
|
- :Date: 1996
|
|
|
- :Keywords: device driver, module, loading/unloading modules,
|
|
|
- allocating resources.
|
|
|
- :Description: Linux Journal Kernel Korner article. Here is its
|
|
|
- :Abstract: *This is the first of a series of four articles
|
|
|
- co-authored by Alessandro Rubini and Georg Zezchwitz which present
|
|
|
- a practical approach to writing Linux device drivers as kernel
|
|
|
- loadable modules. This installment presents an introduction to the
|
|
|
- topic, preparing the reader to understand next month's
|
|
|
- installment*.
|
|
|
-
|
|
|
- * Title: **Dynamic Kernels: Discovery**
|
|
|
-
|
|
|
- :Author: Alessandro Rubini.
|
|
|
- :URL: http://www.linuxjournal.com/article.php?sid=1220
|
|
|
- :Date: 1996
|
|
|
- :Keywords: character driver, init_module, clean_up module,
|
|
|
- autodetection, mayor number, minor number, file operations,
|
|
|
- open(), close().
|
|
|
- :Description: Linux Journal Kernel Korner article. Here is its
|
|
|
- :Abstract: *This article, the second of four, introduces part of
|
|
|
- the actual code to create custom module implementing a character
|
|
|
- device driver. It describes the code for module initialization and
|
|
|
- cleanup, as well as the open() and close() system calls*.
|
|
|
-
|
|
|
- * Title: **On submitting kernel Patches**
|
|
|
+ * Title: **Linux Kernel Mailing List Glossary**
|
|
|
|
|
|
- :Author: Andi Kleen
|
|
|
- :URL: http://halobates.de/on-submitting-kernel-patches.pdf
|
|
|
- :Date: 2008
|
|
|
- :Keywords: patches, review process, types of submissions, basic rules, case studies
|
|
|
- :Description: This paper gives several experience values on what types of patches
|
|
|
- there are and how likley they get merged.
|
|
|
- :Abstract:
|
|
|
- [...]. This paper examines some common problems for
|
|
|
- submitting larger changes and some strategies to avoid problems.
|
|
|
+ :Author: various
|
|
|
+ :URL: http://kernelnewbies.org/glossary/
|
|
|
+ :Date: rolling version
|
|
|
+ :Keywords: glossary, terms, linux-kernel.
|
|
|
+ :Description: From the introduction: "This glossary is intended as
|
|
|
+ a brief description of some of the acronyms and terms you may hear
|
|
|
+ during discussion of the Linux kernel".
|
|
|
|
|
|
* Title: **Tracing the Way of Data in a TCP Connection through the Linux Kernel**
|
|
|
+
|
|
|
:Author: Richard Sailer
|
|
|
:URL: https://archive.org/details/linux_kernel_data_flow_short_paper
|
|
|
:Date: 2016
|
|
@@ -174,108 +115,60 @@ On-line docs
|
|
|
Finally this trace-log is used as base for more a exact conceptual
|
|
|
exploration and description of the Linux TCP/IP implementation.*
|
|
|
|
|
|
- * Title: **The Devil's in the Details**
|
|
|
-
|
|
|
- :Author: Georg v. Zezschwitz and Alessandro Rubini.
|
|
|
- :URL: http://www.linuxjournal.com/article.php?sid=1221
|
|
|
- :Date: 1996
|
|
|
- :Keywords: read(), write(), select(), ioctl(), blocking/non
|
|
|
- blocking mode, interrupt handler.
|
|
|
- :Description: Linux Journal Kernel Korner article. Here is its
|
|
|
- :Abstract: *This article, the third of four on writing character
|
|
|
- device drivers, introduces concepts of reading, writing, and using
|
|
|
- ioctl-calls*.
|
|
|
-
|
|
|
- * Title: **Dissecting Interrupts and Browsing DMA**
|
|
|
-
|
|
|
- :Author: Alessandro Rubini and Georg v. Zezschwitz.
|
|
|
- :URL: http://www.linuxjournal.com/article.php?sid=1222
|
|
|
- :Date: 1996
|
|
|
- :Keywords: interrupts, irqs, DMA, bottom halves, task queues.
|
|
|
- :Description: Linux Journal Kernel Korner article. Here is its
|
|
|
- :Abstract: *This is the fourth in a series of articles about
|
|
|
- writing character device drivers as loadable kernel modules. This
|
|
|
- month, we further investigate the field of interrupt handling.
|
|
|
- Though it is conceptually simple, practical limitations and
|
|
|
- constraints make this an ''interesting'' part of device driver
|
|
|
- writing, and several different facilities have been provided for
|
|
|
- different situations. We also investigate the complex topic of
|
|
|
- DMA*.
|
|
|
-
|
|
|
- * Title: **Device Drivers Concluded**
|
|
|
-
|
|
|
- :Author: Georg v. Zezschwitz.
|
|
|
- :URL: http://www.linuxjournal.com/article.php?sid=1287
|
|
|
- :Date: 1996
|
|
|
- :Keywords: address spaces, pages, pagination, page management,
|
|
|
- demand loading, swapping, memory protection, memory mapping, mmap,
|
|
|
- virtual memory areas (VMAs), vremap, PCI.
|
|
|
- :Description: Finally, the above turned out into a five articles
|
|
|
- series. This latest one's introduction reads: "This is the last of
|
|
|
- five articles about character device drivers. In this final
|
|
|
- section, Georg deals with memory mapping devices, beginning with
|
|
|
- an overall description of the Linux memory management concepts".
|
|
|
-
|
|
|
- * Title: **Network Buffers And Memory Management**
|
|
|
+ * Title: **On submitting kernel Patches**
|
|
|
|
|
|
- :Author: Alan Cox.
|
|
|
- :URL: http://www.linuxjournal.com/article.php?sid=1312
|
|
|
- :Date: 1996
|
|
|
- :Keywords: sk_buffs, network devices, protocol/link layer
|
|
|
- variables, network devices flags, transmit, receive,
|
|
|
- configuration, multicast.
|
|
|
- :Description: Linux Journal Kernel Korner.
|
|
|
- :Abstract: *Writing a network device driver for Linux is fundamentally
|
|
|
- simple---most of the complexity (other than talking to the
|
|
|
- hardware) involves managing network packets in memory*.
|
|
|
+ :Author: Andi Kleen
|
|
|
+ :URL: http://halobates.de/on-submitting-kernel-patches.pdf
|
|
|
+ :Date: 2008
|
|
|
+ :Keywords: patches, review process, types of submissions, basic rules, case studies
|
|
|
+ :Description: This paper gives several experience values on what types of patches
|
|
|
+ there are and how likley they get merged.
|
|
|
+ :Abstract:
|
|
|
+ [...]. This paper examines some common problems for
|
|
|
+ submitting larger changes and some strategies to avoid problems.
|
|
|
|
|
|
- * Title: **Linux Kernel Hackers' Guide**
|
|
|
+ * Title: **Overview of the Virtual File System**
|
|
|
|
|
|
- :Author: Michael K. Johnson.
|
|
|
- :URL: http://www.tldp.org/LDP/khg/HyperNews/get/khg.html
|
|
|
- :Date: 1997
|
|
|
- :Keywords: device drivers, files, VFS, kernel interface, character vs
|
|
|
- block devices, hardware interrupts, scsi, DMA, access to user memory,
|
|
|
- memory allocation, timers.
|
|
|
- :Description: A guide designed to help you get up to speed on the
|
|
|
- concepts that are not intuitevly obvious, and to document the internal
|
|
|
- structures of Linux.
|
|
|
+ :Author: Richard Gooch.
|
|
|
+ :URL: http://www.mjmwired.net/kernel/Documentation/filesystems/vfs.txt
|
|
|
+ :Date: 2007
|
|
|
+ :Keywords: VFS, File System, mounting filesystems, opening files,
|
|
|
+ dentries, dcache.
|
|
|
+ :Description: Brief introduction to the Linux Virtual File System.
|
|
|
+ What is it, how it works, operations taken when opening a file or
|
|
|
+ mounting a file system and description of important data
|
|
|
+ structures explaining the purpose of each of their entries.
|
|
|
|
|
|
- * Title: **The Venus kernel interface**
|
|
|
+ * Title: **Linux Device Drivers, Third Edition**
|
|
|
|
|
|
- :Author: Peter J. Braam.
|
|
|
- :URL: http://www.coda.cs.cmu.edu/doc/html/kernel-venus-protocol.html
|
|
|
- :Date: 1998
|
|
|
- :Keywords: coda, filesystem, venus, cache manager.
|
|
|
- :Description: "This document describes the communication between
|
|
|
- Venus and kernel level file system code needed for the operation
|
|
|
- of the Coda filesystem. This version document is meant to describe
|
|
|
- the current interface (version 1.0) as well as improvements we
|
|
|
- envisage".
|
|
|
+ :Author: Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman
|
|
|
+ :URL: http://lwn.net/Kernel/LDD3/
|
|
|
+ :Date: 2005
|
|
|
+ :Description: A 600-page book covering the (2.6.10) driver
|
|
|
+ programming API and kernel hacking in general. Available under the
|
|
|
+ Creative Commons Attribution-ShareAlike 2.0 license.
|
|
|
+ :note: You can also :ref:`purchase a copy from O'Reilly or elsewhere <ldd3_published>`.
|
|
|
|
|
|
- * Title: **Design and Implementation of the Second Extended Filesystem**
|
|
|
+ * Title: **Writing an ALSA Driver**
|
|
|
|
|
|
- :Author: Rémy Card, Theodore Ts'o, Stephen Tweedie.
|
|
|
- :URL: http://web.mit.edu/tytso/www/linux/ext2intro.html
|
|
|
- :Date: 1998
|
|
|
- :Keywords: ext2, linux fs history, inode, directory, link, devices,
|
|
|
- VFS, physical structure, performance, benchmarks, ext2fs library,
|
|
|
- ext2fs tools, e2fsck.
|
|
|
- :Description: Paper written by three of the top ext2 hackers.
|
|
|
- Covers Linux filesystems history, ext2 motivation, ext2 features,
|
|
|
- design, physical structure on disk, performance, benchmarks,
|
|
|
- e2fsck's passes description... A must read!
|
|
|
- :Notes: This paper was first published in the Proceedings of the
|
|
|
- First Dutch International Symposium on Linux, ISBN 90-367-0385-9.
|
|
|
+ :Author: Takashi Iwai <tiwai@suse.de>
|
|
|
+ :URL: http://www.alsa-project.org/~iwai/writing-an-alsa-driver/index.html
|
|
|
+ :Date: 2005
|
|
|
+ :Keywords: ALSA, sound, soundcard, driver, lowlevel, hardware.
|
|
|
+ :Description: Advanced Linux Sound Architecture for developers,
|
|
|
+ both at kernel and user-level sides. ALSA is the Linux kernel
|
|
|
+ sound architecture in the 2.6 kernel version.
|
|
|
|
|
|
- * Title: **Analysis of the Ext2fs structure**
|
|
|
+ * Title: **Linux PCMCIA Programmer's Guide**
|
|
|
|
|
|
- :Author: Louis-Dominique Dubeau.
|
|
|
- :URL: http://teaching.csse.uwa.edu.au/units/CITS2002/fs-ext2/
|
|
|
- :Date: 1994
|
|
|
- :Keywords: ext2, filesystem, ext2fs.
|
|
|
- :Description: Description of ext2's blocks, directories, inodes,
|
|
|
- bitmaps, invariants...
|
|
|
+ :Author: David Hinds.
|
|
|
+ :URL: http://pcmcia-cs.sourceforge.net/ftp/doc/PCMCIA-PROG.html
|
|
|
+ :Date: 2003
|
|
|
+ :Keywords: PCMCIA.
|
|
|
+ :Description: "This document describes how to write kernel device
|
|
|
+ drivers for the Linux PCMCIA Card Services interface. It also
|
|
|
+ describes how to write user-mode utilities for communicating with
|
|
|
+ Card Services.
|
|
|
|
|
|
* Title: **Linux Kernel Module Programming Guide**
|
|
|
|
|
@@ -287,41 +180,6 @@ On-line docs
|
|
|
:Description: Very nice 92 pages GPL book on the topic of modules
|
|
|
programming. Lots of examples.
|
|
|
|
|
|
- * Title: **I/O Event Handling Under Linux**
|
|
|
-
|
|
|
- :Author: Richard Gooch.
|
|
|
- :URL: http://web.mit.edu/~yandros/doc/io-events.html
|
|
|
- :Date: 1999
|
|
|
- :Keywords: IO, I/O, select(2), poll(2), FDs, aio_read(2), readiness
|
|
|
- event queues.
|
|
|
- :Description: From the Introduction: "I/O Event handling is about
|
|
|
- how your Operating System allows you to manage a large number of
|
|
|
- open files (file descriptors in UNIX/POSIX, or FDs) in your
|
|
|
- application. You want the OS to notify you when FDs become active
|
|
|
- (have data ready to be read or are ready for writing). Ideally you
|
|
|
- want a mechanism that is scalable. This means a large number of
|
|
|
- inactive FDs cost very little in memory and CPU time to manage".
|
|
|
-
|
|
|
- * Title: **Writing an ALSA Driver**
|
|
|
-
|
|
|
- :Author: Takashi Iwai <tiwai@suse.de>
|
|
|
- :URL: http://www.alsa-project.org/~iwai/writing-an-alsa-driver/index.html
|
|
|
- :Date: 2005
|
|
|
- :Keywords: ALSA, sound, soundcard, driver, lowlevel, hardware.
|
|
|
- :Description: Advanced Linux Sound Architecture for developers,
|
|
|
- both at kernel and user-level sides. ALSA is the Linux kernel
|
|
|
- sound architecture in the 2.6 kernel version.
|
|
|
-
|
|
|
- * Title: **Linux Kernel Mailing List Glossary**
|
|
|
-
|
|
|
- :Author: various
|
|
|
- :URL: http://kernelnewbies.org/glossary/
|
|
|
- :Date: rolling version
|
|
|
- :Keywords: glossary, terms, linux-kernel.
|
|
|
- :Description: From the introduction: "This glossary is intended as
|
|
|
- a brief description of some of the acronyms and terms you may hear
|
|
|
- during discussion of the Linux kernel".
|
|
|
-
|
|
|
* Title: **Global spinlock list and usage**
|
|
|
|
|
|
:Author: Rick Lindsley.
|
|
@@ -334,6 +192,51 @@ On-line docs
|
|
|
access them, how each lock is acquired, under what conditions it
|
|
|
is held, whether interrupts can occur or not while it is held...
|
|
|
|
|
|
+ * Title: **A Linux vm README**
|
|
|
+
|
|
|
+ :Author: Kanoj Sarcar.
|
|
|
+ :URL: http://kos.enix.org/pub/linux-vmm.html
|
|
|
+ :Date: 2001
|
|
|
+ :Keywords: virtual memory, mm, pgd, vma, page, page flags, page
|
|
|
+ cache, swap cache, kswapd.
|
|
|
+ :Description: Telegraphic, short descriptions and definitions
|
|
|
+ relating the Linux virtual memory implementation.
|
|
|
+
|
|
|
+ * Title: **Video4linux Drivers, Part 1: Video-Capture Device**
|
|
|
+
|
|
|
+ :Author: Alan Cox.
|
|
|
+ :URL: http://www.linux-mag.com/id/406
|
|
|
+ :Date: 2000
|
|
|
+ :Keywords: video4linux, driver, video capture, capture devices,
|
|
|
+ camera driver.
|
|
|
+ :Description: The title says it all.
|
|
|
+
|
|
|
+ * Title: **Video4linux Drivers, Part 2: Video-capture Devices**
|
|
|
+
|
|
|
+ :Author: Alan Cox.
|
|
|
+ :URL: http://www.linux-mag.com/id/429
|
|
|
+ :Date: 2000
|
|
|
+ :Keywords: video4linux, driver, video capture, capture devices,
|
|
|
+ camera driver, control, query capabilities, capability, facility.
|
|
|
+ :Description: The title says it all.
|
|
|
+
|
|
|
+ * Title: **Linux IP Networking. A Guide to the Implementation and Modification of the Linux Protocol Stack.**
|
|
|
+
|
|
|
+ :Author: Glenn Herrin.
|
|
|
+ :URL: http://www.cs.unh.edu/cnrg/gherrin
|
|
|
+ :Date: 2000
|
|
|
+ :Keywords: network, networking, protocol, IP, UDP, TCP, connection,
|
|
|
+ socket, receiving, transmitting, forwarding, routing, packets,
|
|
|
+ modules, /proc, sk_buff, FIB, tags.
|
|
|
+ :Description: Excellent paper devoted to the Linux IP Networking,
|
|
|
+ explaining anything from the kernel's to the user space
|
|
|
+ configuration tools' code. Very good to get a general overview of
|
|
|
+ the kernel networking implementation and understand all steps
|
|
|
+ packets follow from the time they are received at the network
|
|
|
+ device till they are delivered to applications. The studied kernel
|
|
|
+ code is from 2.2.14 version. Provides code for a working packet
|
|
|
+ dropper example.
|
|
|
+
|
|
|
* Title: **How To Make Sure Your Driver Will Work On The Power Macintosh**
|
|
|
|
|
|
:Author: Paul Mackerras.
|
|
@@ -382,61 +285,20 @@ On-line docs
|
|
|
:Keywords: video4linux, driver, radio, radio devices.
|
|
|
:Description: The title says it all.
|
|
|
|
|
|
- * Title: **Video4linux Drivers, Part 1: Video-Capture Device**
|
|
|
-
|
|
|
- :Author: Alan Cox.
|
|
|
- :URL: http://www.linux-mag.com/id/406
|
|
|
- :Date: 2000
|
|
|
- :Keywords: video4linux, driver, video capture, capture devices,
|
|
|
- camera driver.
|
|
|
- :Description: The title says it all.
|
|
|
-
|
|
|
- * Title: **Video4linux Drivers, Part 2: Video-capture Devices**
|
|
|
-
|
|
|
- :Author: Alan Cox.
|
|
|
- :URL: http://www.linux-mag.com/id/429
|
|
|
- :Date: 2000
|
|
|
- :Keywords: video4linux, driver, video capture, capture devices,
|
|
|
- camera driver, control, query capabilities, capability, facility.
|
|
|
- :Description: The title says it all.
|
|
|
-
|
|
|
- * Title: **Linux IP Networking. A Guide to the Implementation and Modification of the Linux Protocol Stack.**
|
|
|
-
|
|
|
- :Author: Glenn Herrin.
|
|
|
- :URL: http://www.cs.unh.edu/cnrg/gherrin
|
|
|
- :Date: 2000
|
|
|
- :Keywords: network, networking, protocol, IP, UDP, TCP, connection,
|
|
|
- socket, receiving, transmitting, forwarding, routing, packets,
|
|
|
- modules, /proc, sk_buff, FIB, tags.
|
|
|
- :Description: Excellent paper devoted to the Linux IP Networking,
|
|
|
- explaining anything from the kernel's to the user space
|
|
|
- configuration tools' code. Very good to get a general overview of
|
|
|
- the kernel networking implementation and understand all steps
|
|
|
- packets follow from the time they are received at the network
|
|
|
- device till they are delivered to applications. The studied kernel
|
|
|
- code is from 2.2.14 version. Provides code for a working packet
|
|
|
- dropper example.
|
|
|
-
|
|
|
- * Title: **Linux PCMCIA Programmer's Guide**
|
|
|
-
|
|
|
- :Author: David Hinds.
|
|
|
- :URL: http://pcmcia-cs.sourceforge.net/ftp/doc/PCMCIA-PROG.html
|
|
|
- :Date: 2003
|
|
|
- :Keywords: PCMCIA.
|
|
|
- :Description: "This document describes how to write kernel device
|
|
|
- drivers for the Linux PCMCIA Card Services interface. It also
|
|
|
- describes how to write user-mode utilities for communicating with
|
|
|
- Card Services.
|
|
|
-
|
|
|
- * Title: **A Linux vm README**
|
|
|
+ * Title: **I/O Event Handling Under Linux**
|
|
|
|
|
|
- :Author: Kanoj Sarcar.
|
|
|
- :URL: http://kos.enix.org/pub/linux-vmm.html
|
|
|
- :Date: 2001
|
|
|
- :Keywords: virtual memory, mm, pgd, vma, page, page flags, page
|
|
|
- cache, swap cache, kswapd.
|
|
|
- :Description: Telegraphic, short descriptions and definitions
|
|
|
- relating the Linux virtual memory implementation.
|
|
|
+ :Author: Richard Gooch.
|
|
|
+ :URL: http://web.mit.edu/~yandros/doc/io-events.html
|
|
|
+ :Date: 1999
|
|
|
+ :Keywords: IO, I/O, select(2), poll(2), FDs, aio_read(2), readiness
|
|
|
+ event queues.
|
|
|
+ :Description: From the Introduction: "I/O Event handling is about
|
|
|
+ how your Operating System allows you to manage a large number of
|
|
|
+ open files (file descriptors in UNIX/POSIX, or FDs) in your
|
|
|
+ application. You want the OS to notify you when FDs become active
|
|
|
+ (have data ready to be read or are ready for writing). Ideally you
|
|
|
+ want a mechanism that is scalable. This means a large number of
|
|
|
+ inactive FDs cost very little in memory and CPU time to manage".
|
|
|
|
|
|
* Title: **(nearly) Complete Linux Loadable Kernel Modules. The definitive guide for hackers, virus coders and system administrators.**
|
|
|
|
|
@@ -462,7 +324,149 @@ On-line docs
|
|
|
Linux VFS layer. Covers version 2.1.x, with dentries and the
|
|
|
dcache.
|
|
|
|
|
|
-.. Please keep the published books in reverse publication date
|
|
|
+ * Title: **The Venus kernel interface**
|
|
|
+
|
|
|
+ :Author: Peter J. Braam.
|
|
|
+ :URL: http://www.coda.cs.cmu.edu/doc/html/kernel-venus-protocol.html
|
|
|
+ :Date: 1998
|
|
|
+ :Keywords: coda, filesystem, venus, cache manager.
|
|
|
+ :Description: "This document describes the communication between
|
|
|
+ Venus and kernel level file system code needed for the operation
|
|
|
+ of the Coda filesystem. This version document is meant to describe
|
|
|
+ the current interface (version 1.0) as well as improvements we
|
|
|
+ envisage".
|
|
|
+
|
|
|
+ * Title: **Design and Implementation of the Second Extended Filesystem**
|
|
|
+
|
|
|
+ :Author: Rémy Card, Theodore Ts'o, Stephen Tweedie.
|
|
|
+ :URL: http://web.mit.edu/tytso/www/linux/ext2intro.html
|
|
|
+ :Date: 1998
|
|
|
+ :Keywords: ext2, linux fs history, inode, directory, link, devices,
|
|
|
+ VFS, physical structure, performance, benchmarks, ext2fs library,
|
|
|
+ ext2fs tools, e2fsck.
|
|
|
+ :Description: Paper written by three of the top ext2 hackers.
|
|
|
+ Covers Linux filesystems history, ext2 motivation, ext2 features,
|
|
|
+ design, physical structure on disk, performance, benchmarks,
|
|
|
+ e2fsck's passes description... A must read!
|
|
|
+ :Notes: This paper was first published in the Proceedings of the
|
|
|
+ First Dutch International Symposium on Linux, ISBN 90-367-0385-9.
|
|
|
+
|
|
|
+ * Title: **The Linux RAID-1, 4, 5 Code**
|
|
|
+
|
|
|
+ :Author: Ingo Molnar, Gadi Oxman and Miguel de Icaza.
|
|
|
+ :URL: http://www.linuxjournal.com/article.php?sid=2391
|
|
|
+ :Date: 1997
|
|
|
+ :Keywords: RAID, MD driver.
|
|
|
+ :Description: Linux Journal Kernel Korner article. Here is its
|
|
|
+ :Abstract: *A description of the implementation of the RAID-1,
|
|
|
+ RAID-4 and RAID-5 personalities of the MD device driver in the
|
|
|
+ Linux kernel, providing users with high performance and reliable,
|
|
|
+ secondary-storage capability using software*.
|
|
|
+
|
|
|
+ * Title: **Linux Kernel Hackers' Guide**
|
|
|
+
|
|
|
+ :Author: Michael K. Johnson.
|
|
|
+ :URL: http://www.tldp.org/LDP/khg/HyperNews/get/khg.html
|
|
|
+ :Date: 1997
|
|
|
+ :Keywords: device drivers, files, VFS, kernel interface, character vs
|
|
|
+ block devices, hardware interrupts, scsi, DMA, access to user memory,
|
|
|
+ memory allocation, timers.
|
|
|
+ :Description: A guide designed to help you get up to speed on the
|
|
|
+ concepts that are not intuitevly obvious, and to document the internal
|
|
|
+ structures of Linux.
|
|
|
+
|
|
|
+ * Title: **Dynamic Kernels: Modularized Device Drivers**
|
|
|
+
|
|
|
+ :Author: Alessandro Rubini.
|
|
|
+ :URL: http://www.linuxjournal.com/article.php?sid=1219
|
|
|
+ :Date: 1996
|
|
|
+ :Keywords: device driver, module, loading/unloading modules,
|
|
|
+ allocating resources.
|
|
|
+ :Description: Linux Journal Kernel Korner article. Here is its
|
|
|
+ :Abstract: *This is the first of a series of four articles
|
|
|
+ co-authored by Alessandro Rubini and Georg Zezchwitz which present
|
|
|
+ a practical approach to writing Linux device drivers as kernel
|
|
|
+ loadable modules. This installment presents an introduction to the
|
|
|
+ topic, preparing the reader to understand next month's
|
|
|
+ installment*.
|
|
|
+
|
|
|
+ * Title: **Dynamic Kernels: Discovery**
|
|
|
+
|
|
|
+ :Author: Alessandro Rubini.
|
|
|
+ :URL: http://www.linuxjournal.com/article.php?sid=1220
|
|
|
+ :Date: 1996
|
|
|
+ :Keywords: character driver, init_module, clean_up module,
|
|
|
+ autodetection, mayor number, minor number, file operations,
|
|
|
+ open(), close().
|
|
|
+ :Description: Linux Journal Kernel Korner article. Here is its
|
|
|
+ :Abstract: *This article, the second of four, introduces part of
|
|
|
+ the actual code to create custom module implementing a character
|
|
|
+ device driver. It describes the code for module initialization and
|
|
|
+ cleanup, as well as the open() and close() system calls*.
|
|
|
+
|
|
|
+ * Title: **The Devil's in the Details**
|
|
|
+
|
|
|
+ :Author: Georg v. Zezschwitz and Alessandro Rubini.
|
|
|
+ :URL: http://www.linuxjournal.com/article.php?sid=1221
|
|
|
+ :Date: 1996
|
|
|
+ :Keywords: read(), write(), select(), ioctl(), blocking/non
|
|
|
+ blocking mode, interrupt handler.
|
|
|
+ :Description: Linux Journal Kernel Korner article. Here is its
|
|
|
+ :Abstract: *This article, the third of four on writing character
|
|
|
+ device drivers, introduces concepts of reading, writing, and using
|
|
|
+ ioctl-calls*.
|
|
|
+
|
|
|
+ * Title: **Dissecting Interrupts and Browsing DMA**
|
|
|
+
|
|
|
+ :Author: Alessandro Rubini and Georg v. Zezschwitz.
|
|
|
+ :URL: http://www.linuxjournal.com/article.php?sid=1222
|
|
|
+ :Date: 1996
|
|
|
+ :Keywords: interrupts, irqs, DMA, bottom halves, task queues.
|
|
|
+ :Description: Linux Journal Kernel Korner article. Here is its
|
|
|
+ :Abstract: *This is the fourth in a series of articles about
|
|
|
+ writing character device drivers as loadable kernel modules. This
|
|
|
+ month, we further investigate the field of interrupt handling.
|
|
|
+ Though it is conceptually simple, practical limitations and
|
|
|
+ constraints make this an ''interesting'' part of device driver
|
|
|
+ writing, and several different facilities have been provided for
|
|
|
+ different situations. We also investigate the complex topic of
|
|
|
+ DMA*.
|
|
|
+
|
|
|
+ * Title: **Device Drivers Concluded**
|
|
|
+
|
|
|
+ :Author: Georg v. Zezschwitz.
|
|
|
+ :URL: http://www.linuxjournal.com/article.php?sid=1287
|
|
|
+ :Date: 1996
|
|
|
+ :Keywords: address spaces, pages, pagination, page management,
|
|
|
+ demand loading, swapping, memory protection, memory mapping, mmap,
|
|
|
+ virtual memory areas (VMAs), vremap, PCI.
|
|
|
+ :Description: Finally, the above turned out into a five articles
|
|
|
+ series. This latest one's introduction reads: "This is the last of
|
|
|
+ five articles about character device drivers. In this final
|
|
|
+ section, Georg deals with memory mapping devices, beginning with
|
|
|
+ an overall description of the Linux memory management concepts".
|
|
|
+
|
|
|
+ * Title: **Network Buffers And Memory Management**
|
|
|
+
|
|
|
+ :Author: Alan Cox.
|
|
|
+ :URL: http://www.linuxjournal.com/article.php?sid=1312
|
|
|
+ :Date: 1996
|
|
|
+ :Keywords: sk_buffs, network devices, protocol/link layer
|
|
|
+ variables, network devices flags, transmit, receive,
|
|
|
+ configuration, multicast.
|
|
|
+ :Description: Linux Journal Kernel Korner.
|
|
|
+ :Abstract: *Writing a network device driver for Linux is fundamentally
|
|
|
+ simple---most of the complexity (other than talking to the
|
|
|
+ hardware) involves managing network packets in memory*.
|
|
|
+
|
|
|
+ * Title: **Analysis of the Ext2fs structure**
|
|
|
+
|
|
|
+ :Author: Louis-Dominique Dubeau.
|
|
|
+ :URL: http://teaching.csse.uwa.edu.au/units/CITS2002/fs-ext2/
|
|
|
+ :Date: 1994
|
|
|
+ :Keywords: ext2, filesystem, ext2fs.
|
|
|
+ :Description: Description of ext2's blocks, directories, inodes,
|
|
|
+ bitmaps, invariants...
|
|
|
|
|
|
Published books
|
|
|
---------------
|
|
@@ -559,7 +563,7 @@ Published books
|
|
|
:Author: Bill O. Gallmeister
|
|
|
:Publisher: O'Reilly & Associates, Inc
|
|
|
:Date: 1995
|
|
|
- :Pages: ???
|
|
|
+ :Pages: 552
|
|
|
:ISBN: I-56592-074-0
|
|
|
:Notes: Though not being directly about Linux, Linux aims to be
|
|
|
POSIX. Good reference.
|
|
@@ -642,7 +646,7 @@ Miscellaneous
|
|
|
|
|
|
-------
|
|
|
|
|
|
-Document last updated on Mon 2016-Sep-19
|
|
|
+Document last updated on Tue 2016-Sep-20
|
|
|
|
|
|
This document is based on:
|
|
|
http://www.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html
|