Page: 1 2 3 4 5 6 7
  

Glossary


The following is a list of terms used throughout the STREAMS Programmer's Guide.

alignment
The position in memory of a unit of data, such as a word or half-word, on an integral boundary. A data unit is properly aligned if its address is evenly divisible by the data unit's size in bytes. For example, a word is correctly aligned if its address is divisible by four. A half-word is aligned if its address is divisible by two.

ARP
Address Resolution Protocol.

asm macro
The macro that defines system functions used to improve driver execution speed. They are assembler language code sections (instead of C code).

asynchronous
An event occurring in an unpredictable fashion. A signal is an example of an asynchronous event. A signal can occur when something in the system fails, but it is not known when the failure will occur.

automatic calling unit (ACU)
A device that permits processors to dial calls automatically over the communications network.

base level
The code that synchronously interacts with a user program. The driver's initialization and switch table entry point routines constitute the base level. Compare interrupt level.

block
The basic unit of data for I/O access. A block is measured in bytes. The size of a block differs between computers, file system sizes, or devices.

block and character interface
A collection of driver routines, kernel functions, and data structures that provide a standard interface for writing block and character drivers.

block device
A device, such as a magnetic tape drive or disk drive, that conveys data in blocks through the buffer management code. Compare character device.

block driver
A device driver, such as for a magnetic tape device or disk drive, that conveys data in blocks through the buffer management code (for example, the buf structure). One driver is written for each major number employed by block devices.

block I/O
A data transfer method used by drivers for block access devices. Block I/O uses the system buffer cache as an intermediate data storage area between user memory and the device.

buffer
A staging area for input-output (I/O) processes where arbitrary-length transactions are collected into convenient units for system operations. A buffer consists of two parts: a memory array that contains data from the disk, and a buffer header that identifies the buffer.

cache
A section of computer memory where the most recently used buffers, inodes, pages, and so on are stored for quick access.

called DLS user
The DLS user in connection mode that processes requests for connections from other DLS users.

calling DLS user
The DLS user in connection mode that initiates the establishment of a data link connection.

canonical processing
Terminal character processing in which the erase character, delete, and other commands are applied to the data received from a terminal before the data is sent to a receiving program. Other terms used in this context are canonical queue, which is a buffer used to retain information while it is being canonically processed, and canonical mode, which is the state where canonical processing takes place. Compare raw mode.

character device
A device, such as a terminal or printer, that conveys data character by character. Compare block device.

Home


  

character driver
The driver that conveys data character by character between the device and the user program. Character drivers are usually written for use with terminals, printers, and network devices, although block devices, such as tapes and disks, also support character access.

character I/O
The process of reading and writing to/from a terminal.

CLNS
Connectionless Network Service, the datagram version of the OSI network layer.

clone driver
A software driver used by STREAMS drivers to select an unused minor device number, so that the user process does not need to specify it.

communication endpoint
The local communication channel between a DLS user and DLS provider.

connection establishment
The phase in connection mode that enables two DLS users to create a data link connection between them.

connectionless mode
A mode of transfer in which data is passed from one user to another in self-contained units with no logical relationship required among the units.

connection management stream
A special stream that will receive all incoming connect indications destined for Data Link Service Access Point (DLSAP) addresses that are not bound to any other streams associated with a particular Physical Point of Attachment (PPA).

connection mode
A circuit-oriented mode of transfer in which data is passed from one user to another over an established connection in a sequenced manner.

connection release
The phase in connection mode that terminates a previously established data link connection.

control and status register (CSR)
Memory locations providing communication between the device and the driver. The driver sends control information to the CSR, and the device reports its current status to it.

controller
The circuit board that connects a device, such as a terminal or disk drive, to a computer. A controller converts software commands from a driver into hardware commands that the device understands. For example, on a disk drive, the controller accepts a request to read a file and converts the request into hardware commands to have the reading apparatus move to the precise location and send the information until a delimiter is reached.

Home


  

critical code
A section of code is critical if execution of arbitrary interrupt handlers could result in consistency problems. The kernel raises the processor execution level to prevent interrupts during a critical code section.

CSMA/CD
Carrier Sense Multiple Access/Collision Detection.

cyclic redundancy check (CRC)
A way to check the transfer of information over a channel. When the message is received, the computer calculates the remainder and checks it against the transmitted remainder.

data block data transfer
The method of transferring data in units (blocks) between a block device such as a magnetic tape drive or disk drive and a user program.

data structure
The memory storage area that holds data types, such as integers and strings, or an array of integers. The data structures associated with drivers are used as buffers for holding data being moved between user data space and the device, as flags for indicating error device status, as pointers to link buffers together, and so on.

data terminal ready
(DTR) The signal that a terminal device sends to a host computer to indicate that a terminal is ready to receive data.

data transfer
The phase in connection and connectionless modes that supports the transfer of data between two DLS users.

DDI/DKI
Device Driver Interface/Device Kernel Interface.

demand paging
A memory management system that allows unused portions of a program to be stored temporarily on disk to make room for urgently needed information in main memory. With demand paging, the virtual size of a process can exceed the amount of physical memory available in a system.

device number
The value used by the operating system to name a device. The device number contains the major number and the minor number.

dev_t
The C programming language data type declaration that is used to store the driver major and the minor device numbers.

diagnostic
A software routine for testing, identifying, and isolating a hardware error. A message is generated to notify the tester of the results.

DLIDU
Data Link Interface Data Unit. A grouping of DLS user data that is passed between a DLS user and the DLS provider across the data link interface. In connection mode, a DLSDU may consist of multiple DLIDUs.

DLPI
Data Link Provider Interface.

DLS
Data Link Service.

DLSAP
A point at which a DLS user attaches itself to a DLS provider to access data link services.

DLSAP address
An identifier used to differentiate and locate specific DLS user access points to a DLS provider.

DLS provider
The data link layer protocol that provides the services of the Data Link Provider Interface.

DLS user
The user-level application or user-level or kernel-level protocol that accesses the services of the data link layer.

DLSDU
Data Link Service Data Unit. A grouping of DLS user data whose boundaries are preserved from one end of a data link connection to the other.

Home


  

downstream
The direction of STREAMS messages flowing through a write queue from the user process to the driver.

driver
The set of routines and data structures installed in the kernel that provide an interface between the kernel and a device.

driver entry points
Driver routines that provide an interface between the kernel and the device driver.

driver routines
See routines.

DSAP
Destination Service Access Point.

EDLIDU
Expedited Data Link Interface Data Unit.

error correction code (ECC)
A generic term applied to coding schemes that allow for the correction of errors in one or more bits of a word of data.

expedited data transfer
A DLPI service that transfers data subject to separate flow control than that applying to normal data transfer. The service is intended to deliver the data ahead of any DLSDUs that may be in transit.

FDDI
Fiber Distributed Data Interface.

function
A kernel utility used in a driver. The term function is used interchangeably with the term kernel function. The use of functions in a driver is analogous to the use of system calls and library routines in a user-level program.

initialization entry points
Driver initialization routines that are executed during system initialization [for example, init(D2), start(D2)].

interface
The set of data structures and functions supported by the UNIX kernel to be used by device drivers.

interprocess communication (IPC)
A set of software-supported facilities that enable independent processes, running at the same time, to share information through messages, semaphores, or shared memory.

interrupt level
Driver interrupt routines that are started when an interrupt is received from a hardware device. The system accesses the interrupt vector table, determines the major number of the device, and passes control to the appropriate interrupt routine.

interrupt priority level (IPL)
The interrupt priority level at which the device requests that the CPU call an interrupt process. This priority can be overridden in the driver's interrupt routine for critical sections of code with the spln(D3D) function.

interrupt vector
Interrupts from a device are sent to the device's interrupt vector, activating the interrupt entry point for the device.

IP
Internet Protocol.

ISO
International Organization for Standardization.

Home


  

kernel buffer cache
A linked list of buffers used to minimize the number of times a block-type device must be accessed.

LLC
Logical Link Control, a sublayer of the data link layer for media independent data link functions.

low water mark
The point at which more data is requested from a terminal because the amount of data being processed in the character lists has fallen creating room for more. It also applies to STREAMS queues regarding flow control.

MAC
Media Access Control, a sublayer of the data link layer for media specific data link functions.

memory management
The memory management scheme of the UNIX operating system imposes certain restrictions on drivers that transfer data between devices.

message
All information flowing in a stream, including transferred data, control information, queue flushing, errors and signals. The information is referenced by a pointer to a mblk_t structure.

message block
A STREAMS message is made up of one or more message blocks. A message block is referenced by a pointer to a mblk_t structure, which in turn points to the data block (dblk_t) structure and the data buffer.

MIB
Management Information Base.

modem
A contraction of modulator-demodulator. A modulator converts digital signals from the computer into tones that can be transmitted across phone lines. A demodulator converts the tones received from the phone lines into digital signals so that the computer can process the data.

module
A STREAMS module consists of two related queue structures, one each for upstream and downstream messages. One or more modules may be pushed onto a stream between the stream head and the driver, usually to implement and isolate a line discipline or a communication protocol.

panic
The state where an unrecoverable error has occurred. Usually, when a panic occurs, a message is displayed on the console to indicate the cause of the problem.

PDU
Protocol Data Unit.

portable device interface (PDI)
A collection of driver routines, kernel functions, and data structures that provide a standard interface for writing block drivers.

PPA
The point at which a system attaches itself to a physical communications medium.

PPA identifier
An identifier of a particular physical medium over which communication transpires.

prefix
A character name that uniquely identifies a driver's routines to the kernel. The prefix name starts each routine in a driver. For example, a RAM disk might be given the ramd prefix. If it is a block driver, the routines are ramdopen, ramdclose, ramdstrategy, and ramdprint.

priority message
STREAMS messages that must move through the stream quickly are classified as priority messages. They are placed at the head of the queue for processing by the srv(D2) routine.

quality of service (QOS)
Characteristics of transmission quality between two DLS users.

Home


  

queue
A data structure, the central node of a collection of structures and routines, which makes up half of a STREAMS module or driver. Each module or driver is made up of one queue each for upstream and downstream messages. Location: stream.h.

raw
I/O movement of data directly between user address spaces and the device. Raw I/O is used primarily for administrative functions where the speed of a specific operation is more important than overall system performance.

raw mode
The method of transmitting data from a terminal to a user without processing. This mode is defined in the line discipline modules.

read queue
The half of a STREAMS module or driver that passes messages upstream.

routines
A set of instructions that perform a specific task for a program. Driver code consists of entry-point routines and subordinate routines. Subordinate routines are called by driver entry-point routines. The entry-point routines are accessed through system tables.

SAP
Service Access Point, conceptually the "point" at which a layer in the OSI model make its services available to the layer above it.

SCSI driver interface (SDI)
A collection of machine-independent input/output controls, functions, and data structures, that provide a standard interface for writing Small Computer System Interface (SCSI) drivers.

SDU
Service Data Unit Semantic.

semantic processing
Semantic processing entails input validation of the characters received from a character device.

small computer system interface (SCSI)
The American National Standards Institute (ANSI) approved interface for supporting specific peripheral devices.

SNMP
Simple Network Management Protocol.

source code control system (SCCS)
A utility for tracking, maintaining, and controlling access to source code files.

special device file
The file that identifies the device's access type (block or character), the external major and minor numbers of the device, the device name used by user-level programs, and security control (owner, group, and access permissions) for the device.

SSAP
Source Service Access Point.

Home


  

stream
A linked list of kernel data structures providing a full-duplex data path between a user process and a device or pseudo-device.

stream end
The stream end is the component of a stream farthest from the user process, providing the interface to the device. It contains pointers to driver (rather than module) routines.

stream head
Every stream has a stream head, which is inserted by the STREAMS subsystem. It is the component of a stream closest to the user process. The stream head processes STREAMS-related system calls and performs the transfer of data between user and kernel space.

STREAMS
A kernel subsystem used to build a stream, which is a modular, full-duplex data path between a device and a user process.

switch table
The operating system that has two switch tables, cdevsw and bdevsw. These tables hold the entry point routines for character and block drivers and are activated by I/O system calls.

switch table entry points
Driver routines that are activated through bdevsw or cdevsw tables.

synchronous data link interface (SDLI)
A UN-type circuit board that works subordinately to the input/output accelerator (IOA). The SDLI provides up to eight ports for full-duplex synchronous data communication.

system initialization
The routines from the driver code and the information from the master file that initialize the system (including device drivers).

TCP
Transmission Control Protocol, a connection oriented transport in the Internet suite.

upstream
The direction of STREAMS messages flowing through a read queue from the driver to the user process.

user space
The part of the operating system where programs that do not have direct access to the kernel structures and services execute. The UNIX operating system is divided into two major areas: the user program and the kernel. Drivers execute in the kernel, and the user programs that interact with drivers generally execute in the user program area. This space is also referred to as user data area.

volume table of contents
Lists the beginning and ending points of the disk partitions by the system administrator for a given disk.

write queue
The half of a STREAMS module or driver that passes messages downstream.

Home

Contents Index