CICS - Nucleo
I cinque componenti di sistema CICS descritti in precedenza sono un comodo raggruppamento di programmi di sistema CICS, ciascuno dei quali esegue le proprie funzioni specializzate. Il nucleo di CICS noto come CICS Nucleus, costituito da programmi di controllo e tabelle di controllo CICS forniti da IBM.
Programmi di controllo
Il nucleo CICS è costituito dai programmi di controllo e dalle tabelle di controllo corrispondenti. Offre vantaggi unici. Rende il sistema CICS altamente flessibile e quindi di facile manutenzione. Di seguito sono riportati gli importanti programmi di controllo di CICS:
TCP
TCP è noto come Terminal Control Program.
TCP viene utilizzato per ricevere messaggi dal terminale.
Mantiene i requisiti di comunicazione hardware.
Richiede a CICS di avviare le attività.
KCP
KCP è noto come Task Control Program.
KCP viene utilizzato per controllare simultaneamente l'esecuzione di attività e le relative proprietà.
Gestisce tutte le problematiche relative al multi-tasking.
PCP
PCP è noto come Program Control Program.
PCP viene utilizzato per individuare e caricare i programmi per l'esecuzione.
Trasferisce il controllo tra i programmi e, alla fine, restituisce il controllo al CICS.
FCP
FCP è noto come File Control Program.
FCP viene utilizzato per fornire ai programmi applicativi servizi come leggere, inserire, aggiornare o eliminare record in un file.
Mantiene il controllo esclusivo sui record per mantenere l'integrità dei dati durante gli aggiornamenti dei record.
SCP
SCP è noto come Storage Control Program. Viene utilizzato per controllare l'allocazione e la deallocazione della memoria all'interno di una regione CICS.
Tabelle di controllo
CICS è costituito da programmi e tabelle di controllo CICS forniti da IBM. Queste tabelle devono essere aggiornate di conseguenza con le informazioni sull'applicazione per l'esecuzione corretta dei programmi applicativi CICS. Di seguito sono riportate le tabelle di controllo importanti:
TCT
TCT è noto come Terminal Control Table.
Quando si accede a un terminale CICS, viene inserita una voce nella tabella TCT.
TCT contiene gli ID dei terminali collegati alla regione CICS corrente.
Il programma di controllo del terminale insieme alla tabella di controllo del terminale riconoscono i dati in arrivo dal terminale.
PCT
PCT è noto come tabella di controllo del programma.
Contiene gli ID transazione (TRANSID) e i nomi dei programmi corrispondenti o gli ID dei programmi.
TRANSID è unico nella tabella PCT.
PPT
PPT è noto come Processing Program Table. PPT contiene il nome del programma o il nome del mapset, il contatore di utilizzo dell'attività, la lingua, le dimensioni, l'indirizzo di archiviazione principale, l'indirizzo della libreria di caricamento, ecc.
Il nome del programma o del mapset è univoco in una tabella PPT.
CICS riceve la transazione e un nome di programma corrispondente viene assegnato alla transazione dal PCT. Controlla se il programma è caricato o meno. Se viene caricato, il contatore dell'utilizzo dell'attività viene aumentato di 1. Se il programma non viene caricato, il programma viene prima caricato e il contatore dell'utilizzo dell'attività viene impostato su 1. Ottiene l'indirizzo della libreria di caricamento dalla tabella PPT.
FCT
FCT è noto come File Control Table.
Contiene nomi di file, tipo di file, lunghezza del record, ecc.
Tutti i file utilizzati in un programma CICS devono essere dichiarati in FCT e vengono aperti e chiusi da CICS stesso.
Transazione
Quando un identificatore di transazione TP02 viene immesso sul terminale CICS, per prima cosa verifica se esiste un programma associato a questo identificativo di transazione nella tabella PCT. Se ne trova uno, controlla nella tabella PPT per trovare la posizione del programma per eseguirlo.
Se il programma è già disponibile in memoria, inizia l'esecuzione di quel particolare programma; in caso contrario, carica il programma nella memoria dalla memoria secondaria e quindi avvia l'esecuzione.
Ciclo di vita della transazione
Il ciclo di vita della transazione prevede i seguenti passaggi:
Passo 1
L'operatore del terminale avvia la transazione digitando un ID transazione da 1 a 4 caratteri e premendo il tasto INVIO.
Passo 2
Il TCP controlla periodicamente tutti i terminali per l'input. Quando viene ricevuto un messaggio, esegue le seguenti operazioni:
Indica all'SCP di creare un TIOA.
Inserisce il messaggio nel TIOA.
Passa il controllo al KCP.
Passaggio 3
Il KCP prende il controllo dal TCP e fa quanto segue:
Convalida l'ID della transazione e la sicurezza.
Indica all'SCP di creare un'area di controllo delle attività.
Assegna la priorità all'attività in base alla priorità del terminale (impostata in TCT), alla priorità dell'operatore (impostata in SNT) e alla priorità della transazione (impostata in PCT).
Aggiunge l'attività alla coda dei programmi in attesa.
Invia i programmi in attesa in ordine di priorità.
Passa il controllo al PCP.
Passaggio 4
Il PCP prende il controllo dal KCP e fa quanto segue:
Individua il programma e lo carica, se necessario.
Trasferisce il controllo al programma applicativo.
Passaggio 5
Il programma applicativo prende il controllo dal PCP e fa quanto segue:
Richiede al TCP di inserire il messaggio nell'area MEMORIA DI LAVORO del programma.
Richiede al FCP di recuperare i record dai file.
Passaggio 6
L'FCP prende il controllo dal programma applicativo e fa quanto segue:
Richiede un'area di lavoro File da SCP.
Informa il KCP che questa attività può attendere fino al completamento dell'I / O.
Passaggio 7
Il KCP fa quanto segue:
Invia l'attività successiva nella coda.
Invia nuovamente la vecchia attività quando l'I / O è completo.
Trasferisce il controllo al FCP.
Passaggio 8
FCP restituisce il controllo al programma applicativo.
Passaggio 9
Il programma applicativo esegue le seguenti operazioni:
Elabora i dati del file.
Richiede a TCP di inviare un messaggio di I / O.
Restituisce il controllo al PCP.
Passaggio 10
Il PCP restituisce il controllo al KCP chiedendogli di terminare l'attività.
Passaggio 11
Il KCP ordina a SCP di liberare tutto lo spazio di archiviazione assegnato all'attività (eccetto TIOA).
Passaggio 12
Il TCP fa quanto segue:
Invia l'output al terminale.
Richiede al SCP di rilasciare il TIOA.