z/OS UNIX System Services File System Interface Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Asynchronous I/O processing

z/OS UNIX System Services File System Interface Reference
SA23-2285-00

An asynchronous capability is provided by z/OS UNIX for socket calls that may block. These include accept, connect, select, poll, and the five pairs of read/write type functions. These services are provided asynchronously to programs through the asyncio callable service. Refer to z/OS UNIX System Services Programming: Assembler Callable Services Reference for details.

Asynchronous I/O processing between the LFS and PFS is implemented with a two-pass technique using the regular vnode operations, such as vn_accept and vn_rdwr:
  • Part 1, which is indicated by a bit in the Osi structure, starts with the beginning of the normal vnode operation and continues up to the point at which the PFS would call osi_wait to block. The PFS returns to the LFS instead of waiting. When the I/O can be completed, the PFS calls the osi_sched service at the point at which it would call osi_post for a blocked operation.
  • Part 2, which is indicated by another bit in the Osi structure, continues from the point after which osi_wait would have been called through the end of the operation.

These two stages are covered in detail in the Asynchronous I/O flow details.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014