On Sat, 4 Feb 2017 02:06:16 +0000, Jesse 1 Robinson (jesse1.robin...@sce.com) wrote about "Re: BSAM vs QSAM" (in <by2pr0101mb080862ff8074b4fdc8c84877bf...@by2pr0101mb0808.prod.exchangelabs.com>):
> I'm bowled over by David Noon's post. Pleased to be of service. ... :-) > I did not know that QSAM allowed asynchronous I/O operations and have not > looked > into coding requirements. The operations are synchronous at the application level, but asynchronous for the physical I/O transfers. > At the same time I contend that system managed interleaving is not the same > thing. > While it undoubtedly speeds up I/O for 'traditional' QSAM, the application > program > remains in a WAIT during all the background happenings and cannot independently > fiddle with bits and bytes pending I/O completion. The I/O transfers are behind an opaque API. They run asynchronously from the program, but the program synchronizes every time it uses a QSAM API (i.e. a GET or a PUT). With a decent sized buffer pool, most GET requests return immediately with the required record. The program only occasionally enters a WAIT/CHECK condition. Similarly, most PUT operations copy the data record from the work area into the buffer pool and return to the program immediately. The buffer will be queued for flushing when it becomes full. All of the buffer fills and buffer flushes occur quite separately from the application program. The EXCP macro is a wonderful thing. -- Regards, Dave [RLU #314465] *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* david.w.n...@googlemail.com (David W Noon) *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN