Quantcast
Channel: IBM Mainframe Computers Forums
Viewing all articles
Browse latest Browse all 8500

SYNCSORT :: RE: WER416B Error meaning

$
0
0
Author: steve-myers
Subject: Re: Reply to: WER416B Error meaning
Posted: Thu Aug 11, 2016 12:35 pm (GMT 5.5)

sergeyken wrote:
...
More precisely, EXCP is System/Z central processor machine instruction which initiates a specific Channel Program - the sequence of physical input/output instructions running separately on one of specific I/O processors; the name of those processors in System/Z is "I/O channel".

There are two errors here.
  1. EXCP is actually an Assembler macro provided by IBM. It directs the system to run a "channel program," a sequence of instructions that direct the I/O hardware to perform I/O operations. Since there are no longer "channels" in the hardware, the term "channel" is a misnomer; it refers to 1960s I/O hardware. The machine instruction, which ordinary programmers cannot use, used to start an I/O operation is "Start Subchannel."
  2. I/O is now run by a separate processor.
Quote:
Some equivalent for EXCP on other platforms is: the call to a device driver routine.
This is actually quite correct for operations in z/OS. EXCP actually starts a function that is quite similar to a device driver in other platforms. It does, in a fairly literal sense, bend, fold, staple and mutilate the "channel program" provided to the EXCP macro by the programmer. Under the covers, this I/O driver actually issues a STARTIO macro (something us ordinary programmers can't do) to run the modified I/O instructions. After the I/O completes it transforms the I/O status into an analogue of the System/360 status before us ordinary programmers get control again.

To some extent it has always worked this way. In OS/360, as well as z/OS, us ordinary programmers might write this "channel program" to read a data record from a disk.
Code:
         CCW   X'31',diskaddress,X'40',5
         CCW   X'08',*-8,0,0
         CCW   X'06',dataarea,0,length
CCW is an Assembler instruction to prepare a data area for the I/O system. The first 2 instructions search a track for the correct record, the third instruction actually reads the record. These instructions are not complete; there are no instructions to direct the disk drive to move the access mechanism to the correct place, and there are other missing pieces. OS/360 EXCP would prepare
Code:
         CCW   X'07',diskaddress,X'40',4
         CCW   X'1F',controlarea,X'40',1
and effectively insert them before our channel program. There could be more CCWs, by the way. The first CCW directs the disk drive to move the I/O mechanism to the correct place; the second CCW provides limits on what the remaining CCWs can do.

Viewing all articles
Browse latest Browse all 8500

Trending Articles