A glossary of various terms and acronyms related to the Linux kernel.  If you know something, please create yourself an account (UserPreferences) and add a term in alphabetical order. Don't be afraid to improve other people's explanations, the goal is to have a high quality document for the readers of this site. If everybody who reads this page adds a term each week, this glossary should be complete within a few months...

 * Classifier: also called filter, classifies a network packet by inspecting it, used by QDiscs.
 * Copy-on-Write: (also: COW) reuse and share existing objects and copy them not until a modification is required.
 * Current: a kernel variable which points to the task_struct structure of the process currently running on this CPU.
 * Device Mapper: A technology for presenting arbitrary groupings of underlying sectors on physical devices in a consistent logical fashion usable by higher level algorithms. Heavily used by kernel technologies such as LVM.
 * ISR: interrupt service routine, the function in each device driver that gets called when an interrupt happens.
 * Jiffies: An incrementing counter representing system "uptime" in ticks - or the number of timer interrupts since boot. Ultimately the entire original concept of a jiffy will likely vanish as systems use timer events only when necessary and become "jiffyless".
 * kswapd: a kernel thread that frees up memory by evicting data from caches and paging out userspace memory, part of the virtual memory subsystem.
 * Linux Device Drivers, 2nd Edition: http://www.xml.com/ldd/chapter/book/
 * LKM: Linux Kernel Module. A (often dyanmically loadable at system runtime) kernel extension ("driver") to support, for example, some kind of new hardware device or generic software abstraction.
 * LKML: Linux Kernel Mailing List. The primary virtual watering hole (meeting ground) for kernel developers to share ideas and bounce opinions off oneanother during the course of the kernel development process.
 * LVM: Logical volume management. A technology for providing an arbitrary logical view of underlying data storage in a fashion supporting resizing and restructuring of storage on the fly. Currently in version 2, originally written by Sistina (now Redhat).
 * LXR: a cross-reference tool that can be used to navigate the Linux kernel source code, available at [http://lxr.linux.no/ lxr.linux.no].
 * mem_map: A contiguous virtual array of struct pages representing the entirity of physical memory pages available within a system.
 * MMU: memory management unit, part of the CPU that is needed for virtual memory.
 * QDisc: [http://lartc.org/howto/lartc.qdisc.html Queueing Discipline], queues packets before they are sent out to the network device, enforces QoS requirements, provides traffic shaping and priorititizing capabilities.
 * QoS: Quality of Service, method to define the importance/priority of network services
 * Scheduler: the part of the kernel that chooses a suitable process to run on the cpu, see the [http://lxr.linux.no/ident?i=schedule schedule()] function.
 * Shared/Paged Socket Buffer: (also: pskb) Socket Buffer with uncontinuous data buffer, used for zero copy, TSO and Scatter/Gather capable network cards.
 * Socket Buffer: (also: skb) data structure used to hold the data and attributes of a network packet.
 * System call: (also: syscall) the way a program transitions from userspace into kernel space, to call a kernel space function.
 * Page table: data structure used by the MMU to translate virtual memory addresses to physical memory addresses.
 * Process descriptor: kernel data structure that describes/accounts proces data related to a single process.
 * Virtual memory: every process in the system gets its own memory address space, independant of the other processes.
 * Zero-Copy: A special networking code path where data is sent to the network directly from userspace memory; this avoids unnecessary copying of data and improves performance.