For information about writing subsystems, see z/OS MVS Using the Subsystem Interface.
Unless you are starting the Storage Management Subsystem (SMS), specify the primary subsystem (JES) first. Some subsystems require the services of the primary subsystem in their initialization routines. Problems can occur if subsystems that use the subsystem affinity service in their initialization routines are defined before the primary subsystem. If you are starting SMS, specify its record before you specify the primary subsystem record.
Before z/OS® V1R12, the order in which the subsystems were defined depended on the order in which they were specified in the IEFSSNxx parmlib member on the SSN parameter. Beginning with z/OS V1R12, you can specify the BEGINPARALLEL statement that allows the initialization routines for any subsystem that supports parallel processing to be invoked in parallel. For the SMS subsystem or any subsystem that does not support parallel processing, be sure to specify the BEGINPARALLEL statement after you specify the subsystem definitions. For the SMS subsystem, if the BEGINPARALLEL statement is encountered before the SUBSYS statement, the system issues message IEF009E about potential errors. See the BEGINPARALLEL statement in Statements/parameters for IEFSSNxx.
The format of the IEFSSNxx record for SMS is described in Defining SMS through the IEFSSNxx member.