Size: 9583
Comment:
|
Size: 12109
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 15: | Line 15: |
ABI:: '''A'''pplication '''B'''inary '''I'''nterface, the interface of passed structures between the user processes (and libraries) and the kernel. For compatibility, it is important that these remain as static as possible (i.e. making sure that variables and structure members have the same bytesize as before, and in the same ordering). Occasionally breakage is necessary, requiring re-compilation of the user-space sources (note that this does not affect source-compatibility; that is a separate issue). ACPI:: '''A'''dvanced '''C'''onfiguration and '''P'''ower '''I'''nterface, replacement for APM that has the advantage of allowing O/S control of power management facilities. AGI:: '''A'''ddress '''G'''eneration '''Interlocking''', on x86. When execution of an instruction requires an address resulting from a non-completed instrcution, the CPU must wait - this is known as an AGI stall. AGP:: '''A'''ccelerated '''G'''raphics '''P'''ort, on x86 boxes. |
|
Line 17: | Line 21: |
anonymous Generally, used for something which doesn't have the usual associated object. For example an anonymous address space is not interested in user address space (that is, no process context). Some common ones are : Anonymous page A page of memory that is not associated with a file on a file system. This can come from expanding the process's data segment with brk(), shared memory segments, or mmap() with a MAP_ANON or MAP_PRIVATE flag. MAP_PRIVATE, although it maps in data from a file, is considered anonymous because any changes do not get written back to the file (any dirty pages have to be moved to swap if the page is freed from main memory). Anonymous buffer The buffer cache contains buffers of data on their way to/from the disk. An anonymous buffer is not associated with a file. One example of this is data from a deleted file - it will not be written to any file, but is kept around until it is flushed. APIC See local APIC and IO-APIC. APM Advanced Power Management, power management standard superceded by ACPI. APM and SMP just don't mix. ARP This is an acronym for the Address Resolution Protocol and this is how a network machine associates an IP Address with a hardware address. ASN.1 Abstract Syntax Notation, a protocol for structured data, used, for example, in the Q.3 managament protocol. ast Professor Andrew S. Tanenbaum, writer of MINIX and several essential O/S books. ATAPI ATA Packet Interface, used by most CD-ROMs, and other devices. |
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...
Index
[#0-9 0-9] |
[#A A] |
[#B B] |
[#C C] |
[#D D] |
[#E E] |
[#F F] |
[#G G] |
[#H H] |
[#I I] |
[#J J] |
[#K K] |
[#L L] |
[#M M] |
[#N N] |
[#O O] |
[#P P] |
[#Q Q] |
[#R R] |
[#S S] |
[#T T] |
[#U U] |
[#V V] |
[#W W] |
[#X X] |
[#Y Y] |
[#Z Z] |
0-9
- 2Q algorithm
- MM algorithm based on two areas, one managed as a FIFO queue, and one as an LRU list.
- 8259 PIC
- Outdated interrupt controller present on Intel hardware.
A
- ABI
Application Binary Interface, the interface of passed structures between the user processes (and libraries) and the kernel. For compatibility, it is important that these remain as static as possible (i.e. making sure that variables and structure members have the same bytesize as before, and in the same ordering). Occasionally breakage is necessary, requiring re-compilation of the user-space sources (note that this does not affect source-compatibility; that is a separate issue).
- ACPI
Advanced Configuration and Power Interface, replacement for APM that has the advantage of allowing O/S control of power management facilities.
- AGI
Address Generation Interlocking, on x86. When execution of an instruction requires an address resulting from a non-completed instrcution, the CPU must wait - this is known as an AGI stall.
- AGP
Accelerated Graphics Port, on x86 boxes.
- AIO
Asynchronous IO, IO that is performed without the issuing process blocking on IO completion.
- Anticipatory Scheduler
- A disk IO scheduler that leaves the disk idle after a read, in anticipation of the next read.
anonymous
- Generally, used for something which doesn't have the usual associated object. For example an anonymous address space is not interested in user address space (that is, no process context). Some common ones are : Anonymous page
- A page of memory that is not associated with a file on a file system. This can come from expanding the process's data segment with brk(), shared memory segments, or mmap() with a MAP_ANON or MAP_PRIVATE flag. MAP_PRIVATE, although it maps in data from a file, is considered anonymous because any changes do not get written back to the file (any dirty pages have to be moved to swap if the page is freed from main memory).
- The buffer cache contains buffers of data on their way to/from the disk. An anonymous buffer is not associated with a file. One example of this is data from a deleted file - it will not be written to any file, but is kept around until it is flushed.
APIC
- See local APIC and IO-APIC.
APM
- Advanced Power Management, power management standard superceded by ACPI. APM and SMP just don't mix.
ARP
- This is an acronym for the Address Resolution Protocol and this is how a network machine associates an IP Address with a hardware address.
ASN.1
- Abstract Syntax Notation, a protocol for structured data, used, for example, in the Q.3 managament protocol.
ast
- Professor Andrew S. Tanenbaum, writer of MINIX and several essential O/S books.
ATAPI
- ATA Packet Interface, used by most CD-ROMs, and other devices.
B
C
- CBQ
Class Based Queueing, a hierarchical packet fair queueing qdisc. [http://www.icir.org/floyd/cbq.html CBQ Homepage]
- Classifier
- (also: filter or tcf) classifies a network packet by inspecting it, used by QDiscs.
- Context switch
- switching the CPU from running one thread to running another thread.
- 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.
D
- 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.
- Dwarf
- Debugging Information Format
E
- ELF
Executable Linkable Format, a popular binary format, the default for Linux on most architectures.
- ematch
- Extended Match, small classification helper attached to classifiers.
F
G
- GRUB
GRand Unified Bootloader, a popular bootloader for Linux, BSD, and other OSes.
H
- HTB
Hierachical Token Bucket, a qdisc based on TBF and CBQ. [http://luxik.cdi.cz/~devik/qos/htb/manual/theory.htm HTB Theory]
I
- ISR
Interrupt Service Routine, the function in each device driver that gets called when an interrupt happens.
J
- 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".
K
- kswapd
- a kernel thread that frees up memory by evicting data from caches and paging out userspace memory, part of the virtual memory subsystem.
L
- Linux Device Drivers, 3rd Edition
[http://lwn.net/Kernel/LDD3/ online edition].
- LKM
Linux Kernel Module. A (often dynamically 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. FAQ at [http://www.tux.org/lkml/].
- LSM
- Linux Security Module. a security framework for providing different security levels.
- 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].
M
- 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.
N
- netlink
- Communication protocol between kernel and userspace
O
P
- 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.
- 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.
Q
- 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 prioritizing capabilities.
- QoS
Quality of Service, method to define the importance/priority of network services
R
- RCU
Read Copy Update, a mechanism for ["SMPSynchronisation"]
- Rlimit
- resource limit, eg. "maximum amount of virtual memory" or "maximum number of processes". Can be per process or per user.
S
- Semaphore
- a lock mechanism that works per process context, see ["SMPSynchronisation"]
- 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.
- Slab cache
- a fast, SMP scalable kernel memory allocator.
- Socket Buffer
- (also: skb) data structure used to hold the data and attributes of a network packet.
- 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 [http://www.cs.wm.edu/~sjiang/token.pdf Token Based Thrashing Control] paper by Song Jiang and the [http://linux-mm.org/wiki/SwapTokenTuning Linux-MM wiki].
- 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.
T
- TASK_RUNNING
- State of the task that can run but is not necessarily running.
- TBF
Token Bucket Filter, a qdisc used for rate limiting
- TGID
Task Group IDentifier (POSIX process identifier)
U
- 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 [http://linux-mm.org/wiki/AdvancedPageReplacement AdvancedPageReplacement] page.
V
- VDSO
Anchor(VDSO)Virtual Dynamically-linked Shared Object, a kernel-provided shared library that helps userspace perform a few kernel actions without the overhead of a system call, as well as automatically chosing the most efficient syscall mechanism. Also called the "vsyscall 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, independant of the other processes.
- Vsyscall page
- see [#VDSO VDSO].
W
X
- 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 [http://xen.sf.net 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.
Y
Z
- 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.