1. Trang chủ >
  2. Công Nghệ Thông Tin >
  3. Kỹ thuật lập trình >

6 Network Stack Features (IGMPv3, IPv6, and Others)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (10.65 MB, 1,190 trang )

Block I/O (BIO) Block Layer


Internet Protocol Virtual Server (IPVS)

IPVS implements transport layer switching inside the kernel for load balancing.

This feature enables a single machine to distribute connections to a server farm,

allowing transparent load balancing.

Access Control Lists (ACLs)

The traditional UNIX permission system allows three permissions to be assigned to

each file: controlling access by the owner, by a single group, and by everyone else.

ACLs provide much finer-grained access control. In theory, ACLs can increase security. However, they make setting correct permissions more complicated, which may

encourage administrators to establish weaker controls than they should.

4GB-4GB Memory Split: Physical Address

Extension (PAE)

The 32-bit CPUs are limited in that they can address only 232 bytes (4 gigabytes) of

memory. With the Pentium Pro, Intel introduced a work-around to this limitation

called Physical Address Extension (PAE), which permits the operating system to

address up to 64 gigabytes of memory. Because they are limited to addressing 4

gigabytes each, 32-bit programs cannot access this much memory. A Linux kernel

from the main tree is able to allocate up to 1 gigabyte for the kernel and 3 gigabytes

for each userspace (page 1067) process.

Scheduler Support for HyperThreaded CPUs

The Linux 2.6 kernel supports Intel’s HyperThreading. The 2.6 kernel treats each

virtual CPU as the equivalent of a physical CPU.

Block I/O (BIO) Block Layer

The 2.6 kernel includes a completely redesigned interface to drivers for block

devices (page 569). While this conveys a number of benefits, it also means that these

device drivers need to be rewritten and tested.

1020 Appendix E The Linux 2.6 Kernel

Support for Filesystems Larger Than 2 Terabytes

The Linux 2.6 kernel includes SGI’s XFS journaling filesystem, which supports filesystems of up to 9 exabytes (9 × 260 bytes).

New I/O Elevators

I/O elevators control how long I/O requests can be queued to allow them to be reordered for optimal device performance. The Linux 2.6 kernel includes some additional

settings that allow I/O elevators to be tuned for specific high-device-load situations.

Interactive Scheduler Response Tuning

The new scheduler in the Linux 2.6 kernel prioritizes I/O bound processes. Because

most user interface processes spend most of their time waiting for input from the

user, this tuning should result in a more responsive system under high system load.


All entries marked with FOLDOC are based on definitions in the Free

Online Dictionary of Computing (www.foldoc.org), Denis Howe,

editor. Used with permission.

G lossary



1022 Glossary

See private address space on page 1054.

See private address space on page 1054.

See private address space on page 1054.


A family of specifications developed by IEEE for wireless LAN technology, including 802.11 (1–2 megabits per second), 802.11a (54 megabits per second), 802.11b

(11 megabits per second), and 802.11g (54 megabits per second).



A pathname that starts with the root directory ( /). An absolute pathname locates a

file without regard to the working directory.


In computer jargon, a verb meaning to use, read from, or write to. To access a file

means to read from or write to the file.

Access Control See ACL.




Permission to read from, write to, or execute a file. If you have write access permission to a file, you can write to the file. Also access privilege.


Access Control List. A system that performs a function similar to file permissions

but with much finer-grain control.

active window On a desktop, the window that receives the characters you type on the keyboard.

Same as focus, desktop (page 1037).

address mask

See subnet mask on page 1063.


A mechanism of a shell that enables you to define new commands.



One of the characters, either uppercase or lowercase, from A to Z and 0 to 9, inclusive.

ambiguous file A reference to a file that does not necessarily specify any one file but can be used to


specify a group of files. The shell expands an ambiguous file reference into a list of

filenames. Special characters represent single characters (?), strings of zero or more

characters (*), and character classes ([]) within ambiguous file references. An

ambiguous file reference is a type of regular expression (page 1056).

angle bracket

A left angle bracket (<) and a right angle bracket (>). The shell uses < to redirect a

command’s standard input to come from a file and > to redirect the standard output. The shell uses the characters << to signify the start of a Here document and >>

to append output to a file.


When referring to a window action, means that the action is slowed down so the

user can view it. For example, when you minimize a window, it can disappear all at

once (not animated) or it can slowly telescope into the panel so you can get a visual

feel for what is happening (animated).

Glossary 1023


Adding gray pixels at the edge of a diagonal line to get rid of the jagged appearance

and thereby make the line look smoother. Anti-aliasing sometimes makes type on a

screen look better and sometimes worse; it works best on small and large fonts and

is less effective on fonts from 8 to 15 points. See also subpixel hinting (page 1063).


Application program interface. The interface (calling conventions) by which an

application program accesses an operating system and other services. An API is

defined at the source code level and provides a level of abstraction between the

application and the kernel (or other privileged utilities) to ensure the portability of

the code.FOLDOC


To add something to the end of something else. To append text to a file means to

add the text to the end of the file. The shell uses >> to append a command’s output

to a file.


A small program that runs within a larger program. Examples are Java applets that

run in a browser and panel applets that run from a desktop panel.


A file that contains a group of smaller, typically related, files. Also, to create such a

file. The tar and cpio utilities can create and read archives.


A number, letter, filename, or another string that gives some information to a command and is passed to the command when it is called. A command line argument is

anything on a command line following the command name that is passed to the

command. An option is a kind of argument.



A group of numbers, operators, and parentheses that can be evaluated. When you

evaluate an arithmetic expression, you end up with a number. The Bourne Again

Shell uses the expr command to evaluate arithmetic expressions; the TC Shell uses

@, and the Z Shell uses let.


An arrangement of elements (numbers or strings of characters) in one or more

dimensions. The Bourne Again, TC, and Z Shells and gawk can store and process



American Standard Code for Information Interchange. A code that uses seven bits

to represent both graphic (letters, numbers, and punctuation) and CONTROL characters.

You can represent textual information, including program source code and English

text, in ASCII code. Because ASCII is a standard, it is frequently used when

exchanging information between computers. See the file /usr/pub/ascii or give the

command man ascii to see a list of ASCII codes.

Extensions of the ASCII character set use eight bits. The seven-bit set is common;

the eight-bit extensions are still coming into popular use. The eighth bit is sometimes referred to as the metabit.

ASCII terminal A textual terminal. Contrast with graphical display (page 1038).

1024 Glossary


Application service provider. A company that provides applications over the Internet.



An event that does not occur regularly or synchronously with another event. Linux

system signals are asynchronous; they can occur at any time because they can be initiated by any number of nonregular events.


A file that is attached to, but is not part of, a piece of email. Attachments are frequently opened by programs (including your Internet browser) that are called by

your mail program so you may not be aware that they are not an integral part of an

email message.

authentication The verification of the identity of a person or process. In a communication system,

authentication verifies that a message comes from its stated source. Methods of

authentication on a Linux system include the /etc/passwd and /etc/shadow files,

LDAP, Kerberos 5, and SMB authentication.FOLDOC



A way of demand mounting directories from remote hosts without having them

hard configured into /etc/fstab. Also called automounting.


An object, such as a panel, that should not normally be covered by another object,

such as a window.

back door

A security hole deliberately left in place by the designers or maintainers of a system.

The motivation for creating such holes is not always sinister; some operating systems, for example, come out of the box with privileged accounts intended for use by

field service technicians or the vendor’s maintenance programmers.

Ken Thompson’s 1983 Turing Award lecture to the ACM revealed the existence, in

early UNIX versions, of a back door that may be the most fiendishly clever security

hack of all time. The C compiler contained code that would recognize when the

login command was being recompiled and would insert some code recognizing a

password chosen by Thompson, giving him entry to the system whether or not an

account had been created for him.

Normally such a back door could be removed by removing it from the source code

for the compiler and recompiling the compiler. But to recompile the compiler, you

have to use the compiler, so Thompson arranged that the compiler would recognize

when it was compiling a version of itself. It would insert into the recompiled compiler the code to insert into the recompiled login the code to allow Thompson entry,

and, of course, the code to recognize itself and do the whole thing again the next

time around. Having done this once, he was then able to recompile the compiler

from the original sources; the hack perpetuated itself invisibly, leaving the back

door in place and active but with no trace in the sources.

Sometimes called a wormhole. Also trap door.FOLDOC



A process that is not run in the foreground. Also called a detached process, a background process is initiated by a command line that ends with an ampersand (&).

You do not have to wait for a background process to run to completion before giving

Glossary 1025

the shell additional commands. If you have job control, you can move background

processes to the foreground, and vice versa.


The name of a file that, in contrast with a pathname, does not mention any of the

directories containing the file (and therefore does not contain any slashes [/]). For

example, hosts is the basename of /etc/hosts.FOLDOC


The maximum information-carrying capacity of a communication channel in symbols (state transitions or level transitions) per second. It coincides with bits per second only for two-level modulation with no framing or stop bits. A symbol is a

unique state of the communication channel, distinguishable by the receiver from all

other possible states. For example, it may be one of two voltage levels on a wire for

a direct digital connection, or it might be the phase or frequency of a carrier.FOLDOC

Baud is often mistakenly used as a synonym for bits per second.

baud rate

Transmission speed. Usually used to measure terminal or modem speed. Common

baud rates range from 110 to 38,400 baud. See baud.



One of the two major versions of the UNIX operating system. Berkeley UNIX was

developed at the University of California at Berkeley by the Computer Systems

Research Group and is often referred to as BSD (Berkeley Software Distribution).


Berkeley Internet Name Domain. An implementation of a DNS (page 1034) server

developed and distributed by the University of California at Berkeley


Basic Input/Output System. On PCs, EEPROM-based (page 1035) system software

that provides the lowest-level interface to peripheral devices and controls the first stage

of the bootstrap (page 1026) process, which loads the operating system. The BIOS can

be stored in different types of memory. The memory must be nonvolatile so that it

remembers the system settings even when the system is turned off. Also BIOS ROM.

Refer to page 26 for instructions on how to open the BIOS screens for maintenance.


The smallest piece of information a computer can handle. A bit is a binary digit:

either 1 or 0 (on or off ).

bit depth

Same as color depth (page 1029).



A graphical display device in which each pixel on the screen is controlled by an

underlying representation of zeros and ones.



Either a SPACE or a TAB character, also called whitespace (page 1068). In some contexts, NEWLINE s are considered blank characters.


A section of a disk or tape (usually 1,024 bytes long but shorter or longer on some

systems) that is written at one time.

block device

A disk or tape drive. A block device stores information in blocks of characters. A

block device is represented by a block device (block special) file. Contrast with

character device (page 1028).

1026 Glossary

block number

Disk and tape blocks are numbered so that Linux can keep track of the data on the




The number of logical blocks that make up a physical block on a tape or disk.

When you write 1K logical blocks to a tape with a physical block size of 30K, the

blocking factor is 30.


The type of an expression with two possible values: true and false. Also, a variable

of Boolean type or a function with Boolean arguments or result. The most common

Boolean functions are AND, OR, and NOT.FOLDOC


See bootstrap.

boot loader

A very small program that takes its place in the bootstrap process that brings a

computer from off or reset to a fully functional state. See “grub: The Linux Boot

Loader” on page 647.


Derived from “Pull oneself up by one’s own bootstraps,” the incremental process of

loading an operating system kernel into memory and starting it running without

any outside assistance. Frequently shortened to boot.

Bourne Again


bash. GNU’s command interpreter for UNIX, bash is a POSIX-compliant shell

with full Bourne Shell syntax and some C Shell commands built in. The Bourne

Again Shell supports emacs-style command line editing, job control, functions,

and online help.FOLDOC

Bourne Shell

sh. This UNIX command processor was developed by Steve Bourne at AT&T Bell



A left brace ( {) and a right brace (}). Braces have special meanings to the shell.


A square bracket (page 1061) or an angle bracket (page 1022).


In a tree structure, a branch connects nodes, leaves, and the root. The Linux filesystem hierarchy is often conceptualized as an upside-down tree. The branches connect files and directories. In a source code control system, such as SCCS or RCS, a

branch occurs when a revision is made to a file and is not included in subsequent

revisions to the file.


Typically a two-port device originally used for extending networks at layer 2 (data

link) of the Internet Protocol model.


A transmission to multiple, unspecified recipients. On Ethernet a broadcast packet

is a special type of multicast packet that has a special address indicating that all

devices that receive it should process it. Broadcast traffic exists at several layers of

the network stack, including Ethernet and IP. Broadcast traffic has one source but

indeterminate destinations (all hosts on the local network).



The last address on a subnet (usually 255), reserved as shorthand to mean all hosts.

Glossary 1027



A type of network, such as Ethernet, in which any system can transmit information

at any time, and all systems receive every message.


See Berkeley UNIX on page 1025.


An area of memory that stores data until it can be used. When you write information to a file on a disk, Linux stores the information in a disk buffer until there is

enough to write to the disk or until the disk is ready to receive the information.


An unwanted and unintended program property, especially one that causes the program to malfunction.FOLDOC



A command that is built into a shell. Each of the three major shells—the Bourne

Again, TC, and Z Shells—has its own set of builtins. Refer to “Builtins” on page 243.


A component in the machine data hierarchy, usually larger than a bit and smaller

than a word; now most often eight bits and the smallest addressable unit of storage.

A byte typically holds one character.FOLDOC




A modern systems language that has high-level features for efficient, modular programming as well as lower-level features that make it suitable for use as a systems

programming language. It is machine independent so that carefully written C programs can be easily transported to run on different machines. Most of the Linux

operating system is written in C, and Linux provides an ideal environment for programming in C.

C Shell

csh. The C Shell command processor was developed by Bill Joy for BSD UNIX. It

was named for the C programming language because its programming constructs

are similar to those of C. See shell on page 1059.

cable modem

A type of modem that allows you to access the Internet by using your cable television connection.


Holding recently accessed data, a small, fast memory designed to speed up subsequent access to the same data. Most often applied to processor-memory access but

also used for a local copy of data accessible over a network, from a hard disk, and

so on.FOLDOC



A list of variables and their values that is made available to a called program. Refer

to “Executing a Command” on page 312.



See CSS on page 1031.



An arrangement of windows such that they overlap, generally with at least part of

the title bar visible. Opposite of tiled windows (page 1065).

case sensitive

Able to distinguish between uppercase and lowercase characters. Unless you set the

ignorecase parameter, vim performs case-sensitive searches. The grep utility performs case-sensitive searches unless you use the –i option.

1028 Glossary


To join sequentially, or end to end. The Linux cat utility catenates files: It displays

them one after the other. Also concatenate.

chain loading

The technique used by a boot loader to load unsupported operating systems. Used

for loading such operating systems as DOS or Windows, it works by loading

another boot loader.


A program, utility, or interface that works only with ASCII (page 1023) characters.

This set of characters includes some simple graphics, such as lines and corners, and

can display colored characters. It cannot display true graphics. Contrast with GUI

(page 1038).

characterA terminal that displays only characters and very limited graphics. See character-based.

based terminal

character class In a regular expression, a group of characters that defines which characters can

occupy a single character position. A character-class definition is usually surrounded by square brackets. The character class defined by [abcr] represents a character position that can be occupied by a, b, c, or r. Also list operator.

In POSIX, used to refer to sets of characters with a common characteristic, denoted

by the notation [:class:]; for example, [:upper:] denotes the set of uppercase letters.

This book uses the term character class as explained under “Brackets” on page 973.



A terminal, printer, or modem. A character device stores or displays characters one

at a time. A character device is represented by a character device (character special)

file. Contrast with block device (page 1025).

check box

A GUI widget, usually the outline of a square box with an adjacent caption, that a

user can click to display or remove a tick (page 1065). When the box holds a tick,

the option described by the caption is on or true. Also tick box.


A computed value that depends on the contents of a block of data and is transmitted or stored along with the data to detect corruption of the data. The receiving system recomputes the checksum based on the received data and compares this value

with the one sent with the data. If the two values are the same, the receiver has

some confidence that the data was received correctly.

The checksum may be 8, 16, or 32 bits, or some other size. It is computed by summing the bytes or words of the data block, ignoring overflow. The checksum may be

negated so that the total of the data words plus the checksum is zero.

Internet packets use a 32-bit checksum.FOLDOC

child process

A process that is created by another process, the parent process. Every process is a

child process except for the first process, which is started when Linux begins execution. When you run a command from the shell, the shell spawns a child process to

run the command. See process on page 1054.

Glossary 1029


Classless Inter-Domain Routing. A scheme that allocates blocks of Internet

addresses in a way that allows summarization into a smaller number of routing

table entries. A CIDR block is a block of Internet addresses assigned to an ISP by

the Internic. Refer to “CIDR: Classless Inter-Domain Routing” on page 367.FOLDOC


Common Internet File System. An Internet filesystem protocol based on SMB

(page 1060). CIFS runs on top of TCP/IP, uses DNS, and is optimized to support

slower dial-up Internet connections. SMB and CIFS are used interchangeably.FOLDOC


Crypto IP Encapsulation (page 1035). This protocol (page 1054) tunnels

(page 1066) IP packets within encrypted UDP (page 1066) packets, is lightweight

and simple, and works over dynamic addresses, NAT (page 1049), and SOCKS

(page 1061) proxies (page 1055).

cipher (cypher) A cryptographic system that uses a key to transpose/substitute characters within a

message, the key itself, or the message.


Text that is encrypted. Contrast with plaintext (page 1053). See also “Encryption”

on page 992.




See CIDR on page 1029.


Text that is not encrypted. Also plaintext. Contrast with ciphertext. See also

“Encryption” on page 992.


Command line interface. See also character-based (page 1028). Also textual interface.


A computer or program that requests one or more services from a server.


Coder/decoder or compressor/decompressor. A hardware and/or software technology that codes and decodes data. MPEG is a popular CODEC for computer video.

color depth

The number of bits used to generate a pixel—usually 8, 16, 24, or 32. The color

depth is directly related to the number of colors that can be generated. The number

of colors that can be generated is 2 raised to the color-depth power. Thus a 24-bit

video adapter can generate about 16.7 million colors.

color quality

See color depth.

combo box

A combination of a drop-down list (page 1035) and text box (page 1064). You can

enter text in a combo box. Or, you can click a combo box, cause it to expand and

display a static list of selections for you to choose from.


What you give the shell in response to a prompt. When you give the shell a command, it executes a utility, another program, a builtin command, or a shell script.

Utilities are often referred to as commands. When you are using an interactive utility, such as vim or mail, you use commands that are appropriate to that utility.

Xem Thêm
Tải bản đầy đủ (.pdf) (1,190 trang)