z/OS DFSMS Using Data Sets
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Processing UNIX Files with an Access Method

z/OS DFSMS Using Data Sets
SC23-6855-00

Examples of UNIX file systems are z/OS file system (zFS), hierarchical file system (HFS), Network File System (NFS), and temporary file system (TFS). You can use z/OS UNIX system services to access UNIX files. For more information, see z/OS UNIX System Services User's Guide.

Programs can access the information in UNIX files through z/OS UNIX system calls or through standard z/OS access methods and macro instructions. To identify and access a data file, specify the path leading to it.

You can access a UNIX file through BSAM or QSAM (DCB DSORG=PS), BPAM (DSORG=PO), or VSAM (simulated as an ESDS) by specifying PATH=pathname in the JCL data definition (DD) statement, SVC 99, or TSO ALLOCATE command.

BSAM, QSAM, BPAM, and VSAM use the following types of UNIX files:
  • Regular files
  • Character special files
  • First-in-first-out (FIFO) special files
  • Hard or soft links
  • Named pipes

BPAM permits read-only access to UNIX directories.

BSAM, QSAM, and VSAM do not support the following types of UNIX files:
  • Directories, except BPAM, which does not support direct reading of the directory
  • External links

Data can reside on a system other than the one the user program is running on without using shared DASD. The other system can be z/OS or non-z/OS. NFS transports the data.

Because the system stores UNIX files in a byte stream, UNIX files cannot simulate all the characteristics of sequential data sets, partitioned data sets, or ESDSs. Certain macros and services have incompatibilities or restrictions when they process UNIX files. For example:
  • Data set labels and unit control blocks (UCBs) do not exist for UNIX files. Any service that relies on a DSCB or UCB for information might not work with these files.
  • With traditional MVS™ data sets, other than VSAM linear data sets, the system maintains record boundaries. That is not true with byte-stream files such as UNIX files, but the access method adds metadata to define records if you specify FILEDATA=RECORD on the DD statement or data class. UNIX programs can use that metadata to handle record boundaries.
  • The access method buffers writes beyond the buffering that your program sees. This means that after your program issues BSAM WRITE and CHECK, QSAM PUT with BUFNO=1 or a VSAM PUT, the data probably is not yet on the disk. If the file is not a FIFO, your program can issue the BSAM or QSAM SYNCDEV or CLOSE macro to force immediate writing. This interferes with good performance.
Related Reading: For more information about the following topics, see:

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014