TERSE is an IBM archive file format that supports lossless compression. A TERSE file may contain a sequential data set, a partitioned data set (PDS), partitioned data set extended (PDSE), or a large format dataset (DSNTYPE=LARGE). Any record format (RECFM) is allowed as long as the record length is less than 32 K (64 K for RECFM=VBS). Records may contain printer control characters.[1]

TERSE file format
Filename extension.trs
Developed byIBM
Initial release1984
Type of formatData compression
Open format?Yes

Terse files are compressed using a modification of Ziv, Lempel compression algorithm developed by Victor S. Miller and Mark Wegman at the Thomas J. Watson Research Center in Yorktown Heights, New York.[2][3]

The Terse algorithm was proprietary to IBM; however, IBM has released an open source Java decompressor under the Apache 2 license.[4] The compression/decompression program (called terse and unterse)—AMATERSE or TRSMAIN—is available from IBM for z/OS; the z/VM equivalents are the TERSE and DETERSE commands, for sequential datasets only. Versions for PC DOS, OS/2, AIX, Windows (2000, XP, 2003), Linux, and Mac OS/X are available online.[5]

AMATERSE

edit

The following JCL can be used to invoke AMATERSE on z/OS (TRSMAIN uses INFILE and OUTFILE instead of SYSUT1 and SYSUT2):[6][7]

//jobname  JOB ...                                            
//stepname EXEC PGM=AMATERSE,PARM=ppppp                       
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD DISP=SHR,DSN=input.dataset            
//SYSUT2   DD DISP=(NEW,CATLG),DCB=ddd,DSN=output.dataset,  
//            SPACE=space_parameters                          
//SYSUT3   DD DISP=(NEW,DELETE),SPACE=space_parameters Optional temporary dataset

Uses

edit

Terse can be used as a general-purpose compression/decompression tool. IBM also distributes downloadable Program temporary fixs (PTFs) as tersed datasets. Terse is also used by IBM customers to package diagnostic information such as z/OS dumps and traces, for transmission to IBM.

References

edit
  1. ^ IBM Corporation (25 August 2016). "AMATERSE: Pack and unpack a data set". IBM Knowledge Center. Retrieved Sep 4, 2016.
  2. ^ Miller, Victor S.; Wegman, Mark N. (1988). "Variations on a theme by Ziv and Lempel (Data compression)". IEEE International Conference on Communications, - Spanning the Universe. pp. 390–394. doi:10.1109/ICC.1988.13597. S2CID 56571935. Retrieved Sep 4, 2016.
  3. ^ Lalonde, Bill. "Terse/MVS". Big Iron. Retrieved Sep 5, 2016.
  4. ^ "openmainframeproject/tersedecompress". GitHub. Retrieved 2020-11-28.
  5. ^ "Hercules-390". Discussion group for users of the Hercules ESA/390 mainframe emulator. Retrieved Sep 5, 2016.
  6. ^ IBM Corporation (25 August 2016). "Specifying the JCL statements for AMATERSE". IBM Knowledge Center. Retrieved Sep 4, 2016.
  7. ^ ppppp is PACK (compress), SPACK (compress, slower and compresses better), or UNPACK (uncompress)
edit