A TP monitor divides an application into components that perform the above steps (see Figure 1):
By decomposing the application in this manner, the TP monitor can simplify application programming by mapping these components into OS processes and by providing communications support between components.
This header format varies from one TP monitor to the next.
The TP monitor does the rest: it compiles forms definitions and does run-time translation of each form into a request.
Since the OS does not know about request types, and DBMSs typically do not know the terminal from which requests originate, this function must be performed in the TP monitor.
In this case, the TP monitor need not distinguish RCs from ASs.
However, even if the TP monitor does not distinguish RCs from ASs, applications usually retain the distinction.
In addition to linking ASs with RCs, the TP monitor usually provides ASs with access to the terminal that supplied each request.
One function of a TP monitor is to define a process management strategy for creating and managing processes for MMs, RCs, and ASs.
To reduce load, the TP monitor can deactivate terminals by stopping the processes connected to those terminals.
More often, they are implemented by the TP monitor or OS.
When the OS returns to the process after a call, the TP monitor code in the process passes the return to the proper thread.