In the context of IBM mainframe computers, a data set (IBM preferred) or dataset is a computer file having a record organization. Use of this term began with OS/360 and is still used by its successors, including the current z/OS. Documentation for these systems historically preferred this term rather than file.
A data set is typically stored on a direct access storage device (DASD) or magnetic tape, however unit record devices, such as punch card readers, card punch, and line printers can provide input/output (I/O) for a data set (file).
Data sets are not unstructured streams of bytes, but rather are organized in various logical record and block structures determined by the
DSORG (data set organization),
RECFM (record format), and other parameters. These parameters are specified at the time of the data set allocation (creation), for example with Job Control Language
DD statements. Inside a job they are stored in the Data Control Block (DCB), which is a data structure used to access data sets, for example using access methods.