Space allocation
Reserving disk space for a dataset up front, in tracks, cylinders or blocks, with room to grow.
Also written SPACE, primary and secondary space, allocation
On z/OS, a dataset is given space when it is created rather than growing freely as you write to it. You state a primary amount, which is reserved immediately, and a secondary amount, which is added if the primary fills up.
The units come from disk geometry. A track is the smallest, a cylinder is a group of tracks, fifteen on traditional devices, and you can also allocate in blocks or records and let the system convert. Cylinders are the usual choice for anything sizeable.
Secondary allocation is the safety net, and a dataset can extend a limited number of times before it runs out. A job failing because a dataset could not extend is one of the most common batch problems there is, and the fix is usually a larger primary or secondary amount.
Space is also released when a dataset is closed if you ask for it, which avoids leaving large empty allocations behind. Sites often have standards for how much to allocate, precisely because getting this wrong is so easy.
Related terms
- DatasetWhat a mainframe calls a file: a named collection of records with a defined structure, rather than a loose stream of bytes.
- DASDDirect access storage device, the mainframe term for disk storage.
- VolumeA single unit of disk storage with a six-character label, on which datasets are placed.
- AbendAn abnormal end: a program stopping in an uncontrolled way rather than finishing and reporting a result.
- DD statementThe JCL statement that connects a name inside a program to a real dataset outside it.