Pseudocode, interpreted by a virtual machine within an ACPI-compliant operating system, providing a layer between the
underlying hardware and the documented interface presented to the OS.
ACPI Source Language
(ASL)
The programming language AML is written in.
Access Control List
(ACL)
A list of permissions attached to an object, usually either a file or a network
device.
Advanced Configuration and Power
Interface
(ACPI)
A specification which provides an abstraction of the interface the hardware presents
to the operating system, so that the operating system should need to know nothing about
the underlying hardware to make the most of it. ACPI
evolves and supercedes the functionality provided previously by APM, PNPBIOS and other
technologies, and provides facilities for controlling power consumption, machine
suspension, device enabling and disabling, etc.
Application Programming
Interface
(API)
A set of procedures, protocols and tools that specify the canonical interaction of one
or more program parts; how, when and why they do work together, and what data they share
or operate on.
Advanced Power Management
(APM)
An API enabling the operating system to work in
conjunction with the BIOS in order to achieve power
management. APM has been superseded by the much more
generic and powerful ACPI specification for most
applications.
Advanced Programmable Interrupt
Controller
(APIC)
Advanced Technology
Attachment
(ATA)
Asynchronous Transfer Mode
(ATM)
Authenticated Post Office
Protocol
(APOP)
Automatic Mount Daemon
(AMD)
A daemon that automatically mounts a filesystem when a file or directory within that
filesystem is accessed.
The registers that determine which address range a PCI device will respond to.
Basic Input/Output System
(BIOS)
The definition of BIOS depends a bit on the
context. Some people refer to it as the ROM chip with
a basic set of routines to provide an interface between software and hardware. Others
refer to it as the set of routines contained in the chip that help in bootstrapping the
system. Some might also refer to it as the screen used to configure the boostrapping
process. The BIOS is PC-specific but other systems
have something similar.
Berkeley Internet Name
Domain
(BIND)
An implementation of the DNS protocols.
Berkeley Software
Distribution
(BSD)
This is the name that the Computer Systems Research Group (CSRG) at The University of California at Berkeley
gave to their improvements and modifications to AT&T's 32V UNIX®. FreeBSD is a descendant of the CSRG work.
Bikeshed Building
A phenomenon whereby many people will give an opinion on an uncomplicated topic,
whilst a complex topic receives little or no discussion. See the FAQ for the origin of the term.
An RS232C signal indicating that a carrier has been
detected.
Central Processing Unit
(CPU)
Also known as the processor. This is the brain of the computer where all calculations
take place. There are a number of different architectures with different instruction
sets. Among the more well-known are the Intel-x86 and derivatives, Sun SPARC, PowerPC,
and Alpha.
Challenge Handshake Authentication
Protocol
(CHAP)
A method of authenticating a user, based on a secret shared between client and
server.
Classical IP over ATM
(CLIP)
Clear To Send
(CTS)
An RS232C signal giving the remote system
permission to send data.
A version control system, providing a method of working with and keeping track of many
different revisions of files. CVS provides the ability to extract, merge and revert
individual changes or sets of changes, and offers the ability to keep track of which
changes were made, by who and for what reason.
An RS232C signal sent from the computer or terminal
to the modem indicating a readiness to send and receive data.
Debugger
(DDB)
An interactive in-kernel facility for examining the status of a system, often used
after a system has crashed to establish the events surrounding the failure.
Differentiated System Description
Table
(DSDT)
An ACPI table, supplying basic configuration
information about the base system.
Distance-Vector Multicast Routing
Protocol
(DVMRP)
Domain Name System
(DNS)
The system that converts humanly readable hostnames (i.e., mail.example.net) to
Internet addresses and vice versa.
Dynamic Host Configuration
Protocol
(DHCP)
A protocol that dynamically assigns IP addresses to a computer (host) when it requests
one from the server. The address assignment is called a “lease”.
The name of a mutual exclusion mechanism (a sleep mutex) that
protects a large set of kernel resources. Although a simple locking mechanism was
adequate in the days where a machine might have only a few dozen processes, one
networking card, and certainly only one processor, in current times it is an unacceptable
performance bottleneck. FreeBSD developers are actively working to replace it with locks
that protect individual resources, which will allow a much greater degree of parallelism
for both single-processor and multi-processor machines.
Graphical User Interface
(GUI)
A system where the user and computer interact with graphics.
The new IP protocol. Invented because the address
space in IPv4 is running out. Uses 128 bits for
addressing.
Input/Output
(I/O)
Intel's ASL compiler
(IASL)
Intel's compiler for converting ASL into AML.
Internet Message Access
Protocol
(IMAP)
A protocol for accessing email messages on a mail server, characterised by the
messages usually being kept on the server as opposed to being downloaded to the mail
reader client.
The packet transmitting protocol that is the basic protocol on the Internet.
Originally developed at the U.S. Department of Defense and an extremly important part of
the TCP/IP stack. Without the Internet Protocol, the
Internet would not have become what it is today. For more information, see RFC 791.
A method of dynamically loading functionality into a FreeBSD kernel without rebooting
the system.
Kernel Scheduler Entities
(KSE)
A kernel-supported threading system. See the project home page for further details.
Kernel Virtual Address
(KVA)
Key Distribution Center
(KDC)
Kilo Bits Per Second
(Kbps)
Used to measure bandwith (how much data can pass a given point at a specified amount
of time). Alternates to the Kilo prefix include Mega, Giga, Tera, and so forth.
A network used on a local area, e.g. office, home, or so forth.
Lock Order Reversal
(LOR)
The FreeBSD kernel uses a number of resource locks to arbitrate contention for those
resources. A run-time lock diagnostic system found in FreeBSD-CURRENT kernels (but
removed for releases), called witness(4), detects
the potential for deadlocks due to locking errors. (witness(4) is actually
slightly conservative, so it is possible to get false positives.) A true positive report
indicates that “if you were unlucky, a deadlock would have happened
here”.
True positive LORs tend to get fixed quickly, so check
https://lists.FreeBSD.org/mailman/listinfo/freebsd-current and the LORs Seen page
before posting to the mailing lists.
An application used to transfer email. An MTA has
traditionally been part of the BSD base system. Today Sendmail is included in the base
system, but there are many other MTAs, such as
postfix, qmail and Exim.
Mail User Agent
(MUA)
An application used by users to display and write email.
Mandatory Access Control
(MAC)
Massachusetts Institute of
Technology
(MIT)
Merge From Current
(MFC)
To merge functionality or a patch from the -CURRENT branch to another, most often
-STABLE.
Merge From Perforce
(MFP4)
To merge functionality or a patch from the Perforce repository to the -CURRENT
branch.
In the normal course of FreeBSD development, a change will be committed to the
-CURRENT branch for testing before being merged to -STABLE. On rare occasions, a change
will go into -STABLE first and then be merged to -CURRENT.
This term is also used when a patch is merged from -STABLE to a security branch.
A tecnique where IP packets are rewritten on the
way through a gateway, enabling many machines behind the gateway to effectively share a
single IP address.
Network File System
(NFS)
New Technology File System
(NTFS)
A filesystem developed by Microsoft and available in its “New Technology”
operating systems, such as Windows® 2000, Windows NT® and Windows XP.
A set of programs, libraries and tools that provide access to the hardware resources
of a computer. Operating systems range today from simplistic designs that support only
one program running at a time, accessing only one device to fully multi-user,
multi-tasking and multi-process systems that can serve thousands of users simultaneously,
each of them running dozens of different applications.
Overtaken By Events
(OBE)
Indicates a suggested change (such as a Problem Report or a feature request) which is
no longer relevant or applicable due to such things as later changes to FreeBSD, changes
in networking standards, the affected hardware having since become obsolete, and so
forth.
A source code control product made by Perforce Software which is more advanced than CVS. Although not open
source, its use is free of charge to open-source projects such as FreeBSD.
Some FreeBSD developers use a Perforce repository as a staging area for code that is
considered too experimental for the -CURRENT branch.
Personal Computer
(PC)
Personal Computer Network File
System Daemon
(PCNFSD)
Physical Address Extensions
(PAE)
A method of enabling access to up to 64 GB of RAM
on systems which only physically have a 32-bit wide address space (and would therefore be
limited to 4 GB without PAE).
Pluggable Authentication
Modules
(PAM)
Point-to-Point Protocol
(PPP)
Pointy Hat
A mythical piece of headgear, much like a dunce cap, awarded
to any FreeBSD committer who breaks the build, makes revision numbers go backwards, or
creates any other kind of havoc in the source base. Any committer worth his or her salt
will soon accumulate a large collection. The usage is (almost always?) humorous.
A protocol for accessing email messages on a mail server, characterised by the
messages usually being downloaded from the server to the client, as opposed to remaining
on the server.
As FreeBSD evolves, changes visible to the user should be kept as unsurprising as
possible. For example, arbitrarily rearranging system startup variables in /etc/defaults/rc.conf violates POLA. Developers consider POLA when contemplating user-visible system changes.
Problem Report
(PR)
A description of some kind of problem that has been found in either the FreeBSD source
or documentation. See Writing FreeBSD Problem Reports.
Process ID
(PID)
A number, unique to a particular process on a system, which identifies it and allows
actions to be taken against it.
Project Evil
The working title for the NDISulator, written by
Bill Paul, who named it referring to how awful it is (from a philosophical standpoint) to
need to have something like this in the first place. The NDISulator is a special compatibility module to allow Microsoft
Windows™ NDIS miniport network drivers to be used with FreeBSD/i386. This is
usually the only way to use cards where the driver is closed-source. See src/sys/compat/ndis/subr_ndis.c.
A standard for communications between serial devices.
Reduced Instruction Set
Computer
(RISC)
An approach to processor design where the operations the hardware can perform are
simplified but made as general purpose as possible. This can lead to lower power
consumption, fewer transistors and in some cases, better performance and increased code
density. Examples of RISC processors include the Alpha, Sparc®, ARM® and PowerPC®.
A direct copying of files within the CVS repository.
Without a repocopy, if a file needed to be copied or moved to another place in the
repository, the committer would run cvs add to put the file in
its new location, and then cvs rm on the old file if the old
copy was being removed.
The disadvantage of this method is that the history (i.e. the entries in the CVS logs)
of the file would not be copied to the new location. As the FreeBSD Project considers
this history very useful, a repository copy is often used instead. This is a process
where one of the repository meisters will copy the files directly within the repository,
rather than using the cvs(1) program.
Request For Comments
(RFC)
A set of documents defining Internet standards, protocols, and so forth. See www.rfc-editor.org.
Also used as a general term when someone has a suggested change and wants
feedback.
Request To Send
(RTS)
An RS232C signal requesting that the remote system
commences transmission of data.