Friday, December 22, 2023

PAM byte maps

 The byte map is used to indicate if the corresponding DSA page was in use or not. If in used, which subpool owns the page. 

There is a second byte map used to record some extended information for some of the subpools. 

CICS Subpools

 Control subpool is used to keep CICS control blocks such as DCA. The allocation is typically small and use a first fit algorithm. It uses 4 bytes SAA. 

Teleprocessing subpool contains TIOA. This subpool is usually large when there is a big network. The pool uses 8 bytes SAA and with end SAA to detect storage violation. 

Task subpools is used to hold control structures related to task such as TCA and VSWA. Program’s working. Storage and linkage section storage are also allocated out of this subpool. The storage requested by program at different time is not contiguous. The storage chain is addressed from TCA. As the storage is under control of user programs, CICS uses 8 bytes SAA and duplicate SAA at end of the area 

Shard subpool contains TS main storage and BMS. Four bytes SAA s used and no duplicate SAA

CICS SAA

 Storage accounting area has 2 formats - 4 bytes or 8 bytes. Some subpool has a duplicated saa ar the end of the storage area.  The saa at end of the storage is used to detect storage violation when the task write beyond the requested area. The saa contain a byte value that is stored see to initialize the storage. 

The 8 byte format contain extra field that chain up the next area belongs to the same task  subpool under the control of CICS (less susceptible to storage violation)uses 4 byte saa

CICS PAM

 Page allocation map describes the current DSA usage. Each PAM subpool entry is 16 bytes long describing each subpool.  It records the subpool ID and the number of pages assigned in the subpool. It also contain the FAQE pointers which chain up the free area ms within the pages which can be used for future requests. Program subpool does jot uses FAQE because the basic allocation for program is on page. Task storage also does not use FAQE. He pointers are kept in TCA instead. 

PAM also contains other fields like page size of DSA, the cushion size, the address of the first DSA page etc. 

the address shifting factor field contain a value depending on the page size (2K or 4K) and is used with the starting virtual address of DSA to conveniently deride the DsA page number for an arbitrary address or to locate the starting address of an arbitrary DSA page 

CICS DSA

 DSA constitute the memory area left over after all the program, buffer, tables, control blocks are allocated. DSA is divided into pages. Each pages are assigned to a different CICS subpools. Subspool determines how the storage is allocated to requests made. 

Examples of subpools are for control, telecom, task, RPL and program etc. program subpool pages are allocated from the top of DSA. Programs generally uses more space per request. The other subpools uses relatively smaller chunk of space 

CICS SCP

 Storage Control Program managed the DSA allocation. SCP issues GETMAIN and FREEMAIN macro to obtain and release memory for DSA. It monitor the usage so that it can issue warning (based on the storage cushion value) and perform recovery is storage is depleted.  Requests are queued when this happens. 

Monday, December 18, 2023

CICS TCA

The system TCA contains information used by the CICS control programs. It contains anchor points for task storage acquired by the transaction. It also contain pointer to COBOL working storage (TGT). 


The user TCA has s used to communicate information of request to CICS. It contains space for register save for KCP, SCP and for calling temp storage, file control and transient storage module