Glossary

BIOS
the Basic Input/Output System is the firmware on X86 computers. It is written to the ROM on the main board of the computer and is launched immediately after the computer is switched on. It is responsible for initializing the hardware, if required, and for loading the operating system using a boot loader. Parts of the BIOS may be stored on peripheral devices like network interface cards or hard disk adapters.
Boot loader
a small program which is loaded and executed by a computer’s firmware. It is responsible for loading and starting the operating system.
BSD
Berkeley Software Distribution is a version of UNIX which was created at the University of California Berkeley. Originally BSD was based on AT&T sources, but later it was rewritten so that now there is no line of AT&T’s source code in the current BSD sources and its derivatives. BSD is one of the two main lines of UNIX development along with System V.
BSD license
the license of Berkeley Software Distribution stands for a group of Open Source licenses. Software distributed under this license may be used, adapted and distributed freely. The only condition is that the copyright notice may not be removed. In contrast to the GPL, derived software may be distributed under other licenses.
CD-ROM
Compact Disk Read Only Memory is the compact disk’s second application after the Audio CD. CD-ROMs are used to install operating systems, for live systems, for software and data distribution and for archiving.
CF, CompactFlash
is an interface standard for memory media. In addition to the memory chips, CF cards contain a controller that manages the memory inside the CF card and provides the computer with an IDE interface.
Chain loading
If a bootloader loads and executes another bootloader from another partition, this is called chain loading. Here a bootloader with a boot menu may be executed first followed by the loading and execution of the second boot loader in accordance with the selected operating system. This is a method for using several different operating systems on the same computer in a multi-boot system.
CLI
The command line interface allows a software or operating system to be controlled in text mode.
CMOS
Complementary Metal Oxide Semiconductor is the name of a group of low-power semiconductors. Unlike TTL circuits the typical operating voltage is between 0.75 and 15 volts. The inputs of CMOS circuits are sensitive to electrostatic discharge and excess voltage and should be protected by an appropriate circuitry.
CPU
the Central Processing Unit is the part of the computer which executes the instructions of a program.
DHCP
Dynamic Host Configuration Protocol enables the server to carry out network configuration for a client computer. There is more information about this protocol in chapter 10.
DMA
Direct Memory Access means peripheral devices are able to directly access the main memory of a computer. Usually all of the memory is controlled by the CPU. All memory access utilizes the CPU which means there is a high workload with data intensive input/output. On the other hand the CPU may become bottlenecked and slow down the entire computer. DMA enables some peripherals, for instance network interface cards, hard disk adapters or USB host controllers, to exchange data with the memory without using the CPU.
DNS
the Domain Name System is a global directory that manages the internet’s name space. RFC1034 and RFC1035 describe the basic principle of the DNS.
File system
a file system denotes the organization of the deposition of files on the data storage media of a computer. A file is the general term for a sequence of octets (bytes) which is either stored as is on a data medium or simulated by an input/output device. There are different file systems for storing files on data media which are geared to the requirements and capabilities of the operating system.
GNU
GNU’s Not UNIX is a recursive acronym which is the name of a project whose goal is to develop a fully free operating system. Because nearly everything except the kernel was usable when Linux first appeared, a large part of a Linux system usually consists of GNU software. Therefore many people talk about GNU/Linux systems. The software license GPL is closely connected to the GNU project.
GPIO
General Purpose Input/Output is the name for input and output lines of computer chips whose behavior can be determined by software.
GPL
the General Public License is a license published by the Free Software Foundation which originated from the GNU project. The basic principle of the GPL is that all software which is derived from software under the GPL may only be distributed under the same conditions (i.e. under the GPL). This principle can be found in some other licenses but it conflicts with the BSD license which allows software to be distributed under any conditions.
HTTP
Hypertext Transfer Protocol is the protocol which became dominant with the world wide web. It is implemented in every web browser and web server and is increasingly being used for other data transfer purposes. In principle this protocol is stateless. When using this protocol in a session containing multiple data transfers, the application must store the state itself.
ICMP
Internet Control Message Protocol is an auxiliary protocol to the Internet Protocol which is used to send control messages regarding data transfer.
I²C
the Inter-Integrated Circuit bus is a serial data bus developed by Philips Semiconductors which uses two lines. It is mainly used for communication between different device parts, for instance between a controller and peripheral sensors.

Some manufacturers call the I²C bus “Two-Wire Interface” (TWI). Technically I²C and TWI are identical.

IDE
Integrated Device Electronics denotes another data bus for peripheral devices.
IETF
the Internet Engineering Task Force is an organization which is concerned with the technical evolution of the Internet.
IPv4
Internet Protocol Version 4 is currently the basis of a large part of the internet. It is used to connect computers in arbitrary networks and relies on unique addresses. Its 32-bit addresses mean there are only 4,294,967,296 unique addresses possible. In 2011 the last free IPv4 addresses were given to the ISPs (Internet Service Providers). Through various technologies, like NAT or port-based addressing, the assignment of these last addresses has been postponed for as long as possible. Meanwhile a changeover to IPv6 is becoming increasingly urgent.
IPv6
Internet Protocol Version 6 is the designated successor of IPv4. With its 128-bit addresses it allows for far more addresses than its predecessor and, even at its inception in the 1990s, offered many new features over the IPv4, like IPSEC and stateless auto-configuration. Many of these features where adapted to the IPv4. The adoption of IPv6 has been slow due to the delay in assigning the last IPv4 addresses.
JFFS2
Journalling Flash File System version 2 is a log-based file system for direct use on flash memory. OpenWrt uses it among others things. Because ALIX devices use CompactFlash cards with their own controller, they do not require this file system.
Kernel
the kernel is the central part of an operating system. It is responsible for managing resources like memory, input/output devices and CPU time. It forms the lowest layer of the operating system and has direct access to the hardware.
LED
Light Emitting Diode, a semiconductor that can glow.
Live system
an operating system that can be launched without installation and which doesn’t change the content of the hard disk. Usually it is installed on a CD-ROM or a USB stick and is launched from there by the BIOS.
MAC address
the Media Access Control address is an address that is unique to every network interface. It allows a device in the network to be unambiguously identified. It is related to the data link layer (layer 2) of the OSI model and is needed if one wants to explicitly address a certain device in this layer. Every host or gateway in a network needs a MAC address. Hubs and switches only need a MAC address if they are administrated from inside the network.
MBR
the Master Boot Record is the first memory block on a hard disk of X86-based computers (PCs). It contains a partition table which describes the layout of the partitions on the hard disk and optionally a bootloader which can load the operating system.
MSS
the Maximum Segment Size is a parameter of the TCP protocol which determines the maximum size of the datagrams that a computer can receive. It is transmitted when the connection is established.
MTU
the Maximum Transmission Unit is the maximum size of a datagram which can be sent in a network. The MTU is 1500 Byte for ethernet and larger for gigabit ethernet. The MTU is smaller for PPPoE which is used for DSL connections.
NAT
Network Address Translation is a method for hiding the addresses of a network. There are different NAT techniques with different uses. The most common is also known as masquerading and means that all computers in a network are externally represented by the address of the router connecting the network with other networks. This can be found in most home routers where the ISP provides the router with only one address to use on the internet.
NBP
the Network Bootstrap Program is a bootloader which is copied from a server via the network and executed on the computer being started. This program is responsible for loading and launching the operating system.
NTP
Network Time Protocol is a standard protocol for synchronizing clocks in a network. RFC5905 describes the protocol’s current Version 4.
Operating system
the software which provides basic functions to run a computer. The operating system manages resources like memory, input and output devices, and CPU time, and schedules the execution of other programs.
OSI model
the Open Systems Interconnection Reference Model is a layered model of the International Organization for Standardization (ISO). It was developed as a design basis for communication protocols.

In this model the communication tasks are divided into seven layers in ascending order: physical, data link, network, transport, session, presentation and application. Each higher layer uses the services of the lower layers to perform its tasks.

The OSI model is only a reference or design basis. Real protocols often cover more than one layer of the OSI model. The ethernet protocol, for instance, describes layers 1 (physical) and 2 (data link).

Path-MTU, PMTU
is the smallest MTU of all of the networks on the path that the datagrams use to travel between two computers. This value is important to be able to send the biggest possible datagrams that do not need to be fragmented. The PMTU can be determined automatically. For this to work it is important that certain ICMP messages reach the sender of the datagrams.
PCI
the Peripheral Component Interconnect bus is a standard for connecting peripheral devices with the process chip set. The ALIX devices contain a miniPCI bus, a smaller variant for 32 bit which is often used in notebook computers.
PS/2
is a serial interface used to connect a keyboard and mouse to a computer.
PXE
the Preboot Execution Environment is a technique that enable computers to load the operating system using a network. This means the computer is not dependent on the mass media and operating systems installed on them. The PXE code is often located in the BIOS of the network interface card and allows the computer to communicate with DHCP and TFTP servers.
RAM
Random Access Memory is primarily used as the main or working memory in a computer. RAM only works as a temporary storage because the processing of the data takes place in the CPU registers and permanent storage is on the file system (usually on a hard disk). There are also file systems in the RAM for temporary files which are only used during the runtime of the computer.
RFC
Request For Comment is the name for thousands of technical and organizational documents pertaining to the Internet. With the first publication still put up for discussion, RFCs keep their names even when they have become a standard through common acceptance and usage. Some of the RFCs relevant for ALIX projects are presented in the chapter on further information. The RFC process for publishing an RFC is itself documented in RFC 2026
ROM
Read Only Memory is storage which can’t be written in normal operating mode.
SNMP
the IETF developed the Simple Network Management Protocol to monitor and control simple network devices.
SSH
Secure Shell is the name of the protocol and the program which you can use to make an encrypted connection to another computer. Often the remote command line is placed on your computer to call up programs on the other computer. You can also tunnel connections to the other computer which can be used by other programs to securely communicate using the SSH connection.
System V
is the name of a version of the UNIX operating system from AT&T as well as the name for a class of unixoid operating systems which, unlike the BSD line, were derived from the AT&T line of UNIX.
TCP
Transmission Control Protocol is a reliable, connection-orientated protocol that uses Internet Protocol. It guarantees that the data is transferred in its entirety and in the correct order as long as the connection does not break off completely.
TFTP
Trivial File Transfer Protocol is a very simple protocol for file transferring. You can find more information on this protocol in the chapter on protocols and mechanisms.
UBIFS
the Unsorted Block Image File System is a successor of the JFFFS2 and a competitor of the LogFS. It is a file system that is used directly on flash memory. Because ALIX devices use CF cards which contain their own controller, we do not need this file system.
UCI
OpenWrt’s Unified Configuration Interface centralizes the configuration of installed software. Instead of configuring various files using different syntaxes you can use the command line program uci, which has a common syntax for all software components, to configure the software.
UDP
User Datagram Protocol is a simple connectionless network protocol which uses Internet Protocol. UDP doesn’t guarantee anything but it saves the effort of having to establish a connection and therefore offers advantages when transferring small volumes of data.
UNIX
UNIX is a multiuser operating system which was originally developed at AT&T’s Bell Labs to support software development. Initially freely available, it was distributed under a proprietary license starting 1981 and again under a free license starting 2005. There have been many operating systems that have been derived from UNIX and newly written operating systems which implement the typical system functions of UNIX (POSIX). These are also called unixoid operating systems.
UPS
Uninterruptible Power Supply is used to keep a computer running even in the event of a power outage. Depending on the size of the UPS it can keep the computer running for a few minutes to several hours or days. A simple UPS for ALIX computers, which you may build yourself, is outlined in the chapter about additional hardware.
USB
the Universal Serial Bus is a serial bus system used to connect a computer with external devices. Devices equipped with USB can be connected and disconnected while running.
UUID
the Universally Unique Identifier is an id that is formed according to a given standard which uniquely identifies information in distributed systems without central control. RFC4122 describes the structure and namespace for UUIDs.
VGA
Video Graphics Array is an analog standard for video transmission. The computer screen is connected to the VGA interface.
VPN
a Virtual Private Network is a direct connection from one network to another network regardless of how far or near the other network is. VPNs traversing the internet are usually encrypted, but unencrypted VPNs are possible too.
X86
is the name of a microprocessor architecture and the instruction sets used by this which was mainly developed by Intel. There are various manufacturers that build CPUs which are compatible with this architecture. The AMD Geode processors built into ALIX devices are compatible with X86.
Zero Configuration Networking
combines several protocols and methods which allow computers without explicit configuration to connect and exchange data. The chapter on protocols and mechanisms goes into detail about this.