advisory locking

Locking that is not enforced: All processes that manipulate the locked files must explicitly check for the existence of locks. (276)

anonymous mapping

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)

basic regular expression (BRE)

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)

blocked signals

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)

buffer overflow

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)

buffer underrun

Writing data before the beginning of the memory location allocated for that data. (59)

canonical hostname

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)

catching a signal

Providing a function that gets executed when a particular signal is sent to the process. (203)

Command Sequence Introduction (CSI)

A character that initiates a relatively complex escape sequence. (517)

concurrent server

A server that can handle multiple requests (normally from multiple hosts) simultaneously. (421)

connection-oriented protocol

Anetwork protocol which provides communication between two endpoints by establishing a connection, communicating over that connection, and terminating the connection. (409)

connectionless protocol

A network protocol that allows two endpoints to communicate without first creating a connection between them. (409)

control character

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)

dangling link

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)

device files

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)

dotted-decimal notation

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)

effective uid

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)

environment variables

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)

error control

The characteristic of some network protocols that ensures the data which arrives is correct. (410)

escape character

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)

escape sequence

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)

Executable and Linking Format (ELF)

A generic file format for various kinds of binary files, including object files, libraries, shared libraries, and executables. (81)

extended regular expression (ERE)

The type of string-matching expression used by the egrep utility. (557)

file descriptor

A small positive integer, used by a process as a reference to an open file. (165)

file mode

A 16-bit value that specifies a file's type and access permissions. (158)

file structure

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)

filesystem uid

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)

init process

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)

iterative server

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)

job control

A feature that allows groups of related processes to be managed from a single terminal. (325)

kernel mode

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)

locked memory

A memory region that is never swapped. (275)

major fault

A fault caused by a process accessing memory that is not currently available, which forces the kernel to access the disk. (118)

mandatory locking

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)

memory leak

Allocating memory without deallocating it, usually including dropping all references to the allocated memory. (59)

minor fault

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)

network byte order

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)

orphan process

A process whose parent has died. (107)

packet-based protocols

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)

pending connections

Socket connections made to addresses that have been listen() ed to but have not yet been accept() ed. (415)

pending signals

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)

process group

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)

real uid

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)

reentrant functions

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)

regular files

Files that store normal data. (155)

reliable signals

Signal implementations defined to allow consistent and correct signal handling. (207)

reserved ports

The TCP port numbers from 0 to 1,024, which may be used only by processes running as root. (432)

resident set size

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)

reverse name lookup

The process of converting an IP address into the associated canonical hostname. (438)

saved uid

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)

shell script

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)

streaming protocols

Network protocols that transmit data as a sequence of bytes without any boundaries between them. (410)

symbolic links

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)

system call

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)

unreliable signals

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)

user mode

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)

well-known port

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)


    Linux Application Development
    Linux Application Development (paperback) (2nd Edition)
    ISBN: 0321563220
    EAN: 2147483647
    Year: 2003
    Pages: 168

    Similar book on Amazon © 2008-2017.
    If you may any questions please contact us: