From how I'm visualizing this I thought all "subsystems" needed address spaces.
It would be wiser to widen Your scope of vision
the manual
z/OS V1R10.0 MVS Using the Subsystem Interface ( or the corrsponding one for Your zOS level)
http://publibz.boulder.ibm.com/cgi-bin/ ... 0112031615will tell all You might want to know about subsystems
here is a quote from the same
4.2 Do You Need a Subsystem Address Space?
When people think of a subsystem, they often think of JES2 or JES3. They usually do not differentiate between the JES subsystem and the JES address space. The subsystem and the address space, however, are not the same. It is just that the JES subsystem was implemented with a requirement for an address space with the same name as the subsystem.
A subsystem is not required to have its own address space, although many subsystems do have a separate address space. Remember that the subsystem routine is entered in the address space of the caller. Therefore, a major decision you need to make is where you want the subsystem to reside: in common storage or in its own address space.
As mentioned earlier, the code that gets control directly from the SSI must be addressable from any address space. That function routine, however, can pass control to your subsystem code that might reside in a separate address space.
If your subsystem requires minimal space, and your installation is not suffering from present (nor anticipating potential) storage constraints for common storage, you can keep all the routines in common storage. On the other hand, having a separate address space is useful if the subsystem needs its own data areas. You can create a separate address space by having your initialization routine use the ASCRE macro, or by having your subsystem run as a started task. See z/OS MVS Programming: Authorized Assembler Services Reference ALE-DYN for information on the ASCRE macro.