Locking that is not enforced: All processes that manipulate the locked files must explicitly check for the existence of locks. (276)
A mapping of memory that is not associated with an inode in a file system, limited to private use within a process. (269)
The archiving utility used most often to create libraries. (79)
The type of string-matching expression used by the grep
utility. (557)
Multibyte values stored with the most significant byte in the lowest memory address or first byte transmitted, followed by the remainder of the bytes in order of significance. (430)
Signals that a process is not prepared to accept. Usually, signals are blocked for a short time while the process is performing a sensitive task. When a signal is sent to a process that is blocking that signal, the signal remains pending until the process unblocks the signal. (207)
A long stream of 0 bits on a serial interface. (375)
Writing data past the end of the memory location allocated for that data, which normally causes the program to fail in a seemingly random way and can also be the cause of security vulnerabilities. (59)
Writing data before the beginning of the memory location allocated for that data. (59)
Hostname to which an IP address maps. While many hostnames may map to a single IP address, that address maps only back to a single, canonical, hostname. (438)
Actions a terminal can take in response to received escape sequences. (514)
Providing a function that gets executed when a particular signal is sent to the process. (203)
A character that initiates a relatively complex escape sequence. (517)
A server that can handle multiple requests (normally from multiple hosts) simultaneously. (421)
Anetwork protocol which provides communication between two endpoints by establishing a connection, communicating over that connection, and terminating the connection. (409)
A network protocol that allows two endpoints to communicate without first creating a connection between them. (409)
A character in a data stream that provides control information to the processing program but does not change the processing mode. (516)
Marking as read-only a page meant to be writeable and private to multiple processes, producing a writeable version for each process as each process tries to write to it. (128)
A symbolic link that references a nonexistent file. (192)
Cases in which at least two consumers of resources (such as processes) are waiting for a resource held by another of the consumers in the same set, ensuring that no progress can be made. (133)
Special files that represent physical or logical devices on the system. Representing these as files lets programs access them using the normal file system calls. (156)
Special files that contain lists of file names, and can include other files. Directories are widely used for arranging large number of files in a hierarchical manner. (156)
The standard form for writing an IPv4 address as a decimal number for every byte in the address, with those bytes being separated by periods. (431)
The user ID used for most credential checks. Under Linux, the filesystem uid is used for file permission checks while the effective uid is used for all other credential checks. (110)
Name/value pairs, wherein each pair is represented as a single string of the form NAME
=
VALUE
, and the set of these strings makes up the program’s environment. (115)
A point from which time is measured. Linux, like all Unix systems, defines its epoch as midnight, January 1, 1970 UTC. (481)
The characteristic of some network protocols that ensures the data which arrives is correct. (410)
A character in a data stream that changes the data processing mode from normal mode to an escape mode, which usually involves reading some subsequent characters for control information. (516)
A series of characters that is treated differently by the program reading it. The escape sequence often encodes control information in a stream of data. (513)
A generic file format for various kinds of binary files, including object files, libraries, shared libraries, and executables. (81)
The type of string-matching expression used by the egrep
utility. (557)
A small positive integer, used by a process as a reference to an open file. (165)
A 16-bit value that specifies a file’s type and access permissions. (158)
The structure that is allocated each time a file is opened. File descriptors link a process to a file structure, and each file structure may be referenced by multiple descriptors in multiple processes. (197)
The user ID associated with a process that is used to verify permissions for file system accesses by that process. (113)
Expanding *, ?
, and []
according to file name matching rules. (300)
The shape used to represent a character. (516)
The dynamic memory pool from which the malloc()
library call allocates memory during program execution. (60)
The first process on a Linux system. It is the only process started by the kernel and is responsible for starting every other process on the system. When processes are orphaned, the init process becomes the parent of the orphaned process and is responsible for preventing that process from becoming a zombie. (107)
A server that handles a single request at a time. (421)
Ticks of the underlying system clock, or a synthetic replica of a system clock. (505)
A feature that allows groups of related processes to be managed from a single terminal. (325)
The unlimited, privileged execution environment in which the kernel runs, protected from programs running in user mode. (92)
The linker that combines object files into an executable. (79)
Multibyte values stored with the least significant byte in the lowest memory address or first byte transmitted, followed by the remainder of the bytes in order of significance. (430)
A memory region that is never swapped. (275)
A fault caused by a process accessing memory that is not currently available, which forces the kernel to access the disk. (118)
Locking that is enforced; for example, processes attempting to write to an area on which another process has placed a write lock block until the write lock is removed. (276)
Allocating memory without deallocating it, usually including dropping all references to the allocated memory. (59)
A fault caused by a process accessing memory that is not currently available but that does not require a disk access for the kernel to satisfy. (118)
The method of control in which the response to input depends on the mode a program is in, which is generally determined by prior input. (516)
The order in which bytes in multibyte values are transmitted across a network. For TCP/IP, the network byte order is bigendian. (430)
The first character of the first row of a character-matrix display. (520)
A process whose parent has died. (107)
Network protocols that transmit data as groups of bytes; each group is delivered as a single unit and is neither merged with another group nor split up. (410)
Socket connections made to addresses that have been listen()
ed to but have not yet been accept()
ed. (415)
Signals that have been sent to a process but have not yet been delivered. (204)
A positive integer that uniquely identifies a process. (107)
A simple mechanism of interprocess communication that lets processes write data to a file descriptor that appears as data to be read through another file descriptor. (155)
A set of processes logically related. Process groups are moved between a terminal’s foreground and background through job control, most commonly by shells. (135)
The user ID that is actually responsible for running the process. This can be changed only by the root user, and allows setgid programs to know which user invoked them. (110)
Functions that can be interrupted by a signal and called again from the signal handler. More generally, reentrancy is the ability for a code segment to be run simultaneously in multiple threads of execution. (206)
Files that store normal data. (155)
Signal implementations defined to allow consistent and correct signal handling. (207)
The TCP port numbers from 0 to 1,024, which may be used only by processes running as root. (432)
The amount of RAM a process is currently using. The swapped-out portions of the process do not contribute to its resident set size. (121)
The process of converting an IP address into the associated canonical hostname. (438)
The user ID that a process can make the effective uid even if they would not otherwise have sufficient permission to assume that uid. (110)
The characteristic of some network protocols which guarantees that data arrives in the same order it was sent and that no data has been lost. (409)
A set of process groups running on a single terminal. (135)
A program whose primary purpose is to run other programs and perform job control; popular Linux shells include the Bourne again shell (bash
) and the enhanced C-shell tcsh
. (134)
A program that uses #!
as the first two bytes of the file to specify a command interpreter used to execute the program. (160)
File-based abstraction for communication protocols. Sockets can communicate across a network or on a single machine. Unix Domain Sockets work only on a single machine and have entries in the file system that are used for accessing them. (157)
Network protocols that transmit data as a sequence of bytes without any boundaries between them. (410)
Files that reference other files in the file system. This allows a single file to appear as if it exists in multiple directories, even if those directories are on separate devices (or even on separate network file systems). (156)
The mechanism used by user-mode processes to request kernel-mode services. (93)
Original terminal capabilities database. (515)
New, improved terminal capabilities database. (515)
Bit-stream-oriented terminal interface. (335)
Signal implementations that make consistent signal handling impossible. Most unreliable signal implementations either deliver signals no matter what a process’s execution state is, or they reset signal handlers to a default value when a signal is delivered. (206)
The limited execution environment in which programs run. (92)
A memory-oriented device for accessing and changing the contents of a virtual console. (528)
A memory-oriented device for accessing and changing the contents and attributes of a virtual console. (529)
A port number on which the Internet Assigned Numbers Authority has defined as being the primary port that a certain service is provided. For example, HTTP, the primary protocol for the Web, has the well-known port number of 80 and most Web servers provide HTTP access on that port. Well-known ports are normally, but not always, reserved ports. (431)
A process that has terminated, but whose parent has not collected its exit status, causing the terminated process to be left in the system’s process table. (107)
18.222.117.15