Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Glossary

A comprehensive glossary of terms used throughout this knowledge base.

A

TermDefinition
ACIDAtomicity, Consistency, Isolation, Durability — properties guaranteeing reliable database transactions
ALUArithmetic Logic Unit — digital circuit performing arithmetic and bitwise operations
APIApplication Programming Interface — set of protocols for building software
ARPAddress Resolution Protocol — maps IP addresses to MAC addresses
ASLRAddress Space Layout Randomization — security technique randomizing memory addresses
AVXAdvanced Vector Extensions — SIMD instruction set for x86 CPUs

B

TermDefinition
B+ TreeSelf-balancing tree structure optimized for disk-based indexing
BBRBottleneck Bandwidth and Round-trip propagation time — TCP congestion control algorithm
BCNFBoyce-Codd Normal Form — stricter version of 3NF
BIOSBasic Input/Output System — firmware for hardware initialization
BGPBorder Gateway Protocol — protocol for routing between autonomous systems
BtrfsB-tree file system — modern Linux copy-on-write filesystem

C

TermDefinition
CacheSmall, fast memory storing frequently accessed data
CAP TheoremStates a distributed system can guarantee only 2 of: Consistency, Availability, Partition tolerance
CASCompare-and-Swap — atomic operation for lock-free programming
CDNContent Delivery Network — distributed servers for content delivery
CIDRClassless Inter-Domain Routing — IP address allocation method
CISCComplex Instruction Set Computing
COWCopy-on-Write — optimization deferring copies until modification
CFSCompletely Fair Scheduler — Linux default process scheduler (being superseded by EEVDF)
CgroupControl Group — kernel facility limiting/accounting CPU, memory and I/O for process groups
CPUCentral Processing Unit
Core DumpOn-disk image of a process’s memory written on abnormal termination (e.g. SIGSEGV) for post-mortem debugging
CTECommon Table Expression — named temporary result set in SQL

D

TermDefinition
DaemonBackground process detached from any controlling terminal, usually started at boot
DMADirect Memory Access — allows hardware to access memory without CPU
DNSDomain Name System — translates domain names to IP addresses
DRAMDynamic Random-Access Memory
DACDiscretionary Access Control

E

TermDefinition
EEPROMElectrically Erasable Programmable Read-Only Memory
EEVDFEarliest Eligible Virtual Deadline First — Linux CFS replacement scheduler (6.6+)
epollLinux I/O event notification facility
ErrnoThread-local error code set by system calls on failure (see errno(3))
ExecReplacing the current process image with a new program (execve(2)) — the process PID survives
Exit Status8-bit value a process reports to its parent on termination ($? in shells); 0 = success by convention
ext4Fourth extended filesystem — default Linux filesystem

F

TermDefinition
FCFSFirst-Come, First-Served scheduling
FIFOFirst-In, First-Out
File DescriptorNon-negative integer indexing a process’s open-file table (files, sockets, pipes)
ForkDuplicating the calling process — child gets a copy of the address space and inherits file descriptors
FUSEFilesystem in Userspace
FLPFischer-Lynch-Paterson impossibility result

G

TermDefinition
GiSTGeneralized Search Tree — PostgreSQL index type
GINGeneralized Inverted Index — PostgreSQL index type
GPUGraphics Processing Unit

H

TermDefinition
HBMHigh Bandwidth Memory
HDDHard Disk Drive
Huge PagesLarge memory pages (2MB or 1GB) reducing TLB misses
HTTPHypertext Transfer Protocol

I

TermDefinition
Init (PID 1)First userspace process; ancestor of all processes, reaps orphans and never stops by default
I/OInput/Output
ICMPInternet Control Message Protocol
IEEE 754Standard for floating-point arithmetic
IOPSInput/Output Operations Per Second
ISAInstruction Set Architecture
ISRInterrupt Service Routine

J

TermDefinition
Job ControlShell facility for managing process groups: foreground/background, Ctrl-Z, fg, bg, jobs

K

TermDefinition
KernelCore component of an OS managing hardware and system resources

L

TermDefinition
LRULeast Recently Used — cache/page replacement policy
LFULeast Frequently Used
LSMLog-Structured Merge-tree — storage engine data structure
LKMLoadable Kernel Module

M

TermDefinition
MACMedia Access Control address
MESIModified, Exclusive, Shared, Invalid — cache coherence protocol
MmapMemory-mapped file
MLFQMultilevel Feedback Queue scheduling
MVCCMulti-Version Concurrency Control

N

TermDefinition
NATNetwork Address Translation
NamespaceKernel isolation feature (pid, net, mnt, uts, ipc, user, cgroup) making processes see a private system view
NUMANon-Uniform Memory Access
NVMeNon-Volatile Memory Express
NVMNon-Volatile Memory

O

TermDefinition
OOM KillerOut-Of-Memory Killer — kernel mechanism selecting and SIGKILLing processes under memory exhaustion
OOOOut-of-Order execution
Orphan ProcessProcess whose parent died; re-parented to init (PID 1) or a subreaper, which reaps it
OSPFOpen Shortest Path First — routing protocol

P

TermDefinition
PCBProcess Control Block
PCIePeripheral Component Interconnect Express
PaxosConsensus algorithm for distributed systems
PIDProcess Identifier — the kernel-assigned unique ID of a process or process-group leader
POSIXPortable Operating System Interface
Process GroupSet of related processes sharing a PGID for job-control signal delivery
PTYPseudo Terminal — kernel device pair emulating a terminal (ssh, tmux, containers)

Q

TermDefinition
QUICQuick UDP Internet Connections — transport protocol

R

TermDefinition
RAIDRedundant Array of Independent Disks
RISCReduced Instruction Set Computing
RaftUnderstandable consensus algorithm
ReapingParent reading a terminated child’s exit status via wait()/waitpid(), freeing the zombie’s kernel slot
RIPRouting Information Protocol

S

TermDefinition
SessionProcess-group collection tied to a controlling terminal, led by a session leader (see setsid(2))
SIGCHLDSignal sent to a parent when a child stops, resumes or terminates
SIGHUPHangup signal — controlling terminal closed; daemons use it to reload configuration
SIGINTInterrupt signal from Ctrl-C; catchable and default-terminating
SIGKILLUncatchable, unignorable termination signal (9) — the kernel’s last-resort kill
SIGSEGVSignal raised on invalid memory access; default action terminates with a core dump
SIGTERMDefault termination request (15) — polite, catchable; the standard kill signal
SignalAsynchronous notification delivered to a process (numbered, with a disposition: default/ignore/handler)
Signal DispositionPer-signal process-wide policy: default action, ignore (SIG_IGN), or installed handler
Signal MaskSet of signals temporarily blocked from delivery; inspected/changed via sigprocmask(2)/pthread_sigmask(3)
SLABLinux kernel memory allocator
SMPSymmetric Multiprocessing
SMTSimultaneous Multithreading (Hyperthreading)
SRAMStatic Random-Access Memory
SSDSolid State Drive
STARSituation, Task, Action, Result — behavioral interview framework

T

TermDefinition
TCPTransmission Control Protocol
TLBTranslation Lookaside Buffer
TLSTransport Layer Security
TSCTime Stamp Counter
TTYTeletypewriter — terminal device abstraction; a process’s controlling terminal drives its signals

U

TermDefinition
UDPUser Datagram Protocol
UEFIUnified Extensible Firmware Interface

V

TermDefinition
VFSVirtual File System
VMVirtual Machine
VPNVirtual Private Network
VPCVirtual Private Cloud

W

TermDefinition
Wait / waitpidSystem calls blocking a parent until a child changes state and returning its exit status
WALWrite-Ahead Logging
WSSWorking Set Size

X

TermDefinition
XFSHigh-performance filesystem

Z

TermDefinition
ZFSZettabyte File System
ZABZooKeeper Atomic Broadcast
Zombie ProcessTerminated process whose exit status the parent has not reaped yet; only its kernel PCB remains