Appendix 1. Glossary

account

On a UNIX® system, the combination of a name, a personal directory, a password and a shell which allows a user to connect to the system.

alias

A mechanism used in a shell in order to substitute one string for another before executing a command. You can see all aliases defined in the current session by typing alias at the prompt.

ACPI

Advanced Configuration and Power Interface. A feature used to recognize and configure hardware and for power management. Unlike APM, which relies on the BIOS only, ACPI also relies on the operating system, making its control more simple for the user. ACPI also brings power management capabilities to servers and workstations.

APM

Advanced Power Management. A feature used by some BIOSes in order to make the machine enter a standby state after a given period of inactivity. On laptops, APM is also responsible for reporting the battery status and (if supported) the estimated remaining battery life. However, newer laptops are based on ACPI rather than APM.

See Also ACPI.

ARP

Address Resolution Protocol. The Internet protocol used to dynamically map an Internet address to a physical (hardware) address on a local area network. This is limited to networks which support hardware broadcasting.

ASCII

American Standard Code for Information Interchange. The standard code used for storing characters, including control characters, on a computer. Many 8-bit codes (such as ISO 8859-1, usually the Linux default character set, unless you have chosen to use something like UTF-8) contain ASCII as their lower half.

See Also ISO 8859, UTF-8.

assembly language

Is the programming language that is closest to the computer, which is why it's called a “low level” programming language. Assembly has the advantage of speed since assembly programs are written in terms of processor instructions so little or no translation is needed when generating executables. Its main disadvantage is that it is processor (or architecture) dependent. Writing complex programs is very time-consuming as well. So, assembly is the fastest programming language, but it isn't portable between architectures.

ATAPI

AT Attachment Packet Interface. An extension to the ATA specification (Advanced Technology Attachment, more commonly known as IDE, Integrated Drive Electronics) which provides additional commands to control CD-ROM drives and magnetic tape drives. IDE controllers equipped with this extension are also referred to as EIDE (Enhanced IDE) controllers.

See Also IDE.

ATM

This is an acronym for Asynchronous Transfer Mode. An ATM network packages data into standard size blocks (53 bytes: 48 for the data and 5 for the header) which can be conveyed efficiently from point to point. ATM is a circuit switched packet network technology oriented towards high speed (multi-megabit) networks.

atomic

A set of operations is said to be atomic when they execute all at once and cannot be preempted. It is commonly used for an “all or nothing” set: either all of the operations perform successfully or none of them are taken into account. It might also be used for essential or very simple operations, like the sum of two integral numbers.

background

In shell context, a process is running in the background if you can type commands that are captured by the process while it is running. It is the opposite of a foreground process.

See Also job, foreground.

backup

A means of saving important data to a safe medium and location. Backups should be made regularly, especially with more critical information and configuration files (the most important directories to backup are /etc, /home and /usr/local). Traditionally, many people use tar with gzip or bzip2 to backup directories and files. You can use these tools or programs like dump and restore, along with many other free or commercial backup solutions.

batch

A processing mode where jobs or instructions which are submitted to the CPU are executed sequentially until all have been processed.

beep

The little noise your computer's speaker emits to warn you of some ambiguous situation when you're using command completion and, for example, there's more than one possible choice for completion. There might be other programs that make beeps to let you know of some particular situation.

beta testing

The name given to the process of testing the beta version of a program. Programs usually get released in “alpha”, “beta” and “release candidate” states for testing prior to final release.

binary

In the context of programming, binaries are the compiled, executable code.

bit

Stands for BInary digiT. A single digit which can take the values 0 or 1, because calculation is done in base two. It is the most basic unit of digital information.

block mode files

Files whose contents are buffered. All read/write operations for such files go through buffers, which allow for asynchronous reads and writes to the underlying hardware, which prevents the system from making disk accesses if the data is already in a buffer.

See Also buffer, buffer cache, character mode files.

boot

The procedure taking place when a computer is ifirst switched on, where peripherals are recognized sequentially and where the operating system is loaded into memory.

boot disk

A bootable disk (floppy, CD, DVD, or any other device) containing the code necessary to load the operating system from the hard disk (sometimes it is self-sufficient).

bootloader

This is a program which starts the operating system. Many bootloaders give you the opportunity to load more than one operating system by allowing you choose between them from a menu. Bootloaders such as GRUB and LILO are popular because of this feature and are very useful in dual- or multi-boot systems.

BSD

Berkeley Software Distribution. A UNIX® variant developed at the Berkeley University computing department. This version has always been considered more technically advanced than the others, and has brought many innovations to the computing world in general and to UNIX® in particular.

buffer

A small portion of memory of fixed size, which can be associated with a block mode file, a system table, a process and so on. The buffer cache maintains coherency of all buffers.

See Also buffer cache.

buffer cache

A crucial part of an operating system kernel, it is in charge of keeping all buffers up-to-date, shrinking the cache when needed, clearing unneeded buffers and more.

See Also buffer.

bug

Illogical or incoherent behavior of a program in a special case, or a behavior that does not follow the documentation or accepted standards issued for the program. Often, new features introduce new bugs in a program. Historically, this term comes from the old days of punch cards: a bug (the insect!) slipped into a hole of a punch card and, as a consequence, the program misbehaved. Admiral Grace Hopper, having discovered this, declared “It's a bug!”, and since then the term has remained. Note that this is only one of the many stories which attempt to explain the term bug.

byte

A sequence of, usually, eight consecutive bits, which when converted to base ten result in an integer number between 0 and 255. A byte is always “atomic” on the system, meaning that it is the smallest addressable unit.

See Also bit.

case

When taken in the context of strings, the case is the difference between lowercase letters and uppercase (or capital) letters.

CHAP

Challenge-Handshake Authentication Protocol: A protocol used by ISPs to authenticate their clients. In this scheme, a value is sent to the client (the machine making the connection), which it uses to calculate a hash based on the value. The client sends the hash back to the server for comparison to the hash calculated by the server. This authentication method is different to PAP in that it re-authenticates on a periodic basis after the initial authentication.

See Also PAP.

character mode files

Files whose content is not buffered. When associated with physical devices, all input/output on these devices is performed immediately. Some special character devices are created by the operating system (/dev/zero, /dev/null and others). They correspond to data flows.

See Also block mode files.

CIFS

Common Internet File System. The successor to the SMB file system, used on DOS systems.

See Also SMB.

client

A program or computer which sporadically connects, for a given period of time, to another program or computer to give it orders or ask for information. In the case of peer to peer systems such as SLIP or PPP the client is taken to be the end which initiates the connection, the remote end receiving the call is designated as the server. It is one of the components of a client/server system.

See Also server.

client/server system

System or protocol consisting of a server and one or more clients.

command line

Provided by a shell and which allows the user to type commands directly. Also subject of an eternal “flame war” between its supporters and its detractors.

command mode

Under Vi or its clones, it is the state of the program in which pressing a key does not insert the character into the file being edited, but instead performs an action specific to the key (unless the clone has re-mappable commands and you have customized your configuration). You may get out of it typing one of the “back to insertion mode” commands: i, I, a, A, s, S, o, O, c, C, ...

compilation

Is the process of translating source code which is human readable (well, with some training) and which is written in some programming language (C, for example) into a binary file which is machine readable.

completion

The ability of a shell to automatically expand a substring to a filename, user name or other item, as long as there is a match.

compression

A way to shrink files or decrease the number of characters sent over a communications link. File compression programs include compress, zip, gzip, and bzip2.

console

This is the name given to what used to be called terminals. They were the machines (a screen plus a keyboard) connected to one big central mainframe. On PCs, the physical terminal is the keyboard and screen.

See Also virtual console.

cookies

Temporary files written on the local hard disk by a remote web server. They allows the server to be aware of a user's preferences when this user connects again.

datagram

A datagram is a discrete package of data and headers which contain addresses. It is the basic unit of transmission across an IP network. You might also hear this called a “packet”.

dependencies

The stages of compilation which need to be satisfied before going on to other compilation stages in order to successfully compile a program. This term is also used where one set of programs you wish to install are dependent on other programs which may or may not be installed on your system, in which case you may get a message telling you that the system needs to “satisfy dependencies” in order to continue the installation.

desktop

If you're using the X Window System, the desktop is the place on the screen where you work and upon which your windows and icons are displayed. It is also called the background, and is usually filled with a simple color, a gradient color or even an image.

See Also virtual desktops.

DHCP

Dynamic Host Configuration Protocol. A protocol designed for machines on a local network to dynamically get an IP address and other network settings from a server.

directory

Part of the file system structure. Files or other directories can be stored within a directory. Sometimes there are subdirectories (or branches) within a directory. This is often referred to as a directory tree. If you want to see what's inside another directory, you will either have to list it or change to it. Files inside a directory are referred to as leaves while subdirectories are referred to as branches. Directories follow the same restrictions as files although the permissions mean different things. The special directories . and .. refer to the directory itself and to the parent directory respectively. In graphical environments it is also known as a folder.

discrete values

Are values which are non-continuous. That is, there's some kind of “spacing” between consecutive values.

distribution

Is a term used to distinguish one GNU/Linux manufacturer's product from another. A distribution is made up of the core Linux kernel and utilities, as well as installation programs, third-party programs, and sometimes proprietary software.

DLCI

The DLCI is the Data Link Connection Identifier and is used to identify a unique virtual point to point connection via a Frame Relay network. The DLCIs are normally assigned by the Frame Relay network provider.

DMA

Direct Memory Access. A facility used in the PC architecture which allows a peripheral to read or write from main memory without the help of the CPU. PCI peripherals use bus mastering and do not need DMA. Bus mastering allows a controller to talk to other devices without going through the CPU.

DNS

Domain Name System. The distributed name and address mechanism used in the Internet. This mechanism allows you to map a domain name to an IP address, allowing you to look up a site by domain name without knowing the IP address of the site. DNS also allows reverse lookup, allowing you to obtain a machine's IP address from its name.

DPMS

Display Power Management System. Protocol used by all modern monitors to manage power saving features. Monitors supporting these features are commonly called “green” monitors.

echo

Occurs when the characters you type are shown on the screen, such as in a user name entry field, for example. Some programs may also mask what is typed for security reasons. The example is a password prompt showing an *, or even nothing at all, for each typed char instead of the character itself.

editor

Is a term typically used for programs which edit text files (aka text editor). The most well-known GNU/Linux editors are the GNU Emacs (Emacs) editor and the UNIX® editor Vi.

ELF

Executable and Linking Format. This is the binary format used by most GNU/Linux distributions.

email

Stands for Electronic Mail. This is a way to send messages electronically. Similar to regular mail (aka snail mail), email needs a destination and sender address to be sent properly. The sender must have an address like “sender@senders.domain” and the recipient must have an address like “recipient@recipients.domain.” Email is a very fast method of communication and typically only takes a few minutes to reach anyone, regardless of where in the world they are located. In order to write email, you need an email client such as pine or mutt which are text-mode clients, or GUI clients such as KMail.

environment

Is the execution context of a process. It includes all the information that the operating system needs to manage the process and what the processor needs to execute the process properly.

See Also process.

environment variables

A part of a process' environment. Environment variables are directly viewable from the shell.

See Also process.

escape

In the shell context, is the action of surrounding a string with quotes to prevent the shell from interpreting that string. For example, when you need to use spaces in a command line and then pipe the results to some other command you have to put the first command between quotes or precede the spaces with a \ (“escape” the command) otherwise the shell will interpret it incorrectly and your command won't work as expected.

ext2

Short for the “Extended 2 file system”. This is GNU/Linux's native file system and has the characteristics of any UNIX® file system: support for special files (character devices, symbolic links, etc), file permissions and ownership, and other features.

FAQ

Frequently Asked Questions. A document containing a series of questions and answers about a specific topic. Historically, FAQs appeared in newsgroups, but this sort of document now appears on various web sites, and even commercial products have FAQs. Generally, they are very good sources of information.

FAT

File Allocation Table. File system used by DOS and Windows®.

FDDI

Fiber Distributed Digital Interface. A high-speed network physical layer, which uses optical fiber for communication instead of wire. Mostly used on large networks, mainly because of its price. It is rarely seen as a means of connection between a PC and a network switch.

FHS

File system Hierarchy Standard. A document containing guidelines for a coherent file tree organization on UNIX® systems. Mandriva Linux complies with this standard in most aspects.

FIFO

First In, First Out. A data structure or hardware buffer where items are taken out in the order they were put in. UNIX® pipes are the most common examples of FIFOs.

filesystem

Scheme used to store files on physical media (hard drive, floppy, etc.) in a consistent manner. Examples of file systems are FAT, GNU/Linux' ext2fs, ISO9660 (used by CD-ROMs) and so on. An example of a virtual filesystem is the /proc filesystem.

firewall

A machine or a dedicated piece of hardware which in the topology of a local network is the single connection point to the outside network, and which filters and controls the activity on some ports, or makes sure that only some specific interfaces may have access to, or can be accessed from, the outside world.

flag

Is an indicator (usually a bit) that is used to signal some condition to a program. For example, a filesystem has, among others, a flag indicating if it has to be dumped in a backup, so when the flag is active the filesystem gets backed up, and when it's inactive it doesn't.

focus

The state of a window to receive keyboard events (such as key-presses, key-releases and mouse clicks) unless they are trapped by the window manager.

foreground

In shell context, the process in the foreground is the one that is currently running and has keyboard and screen control. You have to wait for such a process to finish in order to be able to type commands again.

See Also job, background.

Frame Relay

Frame Relay is a network technology ideally suited to carrying traffic which is of a bursty or sporadic nature. Network costs are reduced by having many Frame Relay customers sharing the same network capacity and relying on them wanting to make use of the network at slightly different times.

framebuffer

Projection of a video card's RAM into the machine's address space. This allows applications to access the video RAM without the chore of having to talk to the card. All high-end graphical workstations use frame buffers.

FTP

File Transfer Protocol. This is the standard Internet protocol used to transfer files from one machine to another.

full-screen

This term is used to refer to applications that take up the entire visible area of your display.

gateway

Machine or device giving a local network access to an outside network.

GFDL

The GNU Free Documentation License. The license which applies to all Mandriva Linux documentation.

GIF

Graphics Interchange Format. An image file format, widely used on the web. GIF images may be compressed or animated. Due to copyright problems it is a bad idea to use them, the recommended solution is to replace them as much as possible by the PNG format.

See Also PNG.

globbing

In the shell, the ability to group a certain set of file names with a globbing pattern.

See Also globbing pattern.

globbing pattern

A string made of normal characters and special characters. Special characters are interpreted and expanded by the shell.

GNU

GNU's Not Unix. The GNU project was initiated by Richard Stallman at the beginning of the 1980s, and aimed at developing a free operating system (“free” as in “free speech”). Currently, all tools are there, except... the kernel. The GNU project kernel, Hurd, is not rock solid yet. Linux borrows, among others, two things from GNU: its C compiler, gcc, and its license, the GPL.

See Also GPL.

GPL

General Public License. The license of the GNU/Linux kernel, it goes the opposite way to all proprietary licenses in that it applies no restrictions as to copying, modifying and redistributing the software, as long as the source code is made available. The only restriction is that the persons to whom you redistribute it must also benefit from the same rights.

GUI

Graphical User Interface. Interface to a computer consisting of windows with menus, buttons, icons and so on. A great majority of users prefer a GUI to a CLI (Command Line Interface) for ease of use, even though the latter is far more versatile.

guru

An expert. Used to qualify someone particularly skilled, but also of valuable help for others.

hardware address

This is a number which uniquely identifies a host in a physical network at the media access layer. Examples of this are Ethernet Addresses and AX.25 Addresses.

hidden file

A file which can't be “seen” when doing a ls command without options. The names of hidden files begin with a . and are used to store the user's personal preferences and configurations for the different programs he uses. For example, bash's command history is saved into .bash_history, a hidden file.

home directory

Often abbreviated as “home”, this is the name for the personal directory of a given user.

See Also account.

host

Refers to a computer and is commonly used when talking about computers which are connected to a network.

HTML

HyperText Markup Language. The language used to create web documents.

HTTP

HyperText Transfer Protocol. The protocol used to connect to web sites and retrieve HTML documents or files.

icon

Is a little drawing (normally sized 16x16, 32x32, 48x48 and sometimes 64x 64 pixels) which in a graphical environment represents a document, a file or a program.

IDE

Integrated Drive Electronics. The most widely used bus on today's PCs for hard disks. An IDE bus may contain up to two devices, and the speed of the bus is limited by the device on the bus with the slowest command queue (and not the slowest transfer rate!).

See Also ATAPI, SATA, S-ATA.

IMAP

Internet Message Access Protocol. A protocol which allows you to access your email messages on a remote server, without the need to transfer them locally first; as opposed to the POP mail retrieval protocol.

See Also POP.

inode

Entry point leading to the contents of a file on a UNIX®-like filesystem. An inode is identified in a unique way with a number, and contains meta-information about the file it refers to, such as its access times, its type, its size, but not its name!

insert mode

Under Vi or any of its clones, it is the state of the program in which pressing a key will insert that character in the file being edited (except pathological cases such as the completion of an abbreviation, right justify at the end of the line, ...). One gets out of it pressing the Esc key, (or Ctrl-[).

Internet

Is a huge network which connects computers around the world.

IP address

Is a numeric address consisting (in version 4, also called IPv4) of four parts which identifies your computer on a network. IP addresses are structured in a hierarchical manner, with top level and national domains, domains, sub-domains and each machine's personal address. An IP address will look something like 192.168.0.1. A machine's personal address can be one of two types: static or dynamic. Static IP addresses are addresses which never change, they are permanently assigned. Dynamic IP addresses mean that an IP address will change with each new connection to the network. Most home users typically have dynamic IP addresses while most corporate users typically have static IP addresses.

IP masquerading

This is a technique where a firewall is used to hide your computer's true IP address from the outside. Typically, any outside network connections you make through the firewall will inherit the firewall's IP address. This is useful in situations where you may have a fast Internet connection with only one IP address but wish to use more than one computer on your internal network.

IRC

Internet Relay Chat. One of the few Internet standards for live speech. It allows for channel creation, private talks and file exchange. It also allows servers to connect to each other, which is why several IRC networks exist today: Undernet, DALnet, EFnet to name a few.

IRC channels

Are the “places” inside IRC servers where you can chat with other people. Channels are created in IRC servers and users join those channels so they can communicate with each other. Messages written on one channel are only visible to the people connected to that channel. Two or more users can create a “private” channel so they don't get disturbed by other users. Channel names begin with a #.

ISA

Industry Standard Architecture. The very first bus used on PCs, it is slowly being abandoned in favor of the PCI bus. ISA is still commonly found on SCSI cards supplied with scanners, CD writers and some other older hardware.

ISDN

Integrated Services Digital Network. A set of communication standards for voice, digital network services and video. It has been designed to eventually replace the current phone system, known as PSTN (Public Switched Telephone Network) or POTS (Plain Old Telephone Service). ISDN is known as a circuit switched data network.

ISO

International Standards Organization. A group of companies, consultants, universities and other sources which enumerate standards in various disciplines, including computing. The papers describing standards are numbered. The standard number iso9660, for example, describes the file system used on CD-ROMs.

ISO 8859

The ISO 8859 standard includes several 8-bit extensions to the ASCII character set. Especially important is ISO 8859-1, the “Latin Alphabet No. 1”, which has become widely implemented and may already be seen as the de facto standard ASCII replacement.

ISO 8859-1 supports the following languages: Afrikaans, Basque, Catalan, Danish, Dutch, English, Faroese, Finnish, French, Galician, German, Icelandic, Irish, Italian, Norwegian, Portuguese, Scottish, Spanish, and Swedish.

Note that the ISO 8859-1 characters are also the first 256 characters of ISO 10646 (Unicode). However, it lacks the EURO symbol and does not fully cover Finnish and French. ISO 8859-15 is a modification of ISO 8859-1 to covers these needs.

See Also ASCII, UTF-8.

ISP

Internet Service Provider. A company which sells Internet access to customers, either over telephone lines or high-bandwidth circuits such as dedicated T-1 circuits, DSL or cable.

JPEG

Joint Photographic Experts Group. Another very common image file format. JPEG is mostly suited for compressing real-world scenes, and does not work very well on non-realistic images.

job

In a shell context, a job is a process running in the background. You can have several jobs running in the same shell and control each job independently.

See Also foreground, background.

journaling

Journaling adds robustness to a file system, by making it transactional. Thus, instead of physically writing data at the moment it's asked for, a journal of the writes is kept, and data is written “in a block” at a later time which also has a great impact on performance and on the time needed to analyze and fix the file system, if needed.

kernel

Is the core of the operating system. The kernel is responsible for allocating resources and separating processes from each other. It handles all of the low-level operations which allow programs to talk directly to the hardware on your computer, manages the buffer cache and so on.

kill ring

Under Emacs, it is the set of text areas cut or copied since the editor was started. The text areas may be recalled to be inserted again, and the structure is ring-like.

LAN

Local Area Network. Generic name given to a network of machines connected to the same physical wiring in a reduced geographical area, such as the same office or building.

See Also WAN.

launch

Is the action of invoking, or starting, a program.

library

Is a collection of procedures and functions in binary form to be used by programmers in their programs (as long as the library's license allows them to do so). The program in charge of loading shared libraries at run time is called the dynamic linker.

link

Reference to an inode in a directory, therefore giving a (file) name to the inode. Examples of inodes which don't have a link (and hence have no name) are: anonymous pipes (as used by the shell), sockets (aka network connections), network devices and so on.

linkage

The last stage of the compilation process, consisting of linking together all object files in order to produce an executable file, and matching unresolved symbols with dynamic libraries (unless a static linkage has been requested, in which case the code of these symbols will be included in the executable).

Linux

Is a UNIX®-like operating system which runs on a variety of different computers, and is free for anyone to use and modify. Linux (the kernel) was written by Linus Torvalds.

login

Connection name for a user on a UNIX® system, and the action to connect.

lookup table

Is a table which stores corresponding codes (or tags) and their meanings. It is often a data file used by a program to get further information about a particular item.

For example, HardDrake uses such a table to store a manufacturer's product codes and associated configuration information. This is one line from that table, giving information about item CTL0001

"CTL0001"       "sb"    "Creative Labs|SB16"    "sound" "HAS_OPL3|HAS_MPU401|HAS_DMA16|HAS_JOYSTICK"

loopback

Virtual network interface of a machine to itself, allowing the running programs not to have to take into account the special case where two network entities are in fact the same machine.

major

Number specific to the device class.

manual page

Small documents containing the definitions of a command and its usage, to be consulted with the man command. The first thing one should (learn how to) read when learning about a command one isn't familiar with.

MBR

Master Boot Record. Name given to the first sector of a bootable hard drive. The MBR contains the code used to load the operating system into memory or a bootloader (such as LILO), and the partition table of that hard drive.

MIME

Multipurpose Internet Mail Extensions. A string of the form type/subtype describing the contents of a file attached in an e-mail. This allows MIME-aware mail clients to define actions depending on the type of the file.

minor

Number identifying the specific device we are talking about.

MPEG

Moving Picture Experts Group. An ISO committee which generates standards for video and audio compression. MPEG is also the name of their algorithms. Unfortunately, the license for this format is very restrictive, and as a consequence there are still no Open Source MPEG players...

mount point

Is the place or directory where a partition or another device is attached to the GNU/Linux filesystem. For example, your CD-ROM is mounted in the /mnt/cdrom directory, from where you can explore the contents of any mounted CDs.

mounted

A device is mounted when it is attached to the GNU/Linux filesystem. When you mount a device you can browse its contents. This term is partly obsolete due to the “supermount” feature, so users do not need to manually mount removable media.

See Also mount point.

MSS

The Maximum Segment Size is the largest quantity of data which can be transmitted at one time across an interface. If you want to prevent local fragmentation MSS would equal the MTU IP header.

MTU

The Maximum Transmission Unit is a parameter which determines the size of the largest datagram which can be transmitted by an IP interface without it needing to be broken down into smaller units. The MTU should be larger than the largest datagram you wish to transmit without fragmentation. Note, this only prevents fragmentation locally, some other link in the path may have a smaller MTU and the datagram will be fragmented there. Typical values are 1500 bytes for an Ethernet interface, or 576 bytes for a PPP interface.

multitasking

The ability of an operating system to share CPU time between several processes. At a low level, this is also known as multiprogramming. Switching from one process to another requires that all the current process context be saved and restored when this process runs again. This operation is called a context switch, and is done several times per second, thereby making it fast enough so that a user has the illusion that the operating system runs several applications at the same time. There are two types of multitasking: in preemptive multitasking the operating system is responsible for taking away the CPU and passing it to another process; cooperative multitasking is where the process itself gives back the CPU. The first variant, used by GNU/Linux, is obviously the better choice because no program can consume the entire CPU time and block other processes. The policy to select which process should be run, depending on several parameters, is called scheduling.

multiuser

Is used to describe an operating system which allows multiple users to log into and use the system at the exact same time, each user being able to do their own work independent of other users. A multitasking operating system is required to provide multiuser support. GNU/Linux is both a multitasking and multiuser operating system, as is any UNIX® system for that matter.

named pipe

A UNIX® pipe which is linked, as opposed to pipes used in shells.

See Also pipe, link.

naming

A word commonly used in computing for a method to identify objects. You will often hear of “naming conventions” for files, functions in a program and so on.

NCP

NetWare Core Protocol. A protocol defined by Novell to access Novell NetWare™ file and print services.

NFS

Network File System. A network file system created by Sun Microsystems in order to share files across a network in a transparent way.

newsgroups

Discussion and news areas which can be accessed by a news or USENET client to read and write messages specific to the topic of the newsgroup. For example, the newsgroup alt.os.linux.mandrake is an alternate newsgroup (alt) dealing with the Operating System (OS) GNU/Linux (linux), and specifically, Mandriva Linux (mandrake). Newsgroups are broken down in this fashion to make it easier to search for a particular topic.

NIC

Network Interface Controller. An adapter installed in a computer which provides a physical connection to a network, such as an Ethernet card.

NIS

Network Information System. NIS was also known as “Yellow Pages”, but British Telecom holds a copyright on this name. NIS is a protocol designed by Sun Microsystems in order to share common information across a NIS domain, which may consist of an entire LAN, or just a part of it. It can export password databases, service databases, groups information and more.

null, character

The character or byte number 0. It is used to mark the end of a string.

object code

Is the code generated by the compilation process to be linked with other object codes and libraries to form an executable file. Object code is machine readable.

See Also compilation, linkage.

on the fly

Something is said to be done “on the fly” when it's done along with something else, without you noticing it or explicitly asking for it.

open source

Is the name given to free source code of a program which is made available to the development community and public at large. The theory behind this is that allowing source code to be used and modified by a broader group of programmers will ultimately produce a more useful product for everyone. Some popular open source programs include Apache, sendmail and GNU/Linux.

operating system

Is the interface between the applications and the underlying hardware. The tasks for any operating system are primarily to manage all of the machine specific resources. On a GNU/Linux system, this is done by the kernel and loadable modules. Other well-known operating systems include Amiga®OS, Mac OS®, FreeBSD®, OS/2®, UNIX®, and Windows® in all its variants.

owner

In the context of users and their files, the owner of a file is the user who created that file.

owner group

In the context of groups and their files, the owner group of a file is the group to which the user who created that file belongs.

PAP

Password Authentication Protocol. A protocol used by many ISPs to authenticate their clients. In this scheme, the client (you) sends an identifier/password pair to the server, but none of the information is encrypted. CHAP is a more secure, and thus preferred, authentication protocol.

See Also CHAP.

pager

A program which displays a text file one screen at a time, making it easy to move back and forth and search for strings in this file. We suggest you to use less.

password

Is a secret word or combination of words or letters which is used to secure something. Passwords are used in conjunction with user logins to multi-user operating systems, web sites, FTP sites, and so forth. Passwords should be hard-to-guess phrases or alphanumeric combinations, and should never be based on common dictionary words. Passwords ensure that other people cannot log into a computer or site with your account.

patch, to patch

A file containing a list of corrections to issue to source code in order to add new features, to remove bugs, or to modify it according to one's wishes and needs. The action consisting of the application of these corrections to the archive of source code (aka “patching”).

path

Is an assignment for files and directories to the filesystem. The different layers of a path are separated by the "slash" or '/' character. There are two types of paths on GNU/Linux systems. The relative path is the position of a file or directory in relation to the current directory. The absolute (or full) path is the position of a file or directory in relation to the root directory.

PCI

Peripheral Component Interconnect. A bus created by Intel which today is the standard bus for PC and other architectures. It is the successor to ISA, and it offers numerous services: device identification, configuration information, IRQ sharing, bus mastering and more.

PCMCIA

Personal Computer Memory Card International Association. More and more commonly called “PC Card” for simplicity reasons, this is the standard for external cards attached to a laptop: modems, hard disks, memory cards, Ethernet cards, and more. The acronym is sometimes humorously expanded to People Cannot Memorize Computer Industry Acronyms...

pipe

A special UNIX® file type. One program writes data into the pipe, and another program reads the data from the other end. UNIX® pipes are FIFOs, so the data is read at the other end in the order it was sent. Very widely used with the shell. See also named pipe.

pixmap

Is an acronym for “pixel map”. It's another way of referring to bitmap images.

plugin

Add-on program used to display or play some multimedia content found on a web document. It can usually be easily downloaded if your browser is not yet able to display or play that kind of information.

PNG

Portable Network Graphics. Image file format created mainly for web use, it has been designed as a patent-free replacement for GIF and also has some additional features.

PnP

Plug'N'Play. First an add-on for ISA in order to add configuration information for devices, it has become a more widespread term which groups all devices able to report their configuration parameters. All PCI devices are Plug'N'Play.

POP

Post Office Protocol. One common protocol used for retrieving mail from an ISP. IMAP is an example of another remote-access mail protocol.

See Also IMAP.

porting

One of two ways to run a program on a system it was not originally intended for. For example, to be able to run a Windows®-native program under GNU/Linux (natively), it must first be ported to GNU/Linux.

PPP

Point to Point Protocol. This is the protocol used to send data over serial lines. It is commonly used to send IP packets to the Internet, but it can also be used with other protocols such as Novell's IPX protocol.

precedence

Dictates the order of evaluation of operands in an expression. For example: If you have 4 + 3 * 2 you get 10 as the result, since the multiplication has higher precedence than the addition. If you want to evaluate the addition first, then you have to add parenthesis like this: (4 + 3) * 2. When you do this, you'll get 14 as the result since the parenthesis have higher precedence than the addition and the multiplication, so the operations in parenthesis get evaluated first.

preprocessors

Are compilation directives which instruct the compiler to replace those directives for code in the programming language used in the source file. Examples of C 's preprocessors are #include, #define, etc.

process

In the operating system context, a process is an instance of a program being executed along with its environment.

prompt

In a shell, this is the string before the cursor. When you see it, you can type your commands.

protocol

Protocols organize the communications between different machines across a network, either using hardware or software. They define the format of transferred data, whether one machine controls another, etc. Many well-known protocols include HTTP, FTP, TCP, and UDP.

proxy

A machine which sits between a network and the Internet, whose role is to speed up data transfers for the most widely used protocols (for example, HTTP and FTP). It maintains a cache of previous requests, so that a machine which makes a request for something which is already cached will receive it quickly, because it will get the information from the local cache. Proxies are very useful on low bandwidth networks (such as modem connections). Sometimes the proxy is the only machine able to access the outside network.

pull-down menu

Is a menu that is “rolled” with a button in one of its corners. When you press that button, the menu “unrolls” itself, showing you the full menu.

quota

Is a method of restricting disk usage and place limits on users. Administrators can restrict the size of home directories for a user by setting quota limits on specific file systems.

RAID

Redundant Array of Independent Disks. A project initiated at the computing science department of Berkeley University, in which the storage of data is spread across an array of disks using different schemes. At first, this was implemented using low-cost, older, drives, which is why the acronym originally stood for Redundant Array of Inexpensive Disks.

RAM

Random Access Memory. Term used to identify a computer's main memory. The “Random” here means that any part of the memory may be directly accessed.

read-only mode

For a file means that the file cannot be written to. You may read its content but you cannot modify it.

See Also read-write mode.

read-write mode

For a file, it means that the file can be written to. You may read its content and modify them.

See Also read-only mode.

regular expression

A powerful theoretical tool which is used to search and match text strings. It lets one specify patterns these strings must obey. Many UNIX® utilities use it: sed, awk, grep, perl and others.

RFC

Request For Comments. RFCs are the official Internet standard documents, published by the IETF (Internet Engineering Task Force). They describe all protocols, their usage, their requirements and so on. When you want to learn how a protocol works, pick up the corresponding RFC.

root

Is the superuser of any UNIX® system. Typically root (aka the system administrator) is the person responsible for maintaining and supervising the UNIX® system. This person also has complete access to everything on the system.

root directory

This is the top level directory of a filesystem. This directory has no parent directory, thus '..' for root points back to itself. The root directory is written as '/'.

root filesystem

This is the top level filesystem. This is the filesystem where GNU/Linux mounts its root directory tree. It is necessary for the root filesystem to reside in a partition of its own, as it is the basis for the whole system. It contains the root directory.

route

Is the path which your datagrams take through the network to reach their destination. It is the path between one machine and another in a network.

RPM

RPM Package Manager. A packaging format developed by Red Hat in order to create software packages, it is used in many GNU/Linux distributions, including Mandriva Linux.

run level

Is a configuration of the system software which only allows certain selected processes to exist. Allowed processes are defined, for each runlevel, in the file /etc/inittab. Usually, there are seven defined runlevels: 0, 1, 2, 3, 4, 5, 6 and switching between them can only be achieved by a privileged user by means of executing the commands init and telinit.

SATA, S-ATA

Serial ATA. The successor to the ATA specification. First generation SATA has a bandwidth of 1.5Gbps, but the serial link and underlying technologies allow for much greater bandwidths, while parallel ATA has reached its practical limits with UDMA133.

See Also ATAPI, IDE.

script

shell scripts are sequences of commands to be executed as if they were sequentially entered in the console. shell scripts are UNIX®'s (somewhat) equivalent of DOS batch files.

SCSI

Small Computers System Interface. A bus with a high throughput designed to allow for several types of peripherals to be connected to it. Unlike IDE, a SCSI bus is not limited by the speed at which the peripherals accept commands. Usually only high-end machines integrate a SCSI bus directly on the motherboard, therefore most PCs need add-on cards.

security levels

Mandriva Linux's unique feature which allows you to set different levels of restriction according to how secure you want to make your system. There are 6 predefined levels ranging from 0 to 5, where 5 is the tightest security. You can also define your own security level.

segmentation fault

A segmentation fault occurs when a program tries to access memory that is not allocated to it. This generally causes the program to stop immediately.

server

A program or computer which provides a feature or service and awaits connections from clients to execute their orders or give them the information they ask for. In the case of peer to peer systems such as SLIP or PPP, the server is taken to be the end of the link that is called and the end calling is taken to be the client. It is one of the components of a client/server system.

See Also client, client/server system.

shadow passwords

A password management suite on UNIX® systems in which the file containing the encrypted passwords is not world-readable, unlike that usually found with a normal password system. It also offers other features such as password aging.

shell

The shell is the basic interface to the operating system kernel and provides the command line where users enter commands to run programs and system commands. All shells provide a scripting language which can be used to automate tasks or simplify often-used complex tasks. These shell scripts are similar to batch files from the DOS operating system, but are much more powerful. Some example shells are bash, sh, and tcsh.

single user

Is used to describe a state of an operating system, or even an operating system itself, which only allows a single user to log into and use the system at any one time.

site dependent

Means that the information used by programs such as imake and make to compile some source file depends on the site, the computer architecture, the computer's installed libraries, and so on.

SMB

Server Message Block. Protocol used by Windows® machines for file and printer sharing across a network.

See Also CIFS.

SMTP

Simple Mail Transfer Protocol. This is the common protocol for transferring email. Mail Transfer Agents such as sendmail or postfix use SMTP. They are sometimes called SMTP servers.

socket

File type corresponding to any network connection.

soft links

See symbolic links.

standard error

The file descriptor number 2, opened by every process, used by convention as the file descriptor to which the process writes errors. It is usually the computer's screen.

See Also standard input, standard output.

standard input

The file descriptor number 0, opened by every process, used by convention as the file descriptor from which the process receives data. It is usually the computer's keyboard.

See Also standard error, standard output.

standard output

The file descriptor number 1, opened by every process, used by convention as the file descriptor in which the process prints its output. It is usually the computer's screen.

See Also standard error, standard input.

streamer

Is a device which takes “streams” (not interrupted or divided into shorter chunks) of characters as its input. A typical streamer is a tape drive.

SVGA

Super Video Graphics Array. The video display standard defined by VESA for the PC architecture. The resolution was at first 800x 600 x 16 colors, quickly extended to 1024x768 x 16 colors, and beyond.

switch

Switches are used to change the behavior of programs, and are also called command-line options or arguments. To determine if a program has optional switches which may be used, read the man pages or try to pass the --help switch to the program (i.e.. program --help).

symbolic links

Are special files, containing nothing but a string which references another file. Any access to them is the same as accessing the file whose name is the referenced string, which may or may not exist, and the path to which can be given in a relative or an absolute way.

target

Is the object of compilation, i.e. the binary file to be generated by the compiler.

TCP

Transmission Control Protocol. This is the most common reliable protocol which uses IP to transfer network packets. TCP adds the necessary checks on top of IP to make sure that packets are delivered. Unlike UDP, TCP works in connected mode, which means that two machines must have established a connection before exchanging data.

telnet

Creates a connection to a remote host and allows you to log into the machine, provided you have an account. Telnet is the most widely-used method of remote logins, however there are better and more secure alternatives, such as ssh.

theme-able

A graphical application is theme-able if it is able to change its appearance in real time. Many window managers are theme-able.

TLDP

The Linux Documentation Project. A nonprofit organization which maintains GNU/Linux documentation. It's mostly known for documents such as HOWTOs, but it also maintains FAQs, and even a few books.

See Also FAQ.

traverse

For a directory on a UNIX® system, this means that the user is allowed to go through this directory, and possibly to directories under it. This requires that the user has execute permission on this directory.

URL

Uniform Resource Locator. A string with a special format used to identify a resource on the Internet in a unique way. The resource may be a file, a server or other item. The syntax for a URL is

protocol://user:password@server.name[:port]/path/to/resource.

When only a machine name is given and the protocol is http://, it defaults to retrieving the file that the server is configured to show by default, usually it is the index.html file.

username

Is a name (or more generally a word) which identifies a user on a system. Each username is attached to a unique and single UID (user ID)

See Also login.

UTF-8

Unicode Transformation Format 8. It is an octet (8-bit) lossless encoding of Unicode characters. UTF-8 encodes each Unicode character as a variable number of 1 to 4 octets, where the number of octets depends on the integer value assigned to the Unicode character. It is an efficient encoding of Unicode documents which mostly use US-ASCII characters because it represents each character in the range U+0000 through U+007F as a single octet. UTF-8 is the default encoding for XML.

See Also ISO 8859, ASCII.

variables

Are strings which are used in Makefile files to be replaced by their value each time they appear. Usually they are set at the beginning of the Makefile. They are used to simplify Makefile and source files tree management.

More generally, variables in programming are words which refer to other entities (numbers, strings, tables, etc.) that are likely to vary while the program is executing.

verbose

For commands, the verbose mode means that the command reports to standard (or possibly error) output all the actions it performs and the results of those actions. Sometimes, commands have a way to define the “verbosity level”, which means that the amount of information that the command will report can be controlled.

VESA

Video Electronics Standards Association. An industry standards association aimed at the PC architecture. For example, it is the author of the SVGA standard.

virtual console

Is the name given to what used to be called terminals. On GNU/Linux systems, you have what are called virtual consoles which enable you to use one screen or monitor for many independently running sessions. By default, you have six virtual consoles which can be reached by pressing ALT-F1 through ALT-F6. There is a seventh virtual console, ALT-F7, which will permit you to reach a running X Window System. In X, you can reach the text console by pressing CTRL-ALT-F1 through CTRL-ALT-F6.

See Also console.

virtual desktops

In the X Window System, the window manager may provide you with several desktops. This handy feature allows you to organize your windows, avoiding the problem of having dozens of them stacked on top of each other. It works as if you had several screens. You can switch from one virtual desktop to another in a manner which depends on the window manager you're using.

See Also window manager, desktop.

WAN

Wide Area Network. This network, although similar to a LAN, connects computers on networks which are not physically connected to the same wiring and are separated by a greater distance.

See Also LAN.

wildcard

The '*' and '?' characters are used as wildcard characters and may represent anything. The '*' represents any number of characters, including no characters. The '?' represents exactly one character. Wildcards are often used in regular expressions.

window

In networking, the window is the largest amount of data that the receiving end can accept at a given point in time.

In the context of a graphical user environment, a window is the rectangle which occupies a given running application which usually contains a title, a menu, a status bar, and the application's work area.

window manager

The program responsible for the “look and feel” of a graphical environment, dealing with window bars, frames, buttons, root menus, and some keyboard shortcuts. Without it, it would be hard or impossible to have virtual desktops, to resize windows on the fly, to move them around, ...

workspace switcher

A little applet which allows you to switch between the available virtual desktops. It is also known as pager.

See Also virtual desktops.