text:
Booting

In computing, booting is the process of starting a computer as initiated via hardware such as a button on the computer or by a software command. After it is switched on, a computer's central processing unit (CPU) has no software in its main memory, so some process must load software into memory before it can be executed. This may be done by hardware or firmware in the CPU, or by a separate processor in the computer system.

Restarting a computer also is called rebooting, which can be "hard", e.g. after electrical power to the CPU is switched from off to on, or "soft", where the power is not cut. On some systems, a soft boot may optionally clear RAM to zero. Both hard and soft booting can be initiated by hardware such as a button press or by a software command. Booting is complete when the operative runtime system, typically the operating system and some applications, is attained.

The process of returning a computer from a state of sleep (suspension) does not involve booting; however, restoring it from a state of hibernation does. Minimally, some embedded systems do not require a noticeable boot sequence to begin functioning and when turned on may simply run operational programs that are stored in ROM. All computing systems are state machines, and a reboot may be the only method to return to a designated zero-state from an unintended, locked state.

In addition to loading an operating system or stand-alone utility, the boot process can also load a storage dump program for diagnosing problems in an operating system.

Boot is short for bootstrap or bootstrap load and derives from the phrase to pull oneself up by one's bootstraps. The usage calls attention to the requirement that, if most software is loaded onto a computer by other software already running on the computer, some mechanism must exist to load the initial software onto the computer. Early computers used a variety of ad-hoc methods to get a small program into memory to solve this problem. The invention of read-only memory (ROM) of various types solved this paradox by allowing computers to be shipped with a start up program that could not be erased. Growth in the capacity of ROM has allowed ever more elaborate start up procedures to be implemented.

History
There are many different methods available to load a short initial program into a computer. These methods reach from simple, physical input to removable media that can hold more complex programs.

Early computers
Early computers in the 1940s and 1950s were one-of-a-kind engineering efforts that could take weeks to program and program loading was one of many problems that had to be solved. An early computer, ENIAC, had no program stored in memory, but was set up for each problem by a configuration of interconnecting cables. Bootstrapping did not apply to ENIAC, whose hardware configuration was ready for solving problems as soon as power was applied.

The EDSAC system, the second stored-program computer to be built, used stepping switches to transfer a fixed program into memory when its start button was pressed. The program stored on this device, which David Wheeler completed in late 1948, loaded further instructions from punched tape and then executed them.

First commercial computers
The first programmable computers for commercial sale, such as the UNIVAC I and the IBM 701 included features to make their operation simpler. They typically included instructions that performed a complete input or output operation. The same hardware logic could be used to load the contents of a punch card (the most typical ones) or other input media, such as a magnetic drum or magnetic tape, that contained a bootstrap program by pressing a single button. This booting concept was called a variety of names for IBM computers of the 1950s and early 1960s, but IBM used the term "Initial Program Load" with the IBM 7030 Stretch and later used it for their mainframe lines, starting with the System/360 in 1964.

The IBM 701 computer (1952–1956) had a "Load" button that initiated reading of the first 36-bit word into main memory from a punched card in a card reader, a magnetic tape in a tape drive, or a magnetic drum unit, depending on the position of the Load Selector switch. The left 18-bit half-word was then executed as an instruction, which usually read additional words into memory. The loaded boot program was then executed, which, in turn, loaded a larger program from that medium into memory without further help from the human operator. The IBM 704, IBM 7090, and IBM 7094 had similar mechanisms, but with different load buttons for different devices. The term "boot" has been used in this sense since at least 1958.

Other IBM computers of that era had similar features. For example, the IBM 1401 system (c. 1958) used a card reader to load a program from a punched card. The 80 characters stored in the punched card were read into memory locations 001 to 080, then the computer would branch to memory location 001 to read its first stored instruction. This instruction was always the same: move the information in these first 80 memory locations to an assembly area where the information in punched cards 2, 3, 4, and so on, could be combined to form the stored program. Once this information was moved to the assembly area, the machine would branch to an instruction in location 080 (read a card) and the next card would be read and its information processed.

Another example was the IBM 650 (1953), a decimal machine, which had a group of ten 10-position switches on its operator panel which were addressable as a memory word (address 8000) and could be executed as an instruction. Thus setting the switches to 7004000400 and pressing the appropriate button would read the first card in the card reader into memory (op code 70), starting at address 400 and then jump to 400 to begin executing the program on that card. The IBM 7040 and 7044 have a similar mechanism, in which the Load button causes the instruction set up in the entry keys on the front panel is executed, and the channel that instruction sets up is given a command to transfer data to memory starting at address 00100; when that transfer finishes, the CPU jumps to address 00101.

IBM's competitors also offered single button program load.
 * The CDC 6600 (c. 1964) had a dead start panel with 144 toggle switches; the dead start switch entered 12 12-bit words from the toggle switches to the memory of peripheral processor (PP) 0 and initiated the load sequence by causing PP 0 to execute the code loaded into memory. PP 0 loaded the necessary code into its own memory and then initialized the other PPs.
 * The GE 645 (c. 1965) had a "SYSTEM BOOTLOAD" button that, when pressed, caused one of the I/O controllers to load a 64-word program into memory from a diode read-only memory and deliver an interrupt to cause that program to start running.
 * The first model of the PDP-10 had a "READ IN" button that, when pressed, reset the processor and started an I/O operation on a device specified by switches on the control panel, reading in a 36-bit word giving a target address and count for subsequent word reads; when the read completed, the processor started executing the code read in by jumping to the last word read in.

A noteworthy variation of this is found on the Burroughs B1700 where there is neither a bootstrap ROM nor a hardwired IPL operation. Instead, after the system is reset it reads and executes microinstructions sequentially from a cassette tape drive mounted on the front panel; this sets up a boot loader in RAM which is then executed. However, since this makes few assumptions about the system it can equally well be used to load diagnostic (Maintenance Test Routine) tapes which display an intelligible code on the front panel even in cases of gross CPU failure.

IBM System/360 and successors
In the IBM System/360 and its successors, including the current z/Architecture machines, the boot process is known as Initial Program Load (IPL).

IBM coined this term for the 7030 (Stretch), revived it for the design of the System/360, and continues to use it in those environments today. In the System/360 processors, an IPL is initiated by the computer operator by selecting the three hexadecimal digit device address (CUU; C=I/O Channel address, UU=Control unit and Device address ) followed by pressing the LOAD button. On the high end System/360 models, most System/370 and some later systems, the functions of the switches and the LOAD button are simulated using selectable areas on the screen of a graphics console, often an IBM 2250-like device or an IBM 3270-like device. For example, on the System/370 Model 158, the keyboard sequence 0-7-X (zero, seven and X, in that order) results in an IPL from the device address which was keyed into the input area. The Amdahl 470V/6 and related CPUs supported four hexadecimal digits on those CPUs which had the optional second channel unit installed, for a total of 32 channels. Later, IBM would also support more than 16 channels.

The IPL function in the System/360 and its successors prior to IBM Z, and its compatibles such as Amdahl's, reads 24 bytes from an operator-specified device into main storage starting at real address zero. The second and third groups of eight bytes are treated as Channel Command Words (CCWs) to continue loading the startup program (the first CCW is always simulated by the CPU and consists of a Read IPL command, 02h, with command chaining and suppress incorrect length indication being enforced). When the I/O channel commands are complete, the first group of eight bytes is then loaded into the processor's Program Status Word (PSW) and the startup program begins execution at the location designated by that PSW. The IPL device is usually a disk drive, hence the special significance of the 02h read-type command, but exactly the same procedure is also used to IPL from other input-type devices, such as tape drives, or even card readers, in a device-independent manner, allowing, for example, the installation of an operating system on a brand-new computer from an OS initial distribution magnetic tape. For disk controllers, the 02h command also causes the selected device to seek to cylinder 0000h, head 0000h, simulating a Seek cylinder and head command, 07h, and to search for record 01h, simulating a Search ID Equal command, 31h; seeks and searches are not simulated by tape and card controllers, as for these device classes a Read IPL command is simply a sequential read command.

The disk, tape or card deck must contain a special program to load the actual operating system or standalone utility into main storage, and for this specific purpose "IPL Text" is placed on the disk by the stand-alone DASDI (Direct Access Storage Device Initialization) program or an equivalent program running under an operating system, e.g., ICKDSF, but IPL-able tapes and card decks are usually distributed with this "IPL Text" already present.

IBM introduced some evolutionary changes in the IPL process, changing some details for System/370 Extended Architecture (S/370-XA) and later, and adding a new type of IPL for z/Architecture.

Minicomputers

Minicomputers, starting with the Digital Equipment Corporation (DEC) PDP-5 and PDP-8 (1965) simplified design by using the CPU to assist input and output operations. This saved cost but made booting more complicated than pressing a single button. Minicomputers typically had some way to toggle in short programs by manipulating an array of switches on the front panel. Since the early minicomputers used magnetic-core memory, which did not lose its information when power was off, these bootstrap loaders would remain in place unless they were erased. Erasure sometimes happened accidentally when a program bug caused a loop that overwrote all of memory.

Other minicomputers with such simple form of booting include Hewlett-Packard's HP 2100 series (mid-1960s), the original Data General Nova (1969), and DEC's PDP-4 (1962) and PDP-11 (1970).

As the I/O operations needed to cause a read operation on a minicomputer I/O device were typically different for different device controllers, different bootstrap programs were needed for different devices.

DEC later added, in 1971, an optional diode matrix read-only memory for the PDP-11 that stored a bootstrap program of up to 32 words (64 bytes). It consisted of a printed circuit card, the M792, that plugged into the Unibus and held a 32 by 16 array of semiconductor diodes. With all 512 diodes in place, the memory contained all "one" bits; the card was programmed by cutting off each diode whose bit was to be "zero". DEC also sold versions of the card, the BM792-Yx series, pre-programmed for many standard input devices by simply omitting the unneeded diodes.

Following the older approach, the earlier PDP-1 has a hardware loader, such that an operator need only push the "load" switch to instruct the paper tape reader to load a program directly into core memory. The PDP-7, PDP-9, and PDP-15 successors to the PDP-4 have an added Read-In button to read a program in from paper tape and jump to it. The Data General Supernova used front panel switches to cause the computer to automatically load instructions into memory from a device specified by the front panel's data switches, and then jump to loaded code.

Early minicomputer boot loader examples
In a minicomputer with a paper tape reader, the first program to run in the boot process, the boot loader, would read into core memory either the second-stage boot loader (often called a Binary Loader) that could read paper tape with checksum or the operating system from an outside storage medium. Pseudocode for the boot loader might be as simple as the following eight instructions:

 * 1) Set the P register to 9
 * 2) Check paper tape reader ready
 * 3) If not ready, jump to 2
 * 4) Read a byte from paper tape reader to accumulator
 * 5) Store accumulator to address in P register
 * 6) If end of tape, jump to 9
 * 7) Increment the P register
 * 8) Jump to 2

A related example is based on a loader for a Nicolet Instrument Corporation minicomputer of the 1970s, using the paper tape reader-punch unit on a Teletype Model 33 ASR teleprinter. The bytes of its second-stage loader are read from paper tape in reverse order.

 * 1) Set the P register to 106
 * 2) Check paper tape reader ready
 * 3) If not ready, jump to 2
 * 4) Read a byte from paper tape reader to accumulator
 * 5) Store accumulator to address in P register
 * 6) Decrement the P register
 * 7) Jump to 2

The length of the second stage loader is such that the final byte overwrites location 7. After the instruction in location 6 executes, location 7 starts the second stage loader executing. The second stage loader then waits for the much longer tape containing the operating system to be placed in the tape reader. The difference between the boot loader and second stage loader is the addition of checking code to trap paper tape read errors, a frequent occurrence with relatively low-cost, "part-time-duty" hardware, such as the Teletype Model 33 ASR. (Friden Flexowriters were far more reliable, but also comparatively costly.)

Booting the first microcomputers
The earliest microcomputers, such as the Altair 8800 (released first in 1975) and an even earlier, similar machine (based on the Intel 8008 CPU) had no bootstrapping hardware as such. When powered-up, the CPU would see memory that would contain random data. The front panels of these machines carried toggle switches for entering addresses and data, one switch per bit of the computer memory word and address bus. Simple additions to the hardware permitted one memory location at a time to be loaded from those switches to store bootstrap code. Meanwhile, the CPU was kept from attempting to execute memory content. Once correctly loaded, the CPU was enabled to execute the bootstrapping code. This process, similar to that used for several earlier minicomputers, was tedious and had to be error-free.

Integrated circuit read-only memory era

The introduction of integrated circuit read-only memory (ROM), with its many variants, including mask-programmed ROMs, programmable ROMs (PROM), erasable programmable ROMs (EPROM), and flash memory, reduced the physical size and cost of ROM. This allowed firmware boot programs to be included as part of the computer.

Minicomputers
The Data General Nova 1200 (1970) and Nova 800 (1971) had a program load switch that, in combination with options that provided two ROM chips, loaded a program into main memory from those ROM chips and jumped to it. Digital Equipment Corporation introduced the integrated-circuit-ROM-based BM873 (1974), M9301 (1977), M9312 (1978), REV11-A and REV11-C, MRV11-C, and MRV11-D ROM memories, all usable as bootstrap ROMs. The PDP-11/34 (1976), PDP-11/60 (1977), PDP-11/24 (1979), and most later models include boot ROM modules.

An Italian telephone switching computer, called "Gruppi Speciali", patented in 1975 by Alberto Ciaramella, a researcher at CSELT, included an (external) ROM. Gruppi Speciali was, starting from 1975, a fully single-button machine booting into the operating system from a ROM memory composed from semiconductors, not from ferrite cores. Although the ROM device was not natively embedded in the computer of Gruppi Speciali, due to the design of the machine, it also allowed the single-button ROM booting in machines not designed for that (therefore, this "bootstrap device" was architecture-independent), e.g. the PDP-11. Storing the state of the machine after the switch-off was also in place, which was another critical feature in the telephone switching contest.

Some minicomputers and superminicomputers include a separate console processor that bootstraps the main processor. The PDP-11/44 had an Intel 8085 as a console processor; the VAX-11/780, the first member of Digital's VAX line of 32-bit superminicomputers, had an LSI-11-based console processor, and the VAX-11/730 had an 8085-based console processor. These console processors could boot the main processor from various storage devices.

Some other superminicomputers, such as the VAX-11/750, implement console functions, including the first stage of booting, in CPU microcode.

Microprocessors and microcomputers
Typically, a microprocessor will, after a reset or power-on condition, perform a start-up process that usually takes the form of "begin execution of the code that is found starting at a specific address" or "look for a multibyte code at a specific address and jump to the indicated location to begin execution". A system built using that microprocessor will have the permanent ROM occupying these special locations so that the system always begins operating without operator assistance. For example, Intel x86 processors always start by running the instructions beginning at F000:FFF0, while for the MOS 6502 processor, initialization begins by reading a two-byte vector address at $FFFD (MS byte) and $FFFC (LS byte) and jumping to that location to run the bootstrap code.

Apple Computer's first computer, the Apple 1 introduced in 1976, featured PROM chips that eliminated the need for a front panel for the boot process (as was the case with the Altair 8800) in a commercial computer. According to Apple's ad announcing it "No More Switches, No More Lights ... the firmware in PROMS enables you to enter, display and debug programs (all in hex) from the keyboard."

Due to the expense of read-only memory at the time, the Apple II booted its disk operating systems using a series of very small incremental steps, each passing control onward to the next phase of the gradually more complex boot process. (See Apple DOS: Boot loader). Because so little of the disk operating system relied on ROM, the hardware was also extremely flexible and supported a wide range of customized disk copy protection mechanisms. (See Software Cracking: History.)

Some operating systems, most notably pre-1995 Macintosh systems from Apple, are so closely interwoven with their hardware that it is impossible to natively boot an operating system other than the standard one. This is the opposite extreme of the scenario using switches mentioned above; it is highly inflexible but relatively error-proof and foolproof as long as all hardware is working normally. A common solution in such situations is to design a boot loader that works as a program belonging to the standard OS that hijacks the system and loads the alternative OS. This technique was used by Apple for its A/UX Unix implementation and copied by various freeware operating systems and BeOS Personal Edition 5.

Some machines, like the Atari ST microcomputer, were "instant-on", with the operating system executing from a ROM. Retrieval of the OS from secondary or tertiary store was thus eliminated as one of the characteristic operations for bootstrapping. To allow system customizations, accessories, and other support software to be loaded automatically, the Atari's floppy drive was read for additional components during the boot process. There was a timeout delay that provided time to manually insert a floppy as the system searched for the extra components. This could be avoided by inserting a blank disk. The Atari ST hardware was also designed so the cartridge slot could provide native program execution for gaming purposes as a holdover from Atari's legacy making electronic games; by inserting the Spectre GCR cartridge with the Macintosh system ROM in the game slot and turning the Atari on, it could "natively boot" the Macintosh operating system rather than Atari's own TOS.

The IBM Personal Computer included ROM-based firmware called the BIOS; one of the functions of that firmware was to perform a power-on self test when the machine was powered up, and then to read software from a boot device and execute it. Firmware compatible with the BIOS on the IBM Personal Computer is used in IBM PC compatible computers. The UEFI was developed by Intel, originally for Itanium-based machines, and later also used as an alternative to the BIOS in x86-based machines, including Apple Macs using Intel processors.

Unix workstations originally had vendor-specific ROM-based firmware. Sun Microsystems later developed OpenBoot, later known as Open Firmware, which incorporated a Forth interpreter, with much of the firmware being written in Forth. It was standardized by the IEEE as IEEE standard 1275-1994; firmware that implements that standard was used in PowerPC-based Macs and some other PowerPC-based machines, as well as Sun's own SPARC-based computers. The Advanced RISC Computing specification defined another firmware standard, which was implemented on some MIPS-based and Alpha-based machines and the SGI Visual Workstation x86-based workstations.

Modern boot loaders
When a computer is turned off, its software—including operating systems, application code, and data—remains stored on non-volatile memory. When the computer is powered on, it typically does not have an operating system or its loader in random-access memory (RAM). The computer first executes a relatively small program stored in read-only memory (ROM, and later EEPROM, NOR flash) which support execute in place, to initialize CPU and motherboard, to initialize DRAM (especially on x86 systems), to access the nonvolatile device (usually block-addressed device, e.g. NAND flash, SSD) or devices from which the operating system programs and data can be loaded into RAM.

The small program that starts this sequence is known as a bootstrap loader, bootstrap or boot loader. Often, multiple-stage boot loaders are used, during which several programs of increasing complexity load one after the other in a process of chain loading.

Some earlier computer systems, upon receiving a boot signal from a human operator or a peripheral device, may load a very small number of fixed instructions into memory at a specific location, initialize at least one CPU, and then point the CPU to the instructions and start their execution. These instructions typically start an input operation from some peripheral device (which may be switch-selectable by the operator). Other systems may send hardware commands directly to peripheral devices or I/O controllers that cause an extremely simple input operation (such as "read sector zero of the system device into memory starting at location 1000") to be carried out, effectively loading a small number of boot loader instructions into memory; a completion signal from the I/O device may then be used to start execution of the instructions by the CPU.

Smaller computers often use less flexible but more automatic boot loader mechanisms to ensure that the computer starts quickly and with a predetermined software configuration. In many desktop computers, for example, the bootstrapping process begins with the CPU executing software contained in ROM (for example, the BIOS of an IBM PC) at a predefined address (some CPUs, including the Intel x86 series are designed to execute this software after reset without outside help). This software contains rudimentary functionality to search for devices eligible to participate in booting, and load a small program from a special section (most commonly the boot sector) of the most promising device, typically starting at a fixed entry point such as the start of the sector.

Boot loaders may face peculiar constraints, especially in size; for instance, on the IBM PC and compatibles, the boot code must fit in the Master Boot Record (MBR) and the Partition Boot Record (PBR), which in turn are limited to a single sector; on the IBM System/360, the size is limited by the IPL medium, e.g., card size, track size.

On systems with those constraints, the first program loaded into RAM may not be sufficiently large to load the operating system and, instead, must load another, larger program. The first program loaded into RAM is called a first-stage boot loader, and the program it loads is called a second-stage boot loader.

First-stage boot loaders
Examples of first-stage (Hardware initialization stage) bootloaders include BIOS, UEFI, coreboot, Libreboot and Das U-Boot. On the IBM PC, the boot loader in the Master Boot Record (MBR) and the Partition Boot Record (PBR) was coded to require at least 32 KB (later expanded to 64 KB ) of system memory and only use instructions supported by the original 8088/8086 processors.

Second-stage boot loaders
Second-stage (OS initialization stage) boot loaders, such as shim, GNU GRUB, rEFInd, BOOTMGR, Syslinux, NTLDR and iBoot, are not themselves operating systems, but are able to load an operating system properly and transfer execution to it; the operating system subsequently initializes itself and may load extra device drivers. The second-stage boot loader does not need drivers for its own operation, but may instead use generic storage access methods provided by system firmware such as the BIOS, UEFI or Open Firmware, though typically with restricted hardware functionality and lower performance.

Many boot loaders (like GNU GRUB, rEFInd, Windows's BOOTMGR, Syslinux, and Windows NT/2000/XP's NTLDR) can be configured to give the user multiple booting choices. These choices can include different operating systems (for dual or multi-booting from different partitions or drives), different versions of the same operating system (in case a new version has unexpected problems), different operating system loading options (e.g., booting into a rescue or safe mode), and some standalone programs that can function without an operating system, such as memory testers (e.g., memtest86+), a basic shell (as in GNU GRUB), or even games (see List of PC Booter games). Some boot loaders can also load other boot loaders; for example, GRUB loads BOOTMGR instead of loading Windows directly. Usually a default choice is preselected with a time delay during which a user can press a key to change the choice; after this delay, the default choice is automatically run so normal booting can occur without interaction.

The boot process can be considered complete when the computer is ready to interact with the user, or the operating system is capable of running system programs or application programs.

Embedded and multi-stage boot loaders
Many embedded systems must boot immediately. For example, waiting a minute for a digital television or a GPS navigation device to start is generally unacceptable. Therefore, such devices have software systems in ROM or flash memory so the device can begin functioning immediately; little or no loading is necessary, because the loading can be precomputed and stored on the ROM when the device is made.

Large and complex systems may have boot procedures that proceed in multiple phases until finally the operating system and other programs are loaded and ready to execute. Because operating systems are designed as if they never start or stop, a boot loader might load the operating system, configure itself as a mere process within that system, and then irrevocably transfer control to the operating system. The boot loader then terminates normally as any other process would.

Network booting
Most computers are also capable of booting over a computer network. In this scenario, the operating system is stored on the disk of a server, and certain parts of it are transferred to the client using a simple protocol such as the Trivial File Transfer Protocol (TFTP). After these parts have been transferred, the operating system takes over the control of the booting process.

As with the second-stage boot loader, network booting begins by using generic network access methods provided by the network interface's boot ROM, which typically contains a Preboot Execution Environment (PXE) image. No drivers are required, but the system functionality is limited until the operating system kernel and drivers are transferred and started. As a result, once the ROM-based booting has completed it is entirely possible to network boot into an operating system that itself does not have the ability to use the network interface.

Boot devices

The boot device is the storage device from which the operating system is loaded. A modern PC's UEFI or BIOS firmware supports booting from various devices, typically a local solid-state drive or hard disk drive via the GPT or Master Boot Record (MBR) on such a drive or disk, an optical disc drive (using El Torito), a USB mass storage device (USB flash drive, memory card reader, USB hard disk drive, USB optical disc drive, USB solid-state drive, etc.), or a network interface card (using PXE). Older, less common BIOS-bootable devices include floppy disk drives, Zip drives, and LS-120 drives.

Typically, the system firmware (UEFI or BIOS) will allow the user to configure a boot order. If the boot order is set to "first, the DVD drive; second, the hard disk drive", then the firmware will try to boot from the DVD drive, and if this fails (e.g. because there is no DVD in the drive), it will try to boot from the local hard disk drive.

For example, on a PC with Windows installed on the hard drive, the user could set the boot order to the one given above, and then insert a Linux Live CD in order to try out Linux without having to install an operating system onto the hard drive. This is an example of dual booting, in which the user chooses which operating system to start after the computer has performed its Power-on self-test (POST). In this example of dual booting, the user chooses by inserting or removing the DVD from the computer, but it is more common to choose which operating system to boot by selecting from a boot manager menu on the selected device, by using the computer keyboard to select from a BIOS or UEFI Boot Menu, or both; the Boot Menu is typically entered by pressing F8 or F12 keys during the POST; the BIOS Setup is typically entered by pressing F2 or DEL keys during the POST.

Several devices are available that enable the user to quick-boot into what is usually a variant of Linux for various simple tasks such as Internet access; examples are Splashtop and Latitude ON.

Boot sequence

Upon starting, an IBM-compatible personal computer's x86 CPU, executes in real mode, the instruction located at reset vector (the physical memory address FFFF0h on 16-bit x86 processors and FFFFFFF0h on 32-bit and 64-bit x86 processors ), usually pointing to the firmware (UEFI or BIOS) entry point inside the ROM. This memory location typically contains a jump instruction that transfers execution to the location of the firmware (UEFI or BIOS) start-up program. This program runs a power-on self-test (POST) to check and initialize required devices such as main memory (DRAM), the PCI bus and the PCI devices (including running embedded Option ROMs). One of the most involved steps is setting up DRAM over SPD, further complicated by the fact that at this point memory is very limited.

After initializing required hardware, the firmware (UEFI or BIOS) goes through a pre-configured list of non-volatile storage devices ("boot device sequence") until it finds one that is bootable. A bootable MBR device is defined as one that can be read from, and where the last two bytes of the first sector contain the little-endian word AA55h, found as byte sequence 55h, AAh on disk (also known as the MBR boot signature), or where it is otherwise established that the code inside the sector is executable on x86 PCs.

Once the BIOS has found a bootable device it loads the boot sector to linear address 7C00h (usually segment:offset 0000h:7C00h,  but some BIOSes erroneously use 07C0h:0000h) and transfers execution to the boot code. In the case of a hard disk, this is referred to as the Master Boot Record (MBR). The conventional MBR code checks the MBR's partition table for a partition set as bootable (the one with active flag set). If an active partition is found, the MBR code loads the boot sector code from that partition, known as Volume Boot Record (VBR), and executes it. The MBR boot code is often operating-system specific.

The boot sector code is the first-stage boot loader. It is located on fixed disks and removable drives, and must fit into the first 446 bytes of the Master Boot Record in order to leave room for the default 64-byte partition table with four partition entries and the two-byte boot signature, which the BIOS requires for a proper boot loader — or even less, when additional features like more than four partition entries (up to 16 with 16 bytes each), a disk signature (6 bytes), a disk timestamp (6 bytes), an Advanced Active Partition (18 bytes) or special multi-boot loaders have to be supported as well in some environments. In floppy and superfloppy Volume Boot Records, up to 59 bytes are occupied for the Extended BIOS Parameter Block on FAT12 and FAT16 volumes since DOS 4.0, whereas the FAT32 EBPB introduced with DOS 7.1 requires even 87 bytes, leaving only 423 bytes for the boot loader when assuming a sector size of 512 bytes. Microsoft boot sectors therefore traditionally imposed certain restrictions on the boot process, for example, the boot file had to be located at a fixed position in the root directory of the file system and stored as consecutive sectors, conditions taken care of by the   command and slightly relaxed in later versions of DOS. The boot loader was then able to load the first three sectors of the file into memory, which happened to contain another embedded boot loader able to load the remainder of the file into memory. When Microsoft added LBA and FAT32 support, they even switched to a boot loader reaching over two physical sectors and using 386 instructions for size reasons. At the same time other vendors managed to squeeze much more functionality into a single boot sector without relaxing the original constraints on only minimal available memory (32 KB) and processor support (8088/8086). For example, DR-DOS boot sectors are able to locate the boot file in the FAT12, FAT16 and FAT32 file system, and load it into memory as a whole via CHS or LBA, even if the file is not stored in a fixed location and in consecutive sectors.

The VBR is often OS-specific; however, its main function is to load and execute the operating system boot loader file (such as  or  ), which is the second-stage boot loader, from an active partition. Then the boot loader loads the OS kernel from the storage device.

If there is no active partition, or the active partition's boot sector is invalid, the MBR may load a secondary boot loader which will select a partition (often via user input) and load its boot sector, which usually loads the corresponding operating system kernel. In some cases, the MBR may also attempt to load secondary boot loaders before trying to boot the active partition. If all else fails, it should issue an INT 18h BIOS interrupt call (followed by an INT 19h just in case INT 18h would return) in order to give back control to the BIOS, which would then attempt to boot off other devices, attempt a remote boot via network.

Many modern systems (Intel Macs and newer PCs) use UEFI.

Unlike BIOS, UEFI (not Legacy boot via CSM) does not rely on boot sectors, UEFI system loads the boot loader (EFI application file in USB disk or in the EFI System Partition) directly, and the OS kernel is loaded by the boot loader.

Other kinds of boot sequences

Many modern CPUs, SoCs and microcontrollers (for example, TI OMAP) or sometimes even digital signal processors (DSPs) may have boot ROM integrated directly into their silicon, so such a processor can perform a simple boot sequence on its own and load boot programs (firmware or software) from boot sources such as NAND flash or eMMC. It is difficult to hardwire all the required logic for handling such devices, so an integrated boot ROM is used instead in such scenarios. Also, a boot ROM may be able to load a boot loader or diagnostic program via serial interfaces like UART, SPI, USB and so on. This feature is often used for system recovery purposes, or it could also be used for initial non-volatile memory programming when there is no software available in the non-volatile memory yet. Many modern microcontrollers (e.g. flash memory controller on USB flash drives) have firmware ROM integrated directly into their silicon.

Some embedded system designs may also include an intermediary boot sequence step. For example, Das U-Boot may be split into two stages: the platform would load a small SPL (Secondary Program Loader), which is a stripped-down version of U-Boot, and the SPL would do some initial hardware configuration (e.g. DRAM initialization using CPU cache as RAM) and load the larger, fully featured version of U-Boot. Some CPUs and SoCs may not use CPU cache as RAM on boot process, they use an integrated boot processor to do some hardware configuration, to reduce cost.

It is also possible to take control of a system by using a hardware debug interface such as JTAG. Such an interface may be used to write the boot loader program into bootable non-volatile memory (e.g. flash) by instructing the processor core to perform the necessary actions to program non-volatile memory. Alternatively, the debug interface may be used to upload some diagnostic or boot code into RAM, and then to start the processor core and instruct it to execute the uploaded code. This allows, for example, the recovery of embedded systems where no software remains on any supported boot device, and where the processor does not have any integrated boot ROM. JTAG is a standard and popular interface; many CPUs, microcontrollers and other devices are manufactured with JTAG interfaces.

Some microcontrollers provide special hardware interfaces which cannot be used to take arbitrary control of a system or directly run code, but instead they allow the insertion of boot code into bootable non-volatile memory (like flash memory) via simple protocols. Then at the manufacturing phase, such interfaces are used to inject boot code (and possibly other code) into non-volatile memory. After system reset, the microcontroller begins to execute code programmed into its non-volatile memory, just like usual processors are using ROMs for booting. Most notably this technique is used by Atmel AVR microcontrollers, and by others as well. In many cases such interfaces are implemented by hardwired logic. In other cases such interfaces could be created by software running in integrated on-chip boot ROM from GPIO pins.

Most DSPs have a serial mode boot, and a parallel mode boot, such as the host port interface (HPI boot).

In case of DSPs there is often a second microprocessor or microcontroller present in the system design, and this is responsible for overall system behavior, interrupt handling, dealing with external events, user interface, etc. while the DSP is dedicated to signal processing tasks only. In such systems the DSP could be booted by another processor which is sometimes referred as the host processor (giving name to a Host Port). Such a processor is also sometimes referred as the master, since it usually boots first from its own memories and then controls overall system behavior, including booting of the DSP, and then further controlling the DSP's behavior. The DSP often lacks its own boot memories and relies on the host processor to supply the required code instead. The most notable systems with such a design are cell phones, modems, audio and video players and so on, where a DSP and a CPU/microcontroller are co-existing.

Many FPGA chips load their configuration from an external serial EEPROM ("configuration ROM") on power-up.

Security
There are various measures have been implemented which enhance the security of the booting process. Some of them are made mandatory, others can be disabled or enabled by the end user. Traditionally, booting did not involve the use of cryptography. The security can be bypassed by unlocking the bootloader, which might or might not be approved by the manufacturer. Modern bootloaders make use of concurrency, meaning they can run multiple processor cores, and threads at the same time, which add extra layers of complexity to secure booting.

Matthew Garrett argued that booting security serves a legitimate goal but in doing so chooses defaults that are hostile to users.

Measures

 * UEFI secure boot
 * Android Verified boot
 * Samsung Knox
 * Measured boot with the Trusted Platform Module, also known as "trusted boot".
 * Intel BootGuard
 * Disk encryption
 * Firmware passwords

title: Booting


text:
Common carrier

A common carrier in common law countries (corresponding to a public carrier in some civil law systems, usually called simply a carrier) is a person or company that transports goods or people for any person or company and is responsible for any possible loss of the goods during transport. A common carrier offers its services to the general public under license or authority provided by a regulatory body, which has usually been granted "ministerial authority" by the legislation that created it. The regulatory body may create, interpret, and enforce its regulations upon the common carrier (subject to judicial review) with independence and finality as long as it acts within the bounds of the enabling legislation. A common carrier (also called a public carrier in British English) is distinguished from a contract carrier, which is a carrier that transports goods for only a certain number of clients and that can refuse to transport goods for anyone else, and from a private carrier. A common carrier holds itself out to provide service to the general public without discrimination (to meet the needs of the regulator's quasi-judicial role of impartiality toward the public's interest) for the "public convenience and necessity." A common carrier must further demonstrate to the regulator that it is "fit, willing, and able" to provide those services for which it is granted authority. Common carriers typically transport persons or goods according to defined and published routes, time schedules, and rate tables upon the approval of regulators. Public airlines, railroads, bus lines, taxicab companies, phone companies, internet service providers, cruise ships, motor carriers (i.e., canal operating companies, trucking companies), and other freight companies generally operate as common carriers. Under US law, an ocean freight forwarder cannot act as a common carrier.

The term common carrier is a common law term and is seldom used in Continental Europe because it has no exact equivalent in civil-law systems. In Continental Europe, the functional equivalent of a common carrier is referred to as a public carrier or simply as a carrier. However, public carrier in Continental Europe is different from public carrier in British English in which it is a synonym for contract carrier.

General
Although common carriers generally transport people or goods, in the United States the term may also refer to telecommunications service providers and public utilities. In certain U.S. states, amusement parks that operate roller coasters and comparable rides have been found to be common carriers; a famous example is Disneyland.

Regulatory bodies may also grant carriers the authority to operate under contract with their customers instead of under common carrier authority, rates, schedules and rules. These regulated carriers, known as contract carriers, must demonstrate that they are "fit, willing and able" to provide service, according to standards enforced by the regulator. However, contract carriers are specifically not required to demonstrate that they will operate for the "public convenience and necessity." A contract carrier may be authorized to provide service over either fixed routes and schedules, i.e., as regular route carrier or on an ad hoc basis as an irregular route carrier.

It should be mentioned that the carrier refers only to the person (legal or physical) that enters into a contract of carriage with the shipper. The carrier does not necessarily have to own or even be in the possession of a means of transport. Unless otherwise agreed upon in the contract, the carrier may use whatever means of transport approved in its operating authority, as long as it is the most favorable from the cargo interests' point of view. The carriers' duty is to get the goods to the agreed destination within the agreed time or within reasonable time.

The person that is physically transporting the goods on a means of transport is referred to as the "actual carrier." When a carrier subcontracts with another provider, such as an independent contractor or a third-party carrier, the common carrier is said to be providing "substituted service." The same person may hold both common carrier and contract carrier authority. In the case of a rail line in the US, the owner of the property is said to retain a "residual common carrier obligation," unless otherwise transferred (such as in the case of a commuter rail system, where the authority operating passenger trains may acquire the property but not this obligation from the former owner), and must operate the line if service is terminated.

In contrast, private carriers are not licensed to offer a service to the public. Private carriers generally provide transport on an irregular or ad hoc basis for their owners.

Carriers were very common in rural areas prior to motorised transport. Regular services by horse-drawn vehicles would ply to local towns, taking goods to market or bringing back purchases for the village. If space permitted, passengers could also travel.

Cases have also established limitations to the common carrier designation. In a case concerning a hot air balloon, Grotheer v. Escape Adventures, Inc., the court affirmed a hot air balloon was not a common carrier, holding the key inquiry in determining whether or not a transporter can be classified as a common carrier is whether passengers expect the transportation to be safe because the operator is reasonably capable of controlling the risk of injury.

Telecommunications
In the United States, telecommunications carriers are regulated by the Federal Communications Commission under title II of the Communications Act of 1934.

The Telecommunications Act of 1996 made extensive revisions to the "Title II" provisions regarding common carriers and repealed the judicial 1982 AT&T consent decree (often referred to as the Modification of Final Judgment) that effectuated the breakup of AT&T's Bell System. Further, the Act gives telephone companies the option of providing video programming on a common carrier basis or as a conventional cable television operator. If it chooses the former, the telephone company will face less regulation but will also have to comply with FCC regulations requiring what the Act refers to as "open video systems". The Act generally bars, with certain exceptions including most rural areas, acquisitions by telephone companies of more than a 10 percent interest in cable operators (and vice versa) and joint ventures between telephone companies and cable systems serving the same areas.

Internet Service Providers
Using provisions of the Communications Act of 1934, the FCC classified Internet service providers as common carriers, effective June 12, 2015, for the purpose of enforcing net neutrality. Before that time, the Good Samaritan provision of the Communications Decency Act established immunity from liability for third party content on grounds of libel or slander, and the DMCA established that ISPs that comply with the DMCA would not be liable for the copyright violations of third parties on their network. On December 14, 2017, under a new presidential administration, the FCC reversed its own rules on net neutrality, essentially revoking common carrier status as a requirement for Internet service providers. The U.S. Senate narrowly passed a non-binding resolution aiming to reverse the FCC's decision and restore FCC's net neutrality rules.

Pipelines
In the United States, many oil, gas and CO2 pipelines are common carriers. The Federal Energy Regulatory Commission (FERC) regulates rates charged and other tariff terms imposed by interstate common carrier pipelines. Intrastate common carrier pipeline tariffs are often regulated by state agencies. The US and many states have delegated the power of eminent domain to common carrier gas pipelines.

Legal implications
Common carriers are subject to special laws and regulations that differ depending on the means of transport used, e.g. sea carriers are often governed by quite different rules from road carriers or railway carriers. In common law jurisdictions as well as under international law, a common carrier is absolutely liable for goods carried by it, with four exceptions: A sea carrier may also, according to the Hague-Visby Rules, escape liability on other grounds than the above-mentioned, e.g. a sea carrier is not liable for damages to the goods if the damage is the result of a fire on board the ship or the result of a navigational error committed by the ship's master or other crewmember.
 * An act of nature
 * An act of the public enemies
 * Fault or fraud by the shipper
 * An inherent defect in the goods

Carriers typically incorporate further exceptions into a contract of carriage, often specifically claiming not to be a common carrier.

An important legal requirement for common carrier as public provider is that it cannot discriminate, that is refuse the service unless there is some compelling reason. As of 2007, the status of Internet service providers as common carriers and their rights and responsibilities is widely debated (network neutrality).

The term common carrier does not exist in continental Europe but is distinctive to common law systems, particularly law systems in the US.

In Ludditt v Ginger Coote Airways the Privy Council (Lord Macmillan, Lord Wright, Lord Porter and Lord Simonds) held the liability of a public or common carrier of passengers is only to carry with due care. This is more limited than that of a common carrier of goods. The complete freedom of a carrier of passengers at common law to make such contracts as he thinks fit was not curtailed by the Railway and Canal Traffic Act 1854, and a specific contract that enlarges, diminishes or excludes his duty to take care (e.g., by a condition that the passenger travels "at his own risk against all casualties") cannot be pronounced to be unreasonable if the law authorises it. There was nothing in the provisions of the Canadian Transport Act 1938 section 25 that would invalidate a provision excluding liability. Grand Trunk Railway Co of Canada v Robinson [1915] A.C. 740 was followed and Peek v North Staffordshire Railway 11 E.R. 1109 was distinguished.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: Common carrier


text:
Common control

In telecommunications, common control is a principle of switching telephone calls in an automatic telephone exchange that employs shared control equipment which is attached to the circuit of a call only for the duration of establishing or otherwise controlling the call. Thus, such control equipment need only be provided in as few units to satisfy overall exchange traffic, rather than being duplicated for every subscriber line.

In contrast, direct control systems have subsystems for call control that are an integral part of the switching network. Strowger exchanges are usually direct control systems, whereas crossbar, and electronic exchanges (including all stored program control systems) are common control systems. Common control is also known as indirect control or register control.

History
Early semi-mechanical installations with common control components existed, for example rotary systems in Sweden and France in 1915, and the first panel switches in Newark, New Jersey, also in 1915. The first large-scale, fully automatic, common control switching system deployed in commercial production service was the ATlantic central office in Omaha, Nebraska, a panel system cut over on December 10, 1921. Other panel offices for Kansas City and New York City (the PENnsylvania exchange) were in planning at the same time and opened shortly after.

In 1922, common control was introduced in Strowger-type step-by-step systems, resulting in the first installations of Director systems in Havanna, Cuba in 1924, and in London, England in 1927.

By the mid-1920s, common control ideas had extended to include marker systems for testing for idle trunks.

During the 1960s, common control exchanges became stored program control exchanges, and by the 1970s they used common-channel signaling in which the channels that are used for signaling are not used for message traffic (out of band signaling).

title: Common control


text:
Common Management Information Service

The Common Management Information Service (CMIS) is the service interface specified in ITU-T Recommendation X.710, ISO/IEC International Standard 9595 that is employed by OSI network elements for network management. It defines the service interface that is implemented by the Common Management Information Protocol (CMIP) as specified in ITU-T Recommendation X.711, ISO/IEC International Standard 9596-1. CMIS is part of the Open Systems Interconnection (OSI) body of international network standards.

Note the term CMIP is sometimes used erroneously when CMIS is intended. CMIS/CMIP is most often used in telecommunication applications, in other areas SNMP has become more popular.

Services
The following services are made available by the Common Management Information Service Element (CMISE) to allow management of network elements:

Management operation services

 * M-CREATE – Create an instance of a managed object
 * M-DELETE – Delete an instance of a managed object
 * M-GET – Request managed object attributes (for one object or a set of objects)
 * M-CANCEL-GET – Cancel an outstanding GET request
 * M-SET – Set managed object attributes
 * M-ACTION – Request an action to be performed on a managed object

Management notification services

 * M-EVENT-REPORT – Send events occurring on managed objects

Management association services
To transfer management information between open systems using CMIS/CMIP, peer connections, i.e., associations, must be established. This requires the establishment of an Application layer association, a Session layer connection, a Transport layer connection, and, depending on supporting communications technology, Network layer and Link layer connections.

CMIS initially defined management association services but it was later decided these services could be provided by ACSE and these services were removed. Below is a list of these services which were subsequently removed from ISO 9595:

 * M-INITIALIZE – Creates an association with (i.e. connects to) another CMISE
 * M-TERMINATE – Terminates an established connection
 * M-ABORT – Terminates the association in the case of an abnormal connection termination

title: Common Management Information Service


text:
Communications blackout

In telecommunications, communications blackouts are
 * a cessation of communications or communications capability, caused by a lack of power to a communications facility or to communications equipment.
 * a total lack of radio communications capability, caused by ionospheric anomalies, e.g., during strong auroral activity or during re-entry of a spacecraft into the Earth's atmosphere.

Technical failures
Uptime being a key goal of most communications networks, power supplies and backup generators are typically used to ensure high-reliability power.

Wireless networks may be subject to radio jamming; wired networks can be physically severed. Network design can also play a role in maintaining communications reliability; depending on the constraints in building a fiber-optic network, a self-healing ring topology may be used.

Spacecraft reentry
The communications blackouts that affect spacecraft re-entering the Earth's atmosphere, which are also known as radio blackouts, ionization blackouts, or reentry blackouts, are caused by an envelope of ionized air around the craft, created by the heat from the compression of the atmosphere by the craft. The ionized air interferes with radio signals. For the Mercury, Gemini, and Apollo spacecraft, such communications blackouts lasted for several minutes. Gemini 2, for example, endured such a blackout for four minutes, beginning at 9 minutes 5 seconds into the descent.

For Apollo missions, the communications blackout was approximately three minutes long. For Apollo 16, for example, pre-advisory data (PAD) for re-entry listed the expected times for re-entry communications blackout to be from 0 minutes 16 seconds after entry interface to 3 minutes 33 seconds after entry interface (a total of 3 minutes 17 seconds). For the Apollo 13 mission, the blackout was much longer than normal because the flight path of the spacecraft was unexpectedly at a much shallower angle than normal. According to the mission log maintained by Gene Kranz, the Apollo 13 re-entry blackout lasted around 6 minutes, beginning at 142:39 and ending at 142:45, and was 1 minute 27 seconds longer than had been predicted.

Communications blackouts for re-entry are not solely confined to entry into Earth's atmosphere. They apply to entry into any atmosphere where such ionization occurs around a craft. The Mars Pathfinder endured a 30-second communications blackout as it entered Mars' atmosphere, for example. The Huygens probe endured a communications blackout as it entered the atmosphere of Titan.

Until the creation of the Tracking and Data Relay Satellite System (TDRSS), the Space Shuttle endured a 30-minute blackout. The TDRSS allowed the Shuttle to communicate by relay with a Tracking and Data Relay Satellite during re-entry, through a "hole" in the ionized air envelope at the tail end of the craft, created by the Shuttle's shape.

Space weather
Radio blackouts on Earth caused by solar flares are measured by the National Oceanic and Atmospheric Administration on a scale from 1 (minor) to 5 (extreme).

Solar position
Communications can also be lost when the Sun is blocking or behind one station in the same line of sight; Sun outages periodically interrupt communications with geosynchronous satellites. It is also a common problem for interplanetary space missions.

title: Communications blackout


text:
Communications center

In telecommunication, the term communications center has the following meanings:

 * 1) An agency charged with the responsibility for handling and controlling communications traffic. The center normally includes a message center, and transmitting and receiving facilities.
 * 2) A facility that (a) serves as a node for a communications network, (b) is equipped for technical control and maintenance of the circuits originating, transiting, or terminating at the node, (c) may contain message-center facilities, and (d) may serve as a gateway.  Synonym comm center.

title: Communications center


text:
Communications deception

In telecommunication, the term communications deception has the following meanings:

 * 1) Deliberate transmission, retransmission, or alteration of communications to mislead an adversary's interpretation of the communications.
 * 2) Use of devices, operations, and techniques with the intent of confusing or misleading the user of a communications link or a navigation system.

title: Communications deception


text:
Communications-electronics

In telecommunication, communications-electronics (C-E) is the specialized field concerned with the use of electronic devices and systems for the acquisition or acceptance, processing, storage, display, analysis, protection, disposition, and transfer of information.

C-E includes the wide range of responsibilities and actions relating to:

 * Electronic devices and systems used in the transfer of ideas and perceptions;
 * Electronic sensors and sensory systems used in the acquisition of information devoid of semantic influence;
 * Electronic devices and systems intended to allow friendly forces to operate in hostile environments and to deny to hostile forces the effective use of electromagnetic resources.

Electronic Communications Equipment
Communication electronics radio equipment has been a rapidly growing industry for more than a century. Homeland Security in the USA is one of the reasons for the fast growth. Since the invention of the “solid state” transistor in the 1950s and the TTL (transistor-transistor logic) that led to the development of the IC (integrated circuit) in the 1960s the growth in the field of electronics has been phenomenal. As now witnessed in the “radio communications” field. The latest trend is to send conventional LMR (land-mobile-radio) signals over the Internet (Internet Protocol) this is called RoIP (Radio over Internet Protocol), which is just like VoIP (Voice over Internet Protocol) but uses the radio. By sending signals over the Internet it allows radios to be connected together all over the world. Hence: the “Communications Revolution”.

title: Communications-electronics


text:
Communications protection

In telecommunications, communications protection is the application of communications security (COMSEC) measures to telecommunications systems in order to: (a) deny unauthorized access to sensitive unclassified information of value, (b) prevent disruption of telecommunications services, or (c) ensure the authenticity of information handled by telecommunications systems.

title: Communications protection


text:
Communications security

Communications security is the discipline of preventing unauthorized interceptors from accessing telecommunications in an intelligible form, while still delivering content to the intended recipients.

In the North Atlantic Treaty Organization culture, including United States Department of Defense culture, it is often referred to by the abbreviation COMSEC. The field includes cryptographic security, transmission security, emissions security and physical security of COMSEC equipment and associated keying material.

COMSEC is used to protect both classified and unclassified traffic on military communications networks, including voice, video, and data. It is used for both analog and digital applications, and both wired and wireless links.

Voice over secure internet protocol VOSIP has become the de facto standard for securing voice communication, replacing the need for Secure Terminal Equipment (STE) in much of NATO, including the U.S.A. USCENTCOM moved entirely to VOSIP in 2008.

Specialties

 * Cryptographic security: The component of communications security that results from the provision of technically sound cryptosystems and their proper use. This includes ensuring message confidentiality and authenticity.
 * Emission security (EMSEC): The protection resulting from all measures taken to deny unauthorized persons information of value that might be derived from communications systems and cryptographic equipment intercepts and the interception and analysis of compromising emanations from cryptographic equipment, information systems, and telecommunications systems.
 * Transmission security (TRANSEC): The component of communications security that results from the application of measures designed to protect transmissions from interception and exploitation by means other than cryptanalysis (e.g. frequency hopping and spread spectrum).
 * Physical security: The component of communications security that results from all physical measures necessary to safeguard classified equipment, material, and documents from access thereto or observation thereof by unauthorized persons.

Related terms

 * AKMS – the Army Key Management System
 * AEK – Algorithmic Encryption Key
 * CT3 – Common Tier 3
 * CCI – Controlled Cryptographic Item - equipment which contains COMSEC embedded devices
 * ACES – Automated Communications Engineering Software
 * DTD – Data Transfer Device
 * ICOM – Integrated COMSEC, e.g. a radio with built in encryption
 * TEK – Traffic Encryption Key
 * TED – Trunk Encryption Device such as the WALBURN/KG family
 * KEK – Key Encryption Key
 * KPK – Key production key
 * OWK – Over the Wire Key
 * OTAR – Over the Air Rekeying
 * LCMS – Local COMSEC Management Software
 * KYK-13 – Electronic Transfer Device
 * KOI-18 – Tape Reader General Purpose
 * KYX-15 – Electronic Transfer Device
 * KG-30 – family of COMSEC equipment
 * TSEC – Telecommunications Security (sometimes referred to in error transmission security or TRANSEC)
 * SOI – Signal operating instructions
 * SKL – Simple Key Loader
 * TPI – Two person integrity
 * STU-III – (obsolete secure phone, replaced by STE)
 * STE – Secure Terminal Equipment (secure phone)

Types of COMSEC equipment:
 * Crypto equipment: Any equipment that embodies cryptographic logic or performs one or more cryptographic functions (key generation, encryption, and authentication).
 * Crypto-ancillary equipment: Equipment designed specifically to facilitate efficient or reliable operation of crypto-equipment, without performing cryptographic functions itself.
 * Crypto-production equipment: Equipment used to produce or load keying material
 * Authentication equipment:

DoD Electronic Key Management System
The Electronic Key Management System (EKMS) is a United States Department of Defense (DoD) key management, COMSEC material distribution, and logistics support system. The National Security Agency (NSA) established the EKMS program to supply electronic key to COMSEC devices in securely and timely manner, and to provide COMSEC managers with an automated system capable of ordering, generation, production, distribution, storage, security accounting, and access control.

The Army's platform in the four-tiered EKMS, AKMS, automates frequency management and COMSEC management operations. It eliminates paper keying material, hardcopy Signal operating instructions (SOI) and saves the time and resources required for courier distribution. It has 4 components:
 * LCMS provides automation for the detailed accounting required for every COMSEC account, and electronic key generation and distribution capability.
 * ACES is the frequency management portion of AKMS. ACES has been designated by the Military Communications Electronics Board as the joint standard for use by all services in development of frequency management and crypto-net planning.
 * CT3 with DTD software is in a fielded, ruggedized hand-held device that handles, views, stores, and loads SOI, Key, and electronic protection data. DTD provides an improved net-control device to automate crypto-net control operations for communications networks employing electronically keyed COMSEC equipment.
 * SKL is a hand-held PDA that handles, views, stores, and loads SOI, Key, and electronic protection data.

Key Management Infrastructure (KMI) Program
KMI is intended to replace the legacy Electronic Key Management System to provide a means for securely ordering, generating, producing, distributing, managing, and auditing cryptographic products (e.g., asymmetric keys, symmetric keys, manual cryptographic systems, and cryptographic applications). This system is currently being fielded by Major Commands and variants will be required for non-DoD Agencies with a COMSEC Mission.

title: Communications security


text:
Communications survivability

In telecommunication, communications survivability is the ability of communications systems to continue to operate effectively under adverse conditions, though portions of the system may be damaged or destroyed.

Various methods may be used to maintain communications services, such as using alternate routing, different transmission media or methods, redundant equipment, and sites and equipment that are radiation hardened.

title: Communications survivability


text:
Communications system

A communications system or communication system is a collection of individual telecommunications networks systems, relay stations, tributary stations, and terminal equipment usually capable of interconnection and interoperation to form an integrated whole. The components of a communications system serve a common purpose, are technically compatible, use common procedures, respond to controls, and operate in union.

Telecommunications is a method of communication (e.g., for sports broadcasting, mass media, journalism, etc.). Communication is the act of conveying intended meanings from one entity or group to another through the use of mutually understood signs and semiotic rules.

By media
An optical communication system is any form of telecommunication that uses light as the transmission medium. Equipment consists of a transmitter, which encodes a message into an optical signal, a communication channel, which carries the signal to its destination, and a receiver, which reproduces the message from the received optical signal. Fiber-optic communication systems transmit information from one place to another by sending light through an optical fiber. The light forms a carrier signal that is modulated to carry information.

A radio communication system is composed of several communications subsystems that give exterior communications capabilities. A radio communication system comprises a transmitting conductor in which electrical oscillations   or currents are produced and which is arranged to cause such currents or oscillations to be propagated through the free space medium from one point to another remote therefrom and a receiving conductor at such distant point adapted to be excited by the oscillations or currents propagated from the transmitter.

Power line communication systems operate by impressing a modulated carrier signal on power wires. Different types of powerline communications use different frequency bands, depending on the signal transmission characteristics of the power wiring used. Since the power wiring system was originally intended for transmission of AC power, the power wire circuits have only a limited ability to carry higher frequencies. The propagation problem is a limiting factor for each type of power line communications.

By technology
A duplex communication system is a system composed of two connected parties or devices which can communicate with one another in both directions. The term duplex is used when describing communication between two parties or devices. Duplex systems are employed in nearly all communications networks, either to allow for a communication "two-way street" between two connected parties or to provide a "reverse path" for the monitoring and remote adjustment of equipment in the field. An antenna is basically a small length of a qwert conductor that is used to radiate or receive electromagnetic waves. It acts as a conversion device. At the transmitting end it converts high frequency current into electromagnetic waves. At the receiving end it transforms electromagnetic waves into electrical signals that is fed into the input of the receiver. several types of antenna are used in communication.

Examples of communications subsystems include the Defense Communications System (DCS).

Examples: by technology

 * Telephone
 * Mobile phone
 * Tablet computer
 * Television
 * Telegraph
 * Edison Telegraph
 * TV cable
 * Computer

By application area
A tactical communications system is a communications system that (a) is used within, or in direct support of tactical forces (b) is designed to meet the requirements of changing tactical situations and varying environmental conditions, (c) provides securable communications, such as voice, data, and video, among mobile users to facilitate command and control within, and in support of, tactical forces, and (d) usually requires extremely short installation times, usually on the order of hours, in order to meet the requirements of frequent relocation.

An Emergency communication system is any system (typically computer based) that is organized for the primary purpose of supporting the two way communication of emergency messages between both individuals and groups of individuals. These systems are commonly designed to integrate the cross-communication of messages between are variety of communication technologies.

An Automatic call distributor (ACD) is a communication system that automatically queues, assigns and connects callers to handlers. This is used often in customer service (such as for product or service complaints), ordering by telephone (such as in a ticket office), or coordination services (such as in air traffic control).

A Voice Communication Control System (VCCS) is essentially an ACD with characteristics that make it more adapted to use in critical situations (no waiting for dial tone, or lengthy recorded announcements, radio and telephone lines equally easily connected to, individual lines immediately accessible etc..)

Input transducers (sensors)
Sensors, like microphones and cameras, capture non-electric sources, like sound and light (respectively), and convert them into electrical signals. These types of sensors are called input transducers in modern analog and digital communication systems. Without input transducers there would not be an effective way to transport non-electric sources or signals over great distances, i.e. humans would have to rely solely on our eyes and ears to see and hear things despite the distances.

Other examples of input transducers include:
 * Microphones
 * Cameras
 * Keyboards
 * Mouse
 * Force sensors
 * Accelerometers

Transmitter
Once the source signal has been converted into an electric signal, the transmitter will modify this signal for efficient transmission. In order to do this, the signal must pass through an electronic circuit containing the following components: After the signal has been amplified, it is ready for transmission. At the end of the circuit is an antenna, the point at which the signal is released as electromagnetic waves (or electromagnetic radiation).
 * 1) Noise filter
 * 2) Analog-to-digital converter
 * 3) Encoder
 * 4) Modulator
 * 5) Signal amplifier

Communication channel
A communication channel is simply referring to the medium by which a signal travels. There are two types of media by which electrical signals travel, i.e. guided and unguided. Guided media refers to any medium that can be directed from transmitter to receiver by means of connecting cables. In optical fiber communication, the medium is an optical (glass-like) fiber. Other guided media might include coaxial cables, telephone wire, twisted-pairs, etc... The other type of media, unguided media, refers to any communication channel that creates space between the transmitter and receiver. For radio or RF communication, the medium is air. Air is the only thing between the transmitter and receiver for RF communication while in other cases, like sonar, the medium is usually water because sound waves travel efficiently through certain liquid media. Both types of media are considered unguided because there are no connecting cables between the transmitter and receiver. Communication channels include almost everything from the vacuum of space to solid pieces of metal; however, some mediums are preferred more than others. That is because differing sources travel through subjective mediums with fluctuating efficiencies.

Receiver
Once the signal has passed through the communication channel, it must be effectively captured by a receiver. The goal of the receiver is to capture and reconstruct the signal before it passed through the transmitter (i.e. the A/D converter, modulator and encoder). This is done by passing the "received" signal through another circuit containing the following components: Most likely the signal will have lost some of its energy after having passed through the communication channel or medium. The signal can be boosted by passing it through a signal amplifier. When the analog signal converted into digital signal.
 * 1) Noise Filter
 * 2) Digital-to-analog converter
 * 3) Decoder
 * 4) Demodulator
 * 5) Signal Amplifier

Output transducer
The output transducer simply converts the electric signal (created by the input transducer) back into its original form. Examples of output transducers include but are not limited to the following:
 * Speakers (Audio)
 * Monitors (See Computer Peripherals)
 * Motors (Movement)
 * Lighting (Visual)

Other
Some common pairs of input and output transducers include:
 * 1) Microphones and speakers (audio signals)
 * 2) Keyboards and computer monitors
 * 3) Cameras and liquid crystal displays (LCDs)
 * 4) Force sensors (buttons) and lights or motors

Again, input transducers convert non-electric signals like voice into electric signals that can be transmitted over great distances very quickly. Output transducers convert the electric signal back into sound or picture, etc... There are many different types of transducers and the combinations are limitless.

title: Communications system


text:
Companding

In telecommunication and signal processing, companding (occasionally called compansion) is a method of mitigating the detrimental effects of a channel with limited dynamic range. The name is a portmanteau of the words compressing and expanding, which are the functions of a compander at the transmitting and receiving ends, respectively. The use of companding allows signals with a large dynamic range to be transmitted over facilities that have a smaller dynamic range capability. Companding is employed in telephony and other audio applications such as professional wireless microphones and analog recording.

How it works
The dynamic range of a signal is compressed before transmission and is expanded to the original value at the receiver. The electronic circuit that does this is called a compander and works by compressing or expanding the dynamic range of an analog electronic signal such as sound recorded by a microphone. One variety is a triplet of amplifiers: a logarithmic amplifier, followed by a variable-gain linear amplifier and an exponential amplifier. Such a triplet has the property that its output voltage is proportional to the input voltage raised to an adjustable power.

Companded quantization is the combination of three functional building blocks – namely, a (continuous-domain) signal dynamic range compressor, a limited-range uniform quantizer, and a (continuous-domain) signal dynamic range expander that inverts the compressor function. This type of quantization is frequently used in telephony systems.

In practice, companders are designed to operate according to relatively simple dynamic range compressor functions that are suitable for implementation as simple analog electronic circuits. The two most popular compander functions used for telecommunications are the A-law and μ-law functions.

Applications
Companding is used in digital telephony systems, compressing before input to an analog-to-digital converter, and then expanding after a digital-to-analog converter. This is equivalent to using a non-linear ADC as in a T-carrier telephone system that implements A-law or μ-law companding. This method is also used in digital file formats for better signal-to-noise ratio (SNR) at lower bit depths. For example, a linearly encoded 16-bit PCM signal can be converted to an 8-bit WAV or AU file while maintaining a decent SNR by compressing before the transition to 8-bit and expanding after conversion back to 16-bit. This is effectively a form of lossy audio data compression.

Professional wireless microphones do this since the dynamic range of the microphone audio signal itself is larger than the dynamic range provided by radio transmission. Companding also reduces the noise and crosstalk levels at the receiver.

Companders are used in concert audio systems and in some noise reduction schemes.

History
The use of companding in an analog picture transmission system was patented by A. B. Clark of AT&T in 1928 (filed in 1925):

"In the transmission of pictures by electric currents, the method which consists in sending currents varied in a non-linear relation to the light values of the successive elements of the picture to be transmitted, and at the receiving end exposing corresponding elements of a sensitive surface to light varied in inverse non-linear relation to the received current."

In 1942, Clark and his team completed the SIGSALY secure voice transmission system that included the first use of companding in a PCM (digital) system.

In 1953, B. Smith showed that a nonlinear DAC could be complemented by the inverse nonlinearity in a successive-approximation ADC configuration, simplifying the design of digital companding systems.

In 1970, H. Kaneko developed the uniform description of segment (piecewise linear) companding laws that had by then been adopted in digital telephony.

In the 1980s and 1990s, many of the music equipment manufacturers (Roland, Yamaha, Korg) used companding when compressing the library waveform data in their digital synthesizers. However, exact algorithms are unknown, neither if any of the manufacturers ever used the Companding scheme which is described in this article. The only known thing is that manufacturers did use data compression in the mentioned time period and that some people refer to it as "companding" while in reality it might mean something else, for example data compression and expansion. This dates back to the late '80s when memory chips were often one of the most costly components in the instrument. Manufacturers usually quoted the amount of memory in its compressed form: i.e. 24 MB of physical waveform ROM in a Korg Trinity is actually 48 MB when uncompressed. Similarly, Roland SR-JV expansion boards were usually advertised as 8 MB boards with '16 MB-equivalent content'. Careless copying of this technical information, omitting the "equivalence" reference, can often cause confusion.

title: Companding


text:
Comparably efficient interconnection

In telecommunication, a comparably efficient interconnection (CEI) is an equal-access concept developed by the FCC stating that, ". . . if a carrier offers an enhanced service, it should be required to offer network interconnection (or colocation) opportunities to others that are comparably efficient to the interconnection that its enhanced service enjoys. Accordingly, a carrier would be required to implement CEI only as it introduces new enhanced services." [FCC Report and Order June 16, 1986]

title: Comparably efficient interconnection