Copy of `Kernel Newbies - Linux glossary`

The wordlist doesn't exist anymore, or, the website doesn't exist anymore. On this page you can find a copy of the original information. The information may have been taken offline because it is outdated.


Kernel Newbies - Linux glossary
Category: Agriculture and Industry
Date & country: 09/08/2014, USA
Words: 148


LBA
Logical Block Addressing. A way to address IDE disks without Cylinder/Head/Sector (CHS) coordinates, using linear sector numbers from the start of the disk. Allows for the use of very large IDE disks.

Linux Device Drivers, 3rd Edition
online edition.

LKML
Linux Kernel Mailing List. The primary virtual watering hole (meeting ground) for kernel developers to share ideas and bounce opinions off one another during the course of the kernel development process. FAQ at http://www.tux.org/lkml/.

LSM
Linux Security Module. a security framework for providing different security levels.

LXR
a cross-reference tool that can be used to navigate the Linux kernel source code, available at lxr.linux.no.

mem_map
A contiguous virtual array of struct pages representing the entirety of physical memory pages available within a system.

MMU
Memory Management Unit, part of the CPU hardware that enforces memory boundaries, and throw page faults, upon which the OS builds its coherent protection. The MMU maps virtual memory to actual, where protections allow.

MUTEX
MUTual EXclusion locks. This locking primitive is simpler and semantically tighter than the others, and hence is easier to make faster, and to prove correct. Some constraints are; lock has one owner at a time, the locker, who must also be the unlocker. Read Documentation/mutex-design.txt for much more.

netlink
Communication protocol between kernel and userspace

Page cache
a cache of file data and filesystem metadata, dynamically grown an shrunk depending on other memory use.

Page table
data structure used by the MMU to translate virtual memory addresses to physical memory addresses.

PDA
Per Processor Data Area is the x86 implementation of per-cpu memory.

PFN
Page Frame Number, index into the mem_map[] array which describes physical memory pages.

PGD
Page Global Directory, the top level of the page table tree. The page table hierarchy is pgd -> pud -> pmd -> pte.

PID
Process IDentifier (POSIX thread identifier)

PMD
Page Mid-level Directory, note that pmds are folded into pgds on systems with 2 level page tables.

Process descriptor
kernel data structure that describes/accounts process data related to a single process.

PTE
Page Table Entry

PUD
Page Upper Directory, note that puds are folded into pmds, except on systems with 4-levels page tables.

QDisc
Queueing Discipline, queues packets before they are sent out to the network device, enforces QoS requirements, provides traffic shaping and prioritizing capabilities.

QoS
Quality of Service, method to define the importance/priority of network services

RCU
Read Copy Update, a mechanism for SMPSynchronisation

Scheduler
the part of the kernel that chooses a suitable process to run on the cpu, see the schedule() function.

Semaphore
a lock mechanism that works per process context, see SMPSynchronisation

Shared/Paged Socket Buffer
(also: pskb) Socket Buffer with uncontinuous data buffer, used for zero copy, TSO and Scatter/Gather capable network cards.

Slab cache
a fast, SMP scalable kernel memory allocator.

Socket Buffer
(also: skb or sk_buff) data structure used to hold the data and attributes of a network packet. See http://www.linux-foundation.org/en/Net:SK_Buff and http://vger.kernel.org/~davem/skb.html for details.

SoftIRQ
kind of bottom half rarely used.

Spin lock
a simple SMP lock, see SMPSynchronisation

Swap token
a token to temporarily protect a process from pageout, an alternative approach to memory scheduling, thrashing control. See the Token Based Thrashing Control paper by Song Jiang and the Linux-MM wiki.

sysenter/sysexit
A pair of instructions on Pentium2+ that replace older INT instruction based syscall mechanism. See http://articles.manugarg.com/systemcallinlinux2_6.html

System call
(also: syscall) the way a program transitions from userspace into kernel space, to call a kernel space function.

System.map
symbol table used by ksymoops to resolve numbers to function names in Oops. Also used by ps and top for WCHAN field.

TASK_INTERRUPTIBLE
State of a task that is sleeping (not on the run queue). The task will sleep until some event occurs that changes its state to TASK_RUNNING. A task in this state can be awakened by signals.

TASK_RUNNING
State of a task that is on the run queue (but not necessarily running).

TASK_STOPPED
State of a task that has stopped and is not ready to run (happens when a task receives SIGSTOP, SIGTSTP, SIGTTIN or SIGTTOU or when any signal is received while the task is being debugged)

TASK_UNINTERRUPTIBLE
State of the task that is sleeping (not on the run queue) and must be explicitly awakened. A task in this state can not be awakened by signals.

TASK_ZOMBIE
State of a task that did called exit() but the parent task didn't call wait4(). The task's descriptor is kept in memory and only released when the parent task calls wait4()

TBF
Token Bucket Filter, a qdisc used for rate limiting

TGID
Task Group IDentifier (POSIX process identifier)

Use-once
the page replacement algorithm used by the Linux 2.6 kernel, based on the ideas behind the 2Q page replacement algorithm, also see the AdvancedPageReplacement page.

VFS
Virtual File System, an interface through which multiple filesystems can be hooked into the kernel.

Virtual memory
every process in the system gets its own memory address space, independent of the other processes.

Vsyscall page
see VDSO.

Xen
A paravirtualisation engine for Linux, an efficient way to run multiple Linux OSes on one computer. Also runs BSD, Plan9 and other OSes. (See website for more information.)

XIP
eXecute In Place, the ability to run an executable directly from the filesystem (usually ROM or flash), instead of loading it into memory.

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.

I
IDT