Subsystem
A major piece of software running under z/OS that provides a service to applications, such as a database or a transaction manager.
Also written subsystems
A subsystem is a large, long-running software component that sits under z/OS and provides a service other programs use. The operating system handles processors, memory and files; subsystems handle the layers above that.
The ones you meet first are usually CICS, which runs online transactions, DB2, which stores relational data, MQ, which passes messages between systems, and JES, which manages batch jobs. IMS, an older transaction manager and database, is still widely used too.
Each subsystem starts when the system comes up and keeps running, generally as a started task. Applications connect to it rather than containing it. A single COBOL program might well use several at once: running under CICS, reading and writing DB2 tables, and putting a message on a queue.
Understanding the split matters because it shapes how work is divided in real teams. The people who install, tune and upgrade a subsystem are usually system programmers; the people who write applications against it are developers.
Related terms
- CICSThe transaction manager that runs online mainframe applications, and the software behind a great many screens bank staff use.
- DB2 for z/OSIBM's relational database on the mainframe, where a great deal of the world's banking and insurance data is stored.
- JES2The job entry subsystem: the part of z/OS that queues jobs, decides when they run, and collects their output.
- Started taskA long-running program that the system starts and leaves running, rather than a job that runs once and finishes.
- System programmerThe person who installs, configures, tunes and upgrades the operating system and its subsystems.