Glossary (DRAFT, but not for long hopefully)

"The Librarian of the Unseen University had unilaterally decided to aid comprehension by producing an Orang-utan/Human Dictionary. He'd been working on it for three months. It wasn't easy. He'd got as far as `Oook.'" (Terry Pratchett, "Men At Arms")

This is a short list of word definitions for concepts relating to Linux and system administration.

CMOS RAM

CMOS stands for "Complementary Metal Oxide Semiconductor". It is a complex technology, but put very simply it is a type of transistor which maintains its state even if there is no power flowing, so it provides a sort of static RAM. ie RAM which does not lose what it was storing when the power is switched off.

account

A Unix system gives users accounts. It gives them a username and a password with which to log on to the account. A home directory in which to store files is usually provided, and permissions to access hardware and software. These things taken as a whole are an account.

application program

Software that does something useful. The results of using an application program is what the computer was bought for. See also system program, operating system.

bad block

A block (usually one sector on a disk) that cannot reliably hold data.

bad sector

Similar to bad block but more precise in the case where a block and a sector may be of differing sizes.

boot sector

Usually the first sector on any given partition. It contains a very short program (on the order of a few hundred bytes) which will load and start running the operating system proper.

booting

Everything that happens between the time the computer is switched on and it is ready to accept commands/input from the user is known as booting.

bootstrap loader

A very small program (usually residing in ROM) which reads a fixed location on a disk (eg. the MBR) and passes control over to it. The data residing on that fixed location is, in general, slightly bigger and more sophisticated, and it then takes responsibility for loading the actual operating system and passing control to it.

cylinder

The set of tracks on a multi-headed disk that may be accessed without head movement. In other words the tracks which are the same distance from the spindle about which the disk platters rotate. Placing data that is more likely to be accessed at the same time on the same cylinder can reduce the access time significantly as moving the read-write heads is slow compared to the speed with which the disks rotate.

daemon

A process lurking in the background, usually unnoticed, until something triggers it into action. For example, the update daemon wakes up every thirty seconds or so to flush the buffer cache, and the sendmail daemon awakes whenever someone sends mail.

daylight savings time

A time of the year during which clocks are set forward one hour. Widely used around the world in summer so that evenings have more daylight than they would otherwise.

disk controller

A hardware circuit which translates instructions about disk access from the operating system to the physical disk. This provides a layer of abstraction that means that an operating system does not need to know how to talk to the many different types of disks, but only needs to know about the (comparatively low) number of types of disk controller. Common disk controller types are IDE and SCSI.

file system

The methods and data structures that an operating system uses to keep track of files on a disk or partition; the way the files are organised on the disk. Also used about a partition or disk that is used to store the files or the type of the filesystem.

emergency boot floppy

A floppy disk which can be used to boot the system even if the hard disk has suffered damage on its filesystem. Most linux distributions offer to make one of these during installation, this is highly recommended. If your Linux distribution does not offer this facility then read the Boot floppy HOWTO, available at the LDP (**Find URL to cite**).

filesystem

A term which is used for two purposes and which can have two subtly different meanings. It is either the collection of files and directories on a drive (whether hard drive, floppy, Cd-ROM, etc). Or it is the markers put onto the disk media which the OS uses to decide where to write files to (inodes, blocks, superblocks etc). The actual meaning can almost always be inferred from context.

formatting

Strictly, formatting is organising and marking the surface of a disk into tracks, sectors , and cylinders. It is also sometimes (incorrectly) a term used to signify the action of writing a filesystem to a disk (especially in the MS Windows/MS DOS world).

fragmented

When a file is not written to a disk in contiguous blocks. If there is not enough free space to write a full file to a disk in one continuous stream of blocks then the file gets split up between two or more parts of the disk surface. This is known as fragmenting and can make the time for loading a file longer as the disk has to seek for the rest of the file.

full backup

Taking a copy of the whole filesystem to a backup media (eg tape, floppy, or CD).

geometry

How many cylinders, sectors per cylinder and heads a disk drive has.

high level formatting

An incorrect term for writing a filesystem to a disk. Often used in the MS Windows and MS DOS world.

incremental backups

A backup of what has changed in a filesystem since the last full backup. Incremental backups if used sensibly as part of a backup regime, can save a lot of time and effort in maintaining a backup of data.

inode

A data structure holding information about files in a Unix file system. There is an inode for each file and a file is uniquely identified by the file system on which it resides and its inode number on that system. Each inode contains the following information: the device where the inode resides, locking information, mode and type of file, the number of links to the file, the owner's user and group ids, the number of bytes in the file, access and modification times, the time the inode itself was last modified and the addresses of the file's blocks on disk. A Unix directory is an association between file leafnames and inode numbers. A file's inode number can be found using the "-i" switch to ls.

kernel

Part of an operating system that implements the interaction with hardware and the sharing of resources. See also system program.

local time

The official time in a local region (adjusted for location around the Earth); established by law or custom.

logical partition

A partition inside an extended partition, which is "logical" in that it does not exist in reality, but only inside the logical structure of the software.

low level formatting

Synonymous with formatting and used in the MS DOS world so differentiate from creating a filesystem which is also known as formatting sometimes.

mail transfer agent

(MTA) The program responsible for delivering e-mail messages. Upon receiving a message from a mail user agent or another MTA it stores it temporarily locally and analyses the recipients and either delivers it (local addressee) or forwards it to another MTA. In either case it may edit and/or add to the message headers. A widely used MTA for Unix is sendmail.

mail user agent

(MUA) The program that allows the user to compose and read electronic mail messages. The MUA provides the interface between the user and the mail transfer agent . Outgoing mail is eventually handed over to an MTA for delivery while the incoming messages are picked up from where the MTA left it (although MUAs running on single-user machines may pick up mail using POP). Examples of MUAs are pine, elm and mutt.

master boot record

(MBR) The first logical sector on a disk, this is (usually) where the BIOS looks to load a small program that will boot the computer.

network file system

(NFS) A protocol developed by Sun Microsystems, and defined in RFC 1094 (FIND URL), which allows a computer to access files over a network as if they were on its local disks.

operating system

Software that shares a computer system's resources (processor, memory, disk space, network bandwidth, and so on) between users and the application programs they run. Controls access to the system to provide security. See also kernel, system program, application program.

partition

A logical section of a disk. Each partition normally has its own file system. Unix tends to treat partitions as though they were separate physical entities.

password file

A file that holds usernames and information about their accounts like their password. On Unix systems this file is usually /etc/passwd. On most modern Linux systems the /etc/passwd file does not actually hold password data. That tends to be held in a different file /etc/shadow for security reasons. See manual pages passwd(5) and shadow(5) for more information.

platters

A physical disk inside a hard drive. Usually a hard drive is made up of multiple physical disks stacked up on top of each other. One individual disk is known as a platter .

power on self test

(POST) A series of diagnostic tests which are run when a computer is powered on. Typically this might include testing the memory, testing that the hardware configuration is the same as the last saved configuration, checking that any floppy drives, or hard drives which are known about by the BIOS are installed and working.

print queue

A file (or set of files) which the print daemon uses so that applications which wish to use the printer do not have to wait until the print job they have sent is finished before they can continue. It also allows multiple users to share a printer.

read-write head

A tiny electromagnetic coil and metal pole used to write and read magnetic patterns on a disk. These coils move laterally against the rotary motion on the platters.

root filesystem

The parent of all the other filesystems mounted in a Unix filesystem tree. Mounted as / it might have other filesystems mounted on it (/usr for example). If the root filesystem cannot be mounted then the kernel will panic and the system will not be able to continue booting

run level

Linux has up to 10 runlevels (0-9) available (of which usually only the first 7 are defined). Each runlevel may start a different set of services, giving multiple different configurations in the same system. Runlevel 0 is defined as "system halt", runlevel 1 is defined as "single user mode", and runlevel 6 is defined as "reboot system". The remaining runlevels can, theoretically, be defined by the system administrator in any way. However most distributions provide some other predefined runlevels. For example, runlevel 2 might be defined as "multi-user console", and runlevel 5 as "multi-user X-Window system". These definitions vary considerably from distribution to distribution, so please check the documentation for your own distribution.

sectors

The minimum track length that can be allocated to store data. This is usually (but not always) 512 bytes.

shadow passwords

Because the password file on Unix systems often needs to be world readable it usually does not actually contain the encrypted passwords for users' accounts. Instead a shadow file is employed (which is not world readable) which holds the encrypted passwords for users' accounts.

single user mode

Usually runlevel 1. A runlevel where logins are not allowed except by the root account. Used either for system repairs (if the filesystem is partially damaged it may still be possible to boot into runlevel 1 and repair it), or for moving filesystems around between partitions. These are just two examples. Any task that requires a system where only one person can write to a disk at a time is a candidate for requiring runlevel 1.

spool

To send a file (or other data) to a queue. Generally used in conjunction with printers, but might also be used for other things (mail for example). The term is reported to be an acronym for "Simultaneous Peripheral Operation On-Line", but according to the Jargon File it may have been a backronym (something made up later for effect).

system call

The services provided by the kernel to application programs, and the way in which they are invoked. See section 2 of the manual pages.

swap space

Space on a disk in which the system can write portions of memory to. Usually this is a dedicated partition, but it may also be a swapfile.

system program

Programs that implement high level functionality of an operating system, i.e., things that aren't directly dependent on the hardware. May sometimes require special privileges to run (e.g., for delivering electronic mail), but often just commonly thought of as part of the system (e.g., a compiler). See also application program, kernel, operating system.

track

The part of a disk platter which passes under one read-write head while the head is stationary but the disk is spinning. Each track is divided into sectors, and a vertical collection of tracks is a cylinder