GDSX Manual
Design and Development
Extended General Device Support (GDSX) Manual–134303
2-28
Level 1 Fault Tolerance
Level 1 Fault Tolerance
When a task does type 1 checkpointing, its stack images and task control block are 
copied to the backup process. After a takeover, such a task is restarted at the instruction 
following the last type 1 checkpoint call. The task loses any data held in memory pool 
buffers at the time of failure. This is called level 1 fault tolerance. Within a process 
some tasks may be doing no checkpointing, in which case TSCODE provides them with 
level 0 fault tolerance, while other tasks are doing type 1 checkpointing, providing level 
1 fault tolerance. 
Level 2 Fault Tolerance
If a task does type 2 checkpointing, its stack images, task control block, and allocated 
memory pool buffers are copied to the backup process. After a takeover, such a task is 
restarted at the instruction following the last type 2 checkpoint call, and all of the task’s 
memory pool data is preserved. This is called level 2 fault tolerance. Within a GDSX 
process some tasks may be doing no checkpointing while other tasks are doing type 1 
checkpointing, and still other tasks are doing type 2 checkpointing. 
Fault-Tolerance Processing in GDSX Initialization
If GDSX is run as a process pair, TSCODE does the following at process initialization 
time:
•
Initializes configuration parameters from default values.
•
Calls the USER^INIT^CONFIG^PARAMS user exit.
•
Opens the $RECEIVE file for the GDSX process.
•
Calls the PROCESS^ASSIGNS user exit once for each ASSIGN command entered 
from the TACL prompt before GDSX was started. If no such commands were 
entered, this user exit is not called at all.
•
Calls the PROCESS^USER^PARAMS user exit once for each USERPARAM 
defined in PARAM commands entered from the TACL prompt before GDSX was 
started. If no such commands were entered, this user exit is not called at all.
•
Calls the USER^VERSION user exit.
•
Allocates memory for control blocks, memory pools, stack images, checkpointed 
buffers, EMS log message, and so on.
•
Initializes monitor and listener system tasks. Starts the listener task. If GDSX was 
run as a process pair, a backup task is started. There is only one backup task per 
GDSX process, and it is always active after it is started. The backup task is 
awakened by the kernel when checkpointing or CPU monitoring needs to be done. 
•
Calls the USER^INITIALIZE user exit. Data retrieved from external sources (such 
as files) including semaphores that are located in a global data block cannot be 
checkpointed in the USER^INITIALIZE user exit, because the backup GDSX 
process is not running. Checkpointing this type of data must be deferred until the 
USER^BACKUP exit is called. 










