Basic Telecommunications Access Method (BTAM) [1] is a low-level programming interface specified by IBM for use on the IBM System/360 for start-stop and binary synchronous telecommunications terminals. Later, IBM specified higher-level interfaces QTAM and TCAM.
BTAM was superseded by VTAM for Systems Network Architecture (SNA) devices. BTAM continued to be supported in later iterations of the system architecture, and IBM finally withdrew support in 2000.
BTAM requires the application program or transaction processing system to handle almost every detail of the protocol. This is harder than using a higher-layer protocol, but it permits interfacing to non-standard devices in non-standard ways.
BTAM is an access method for interactively communicating with remote terminals, usually connected through a front end processor such as a 270x communications controller, although support for local channel-attached 3270 terminals is included. BTAM dynamically builds Channel command words (CCWs) for reading, writing and "polling" terminals and deals with specific responses from those terminals, according to the success or failure of the communication channel.
BTAM was a key component in IBM's early transaction processing systems such as MTCS, CICS and IMS and underpinned the rise of online transaction processing for many large commercial banks and insurance companies. It was not unusual for BTAM and later developed access methods (such as VTAM) to co-exist, supporting different devices simultaneously under the same transaction processing system.
Material in this section taken from IBM System/360 Operating System Basic Telecommunications Access Method; GC30-2004-6. [2]
BTAM programming requires detailed knowledge of the characteristics of the specific terminals to be used.
THE DCB macro is used to define a communications line group:dcbname DCB DSORG=CX...
DEVD=BS
can be coded to specify a Binary Synchronous (Bisync) line. Many other operands specify unique characteristics of the attached terminals.
A terminal list, specified by the DFTRMLST
macro, identifies the terminals attached to the line. This macro specifies the line characteristics—start-stop, bisync, point-to-point, multipoint, leased line or dial — and the type of polling required— wrap around or open. The polling characters or telephone number used to identify each specific remote device on the line are coded. The CHGNTRY
macro can be used to modify information for a specific device in the list during execution. A wrap-around polling list will cause each device in the list to be polled sequentially by the channel until a response was received, This reduces the load on the CPU for continuous polling.
The programmer can specify a buffer pool, a data structure used to hold messages transmitted to or from the terminals. BTAM can construct the pool automatically or the programmer can construct the pool in various ways. The BUILD macro will format the pool in static or dynamic storage previously acquired, or the GETPOOL
macro will acquire and format storage automatically. For read operations BTAM will automatically obtain one or more buffers from the pool and store the received message. For a write operation the programmer needs to code REQBUF
to obtain the number of buffers necessary to build the output message. In either case the RELBUF
is used to free the buffers on completion of the read or write.
Tha ASMTRTAB
and TRNSLATE
include translation tables and translate to and from non EBCDIC character codes.
The standard OS/360 OPEN
and CLOSE
macros are used to initiate and terminate processing of a BTAM line. The LOPEN
macro can reinitialize a line that, for whatever reason, failed to open successfully.
BTAM provides a large number of options for the READ
and WRITE
macros, depending on the line and terminal types and the current status. These are such operations as "read initial with reset", "read conversational", "read repeat", "write initial", "write break", and "write continue transparent". These are specified by codes, such as READ decbaddr,TI,...
for a "read initial." The read or write operation is executed asynchronously by the channel. Following a read or write, a WAIT
or TWAIT
macro is required to wait for completion and retrieve ending status.
The RESETPL
macro cancels an outstanding read and/or stops polling on a line.
Amongst many other devices supported, BTAM handles:
Systems Network Architecture (SNA) is IBM's proprietary networking architecture, created in 1974. It is a complete protocol stack for interconnecting computers and their resources. SNA describes formats and protocols and is, in itself, not a piece of software. The implementation of SNA takes the form of various communications packages, most notably Virtual Telecommunications Access Method (VTAM), the mainframe software package for SNA communications.
Job Control Language (JCL) is a name for scripting languages used on IBM mainframe operating systems to instruct the system on how to run a batch job or start a subsystem.
IBM CICS is a family of mixed language application servers that provide online transaction management and connectivity for applications on IBM mainframe systems under z/OS and z/VSE.
Disk Operating System/360, also DOS/360, or simply DOS, is a discontinued operating system for IBM mainframes. It was announced by IBM on the last day of 1964, and it was first delivered in June 1966. In its time, DOS/360 was the most widely used operating system in the world.
Virtual Telecommunications Access Method (VTAM) is the IBM subsystem that implements Systems Network Architecture (SNA) for mainframe environments. VTAM provides an application programming interface (API) for communication applications, and controls communication equipment such as adapters and controllers. In modern terminology, VTAM provides a communication stack and device drivers.
Binary Synchronous Communication is an IBM character-oriented, half-duplex link protocol, announced in 1967 after the introduction of System/360. It replaced the synchronous transmit-receive (STR) protocol used with second generation computers. The intent was that common link management rules could be used with three different character encodings for messages. Six-bit Transcode looked backwards to older systems; USASCII with 128 characters and EBCDIC with 256 characters looked forward. Transcode disappeared very quickly but the EBCDIC and USASCII dialects of Bisync continued in use.
Teleprocessing Network Simulator (TPNS) is an IBM licensed program, first released in 1976 as a test automation tool to simulate one or many network terminal(s) to a mainframe computer system, for functional testing, regression testing, system testing, capacity management, benchmarking and stress testing. In 2002, IBM re-packaged TPNS and released Workload Simulator for z/OS and S/390 (WSim) as a successor product.
Queued Telecommunications Access Method (QTAM) is an IBM System/360 communications access method incorporating built-in queuing. QTAM was an alternative to the lower level Basic Telecommunications Access Method (BTAM).
In IBM mainframe operating systems from the OS/360 and successors line, a Unit Control Block (UCB) is a memory structure, or a control block, that describes any single input/output peripheral device (unit), or an exposure (alias), to the operating system. Certain data within the UCB also instructs the Input/Output Supervisor (IOS) to use certain closed subroutines in addition to normal IOS processing for additional physical device control.
An access method is a function of a mainframe operating system that enables access to data on disk, tape or other external devices. Access methods were present in several mainframe operating systems since the late 1950s, under a variety of names; the name access method was introduced in 1963 in the IBM OS/360 operating system. Access methods provide an application programming interface (API) for programmers to transfer data to or from device, and could be compared to device drivers in non-mainframe operating systems, but typically provide a greater level of functionality.
In IBM mainframe operating systems, basic partitioned access method (BPAM) is an access method for libraries, called partitioned datasets (PDSes) in IBM terminology. BPAM is used in OS/360, OS/VS2, MVS, z/OS, and others.
In IBM mainframe operating systems, such as OS/360, MVS, z/OS, a Data Control Block (DCB) is a description of a dataset in a program. A DCB is coded in Assembler programs using the DCB macro instruction. High level language programmers use library routines containing DCBs.
In IBM mainframe operating systems, Basic sequential access method (BSAM) is an access method to read and write datasets sequentially. BSAM is available on OS/360, OS/VS2, MVS, z/OS, and related operating systems.
In IBM mainframe operating systems, Execute Channel Program (EXCP) is a supervisor call for low-level device access, where the programmer is responsible for providing a channel program—a list of device-specific commands (CCWs)—to be executed by I/O channels, control units and devices. EXCP for OS/360 and successors is more specifically described in the OS System Programmer's Guide.; EXCP for DOS/360 and successors is more specifically described in DOS Supervisor and I/O Macros. This article mostly reflects OS/360 through [z/OS]; some details are different for TOS/360 and DOS/360 through z/VSE.
OS/360, officially known as IBM System/360 Operating System, is a discontinued batch processing operating system developed by IBM for their then-new System/360 mainframe computer, announced in 1964; it was heavily influenced by the earlier IBSYS/IBJOB and Input/Output Control System (IOCS) packages. It was one of the earliest operating systems to require the computer hardware to include at least one direct access storage device.
Telecommunications Access Method (TCAM) is an access method, in IBM's OS/360 and successors computer operating systems on IBM System/360 and later, that provides access to terminals units within a teleprocessing network.
Basic Direct Access Method, or BDAM is an access method for IBM's OS/360 and successors computer operating systems on System/360 and later mainframes. BDAM "consists of routines used in retrieving data from, and storing data onto, direct access devices." BDAM is available on OS/360, OS/VS2, MVS, z/OS, and related high-end operating systems.
DUCS was a teleprocessing monitor from CFS Inc. It was one of two early local teleprocessing packages for IBM's DOS/VSE environment. DUCS provided an interface and access method for programmers to 'talk' to monitors. Such access methods later became known as APIs.
Single Virtual Storage (SVS) refers to Release 1 of Operating System/Virtual Storage 2 (OS/VS2); it is the successor system to the MVT option of Operating System/360. OS/VS2 (SVS) was a stopgap measure pending the availability of MVS, although IBM provided support and enhancements to SVS long after shipping MVS.
In IBM mainframe operating systems, Execute Direct Access Program (XDAP) is a pseudo access method for accessing direct access datasets on a block by block basis. XDAP is more specifically described in the OS System Programmer's Guide.