Looks like no one added any tags here yet for you.
port
A communication address; a system may have one IP address for network connections but many ports, each for a separate communication. In computer I/O, a connection point for devices to attach to computers. In software development, to move code from its current platform to another platform (e.g., between operating systems or hardware systems). In the Mach OS, a mailbox for communication.
PHY
The physical hardware component that connects to a network (implements layer 1 in the OSI model).
bus
A communication system; e.g., within a computer, a bus connects various components, such as the CPU and I/O devices, allowing them to transfer data and commands.
daisy chain
In computer I/O, a connection method involving connecting devices to each other in a string (device A to B, B to C, C to D, etc.).
PCIe bus
A common computer I/O bus connecting the CPU to I/O devices.
expansion bus
A computer bus for connecting slow devices like keyboards
serial-attached SCSI (SAS)
A common type of I/O bus
SAS
A common type of I/O bus.
controller
A special processor that manages I/O devices.
fibre channel (FC)
A type of storage I/O bus used in data centers to connect computers to storage arrays. A storage-attachment network.
host bus adapter (HBA)
A device controller installed in a host bus port to allow connection of one or more devices to the host.
memory-mapped I/O
A device I/O method in which device-control registers are mapped into the address space of the processor.
data-in register
A device I/O register where data is placed to be sent to the device.
data-out register
A device I/O register where data is placed by the device to be read by the computer.
status register
A device I/O register in which status is indicated.
control register
A device I/O register where commands are placed by the computer.
busy waiting
A practice that allows a thread or process to use CPU time continuously while waiting for something. An I/O loop in which an I/O thread continuously reads status information while waiting for I/O to complete.
polling
An I/O loop in which an I/O thread continuously reads status information waiting for I/O to complete.
interrupt
A hardware mechanism that enables a device to notify the CPU that it needs attention.
interrupt-request line
The hardware connection to the CPU on which interrupts are signaled.
interrupt-handler routine
An operating system routine that is called when an interrupt signal is received.
interrupt-controller hardware
Computer hardware components for interrupt management.
nonmaskable interrupt
An interrupt that cannot be delayed or blocked (such as an unrecoverable memory error)
maskable
Describes an interrupt that can be delayed or blocked (such as when the kernel is in a critical section).
interrupt vector
An operating-system data structure indexed by interrupt address and pointing to the interrupt handlers. A kernel memory data structure that holds the addresses of the interrupt service routines for the various devices.
interrupt chaining
A mechanism by which each element in an interrupt vector points to the head of a list of interrupt handlers, which are called individually until one is found to service the interrupt request.
interrupt priority level
Prioritization of interrupts to indicate handling order.
exception
A software-generated interrupt caused either by an error (such as division by zero or invalid memory access) or by a specific request from a user program than an operating-system service be performed.
first-level interrupt handler
In some operating systems, an interrupt handler responsible for reception and queuing of interrupts; the interrupts are actually handled at another level (by the second-level handler).
second-level interrupt handler
In some operating systems, the interrupt handler that actually handles interrupts; reception and queueing of interrupts are handled at another level (by the first-level handler).
software interrupt
A software-generated interrupt; also called a trap. The interrupt can be caused either by an error (e.g., division by zero or invalid memory access) or by a specific request from a user program that an operating-system service be performed.
trap
A software interrupt. The interrupt can be caused either by an error (e.g., division by zero or invalid memory access) or by a specific request from a user program that an operating-system service be performed.
programmed I/O (PIO)
A method of transferring data between a CPU and a peripheral device in which data are transferred one byte at a time.
direct memory access (DMA)
A resource-conserving and performance-improving operation for device controllers allowing devices to transfer large amounts of data directly to and from main memory.
scatter-gather
An I/O method in which multiple sources or destinations of I/O are specified in one command structure.
double buffering
The copying of data twice (e.g., from a device to the kernel and then from the kernel to a process's address space), or the use of two buffers to decouple producers and consumers.
cycle stealing
The act of a device, such as a DMA controller, using the bus and preventing the CPU from using it temporarily.
direct virtual memory access (DVMA)
DMA that uses virtual addresses rather than physical memory addresses as transfer sources and destinations.
MS-DOS FAT (File Allocation Table)
file system with filenames including a device identifier and file allocation managed via a table
interrupt handler
routine that processes interrupts from hardware devices utilized mainly in UNIX systems
STREAMS
UNIX I/O feature for creating driver code pipelines
stream head
interface connecting STREAMS to user processes
stream modules
functional units loadable into STREAMS to give it new functions
encapsulation
the process of adding information layers or headers around a message or data as it moves through the modules in the STREAMS stack
driver end
interface linking STREAMS to controlled devices
flow control
method to pause I/O sender; in networking, limits data flow to prevent overflow or packet loss