ICL 1900 Series George 3 Operating System Commands

TWIN (TN)

Function

To pass information to the exofile twinning activity.

Format

  1. TWIN INITIALISE,Unumber
    where number is the operator's number of an IPB

  2. TWIN string
    where string may be the character strings UP or DOWN or DO

  3. TWIN directive,Unumber
    where
    directive may be SHARE (SH), DEDICATE (DE) or UNDEDICATE (UN)
    number is the operator's number of a dual access UDAS device

Forbidden contexts

NOT OPERATOR, REMOTE

Execution

Format 1

TWIN INITIALISE,Unumber

The TWIN INITIALISE directive must be issued in both processors (though not necessarily simultaneously) to allow access to exofiles on shared dual access drives. The unit number parameter specifies the operator's number of the IPB channel through which the exofile twinning dialogue is to take place.

On receipt of the command an attempt is made to open IPC links for reading and writing.

Successful Establishment of Links

When IPC links are established, an initialising message containing details of the status of each twinned spindle is sent and checks are made for the following:-

  1. The unit numbers of the twinned devices are the same on both processors. If this check fails one of the systems breaks with:-

        GEOERR NODEV

  2. The status of each dual access drive is either shared in both processors or dedicated in one processor and undedicated in the other. Failure shows that the status of one or more units is incorrect and so the IPC twinning links are closed. Command error 15 is output and the units mentioned in the error message should have their status changed in one processor by the TWIN DEDICATE/UNDEDICATE/SHARE command. The TWIN INITIALISE command must then be re-issued.

On successful completion of the command, messages T3 to T5 are output as appropriate followed by message T1.

Unsuccessful Establishment of Links

This condition can arise for the following reasons:-

  1. Inoperable IPB
  2. Other processor is not running
  3. Other processor is running under GEORGE 3/4 but has not issued the TWIN INITIALISE command

In all case message T6 is output to the operator's console. The action to be taken is given in the following table:-

Condition Action Event Comment
IPB inoperable
(Note 1)
Issue the TWIN command with UP directive Messages T3 to T5 and T2 are output to the console No access to shared spindles permitted
Other processor not running Issue the TWIN command with DOWN directive Messages T3 to T5 followed by T1 are output Full access to shared spindles permitted
No TWIN INITIALISE command issued in other processor
(Note 2)
Issue the TWIN INITIALISE command in other processor Messages T3 to T5 followed by T1 are output Full access to shared spindles permitted

Notes

  1. The action stated is used when the IPB cannot be made operable immediately. If the IPB is merely off-line it should be on-lined at this stage. When the IPB becomes operable the TWIN INITIALISE command is not required because IPC links are established automatically.
  2. When the TWIN INITIALISE command is issued in the other processor the IPC links are automatically established so the command need not be re-issued in the processor already working.

Changing the IPB Channel for Twinning Dialogue

The TWIN INITIALISE command should be used whenever another IPB channel is required for twinning dialogue. The effect is to close the existing IPC links and then establish new links through the specified channel.

Messages T3 to T5 and T7 are output to the operator's console followed by message T6 if the IPC links cannot be established through the specified channel.

Command Errors Associated with the Initialise Directive

I1 UNIT z IS NOT AN IPB DEVICE
I2 THE PROCESSORS CONNECTED BY UNIT z HAVE THE SAME IDENTITY
I3 THERE ARE NO TWINNED UDAS DEVICES ON THIS INSTALLATION
I4 TWIN COMMAND IN PROGRESS (see Note below)
I5 TWINNED UNITS z ARE IN WRONG STATE
I6 UNIT z IS NOT ATTACHED TO A PROCESSOR THAT IS RUNNING UNDER GEORGE

Note: The TWIN COMMAND IN PROGRESS error message is output when a TWIN INITIALISE command has previously been issued but has not terminated, that is, message T1 or T2 has not been output to the operator's console at the time of issuing another TWIN INITIALISE command.

Command Errors Associated with the Initialise Directive

T1 EXOFILE TWINNING SYSTEM USING IPB UNIT z
T2 TWINNING SYSTEM NOT INITIALISED - PROCESSOR LINK FAIL
T3 UNITS z ARE SHARED
T4 UNITS z ARE DEDICATED
T5 UNITS z ARE UNDEDICATED
T6 PLEASE ISSUE TWIN COMMAND GIVING STATE OF OTHER PROCESSOR
T7 TWINNING LINKS CLOSED AND RE-OPENED ON IPB z

Format 2

TWIN UP/DOWN

These two directives (in which the number parameter is not required) enable the operator to inform GEORGE 3/4 of the state of the GEORGE 3/4 in the other processor. This is necessary since it is not always possible for GEORGE to distinguish between IPB inoperable and GEORGE not working in the other processor.

These directives must only be issued in response to the request

    PLEASE ISSUE TWIN COMMAND GIVING STATE OF OTHER PROCESSOR

The reply must be made to the processor that issued the request.

The effect of these directoves is cancelled by GEORGE when normal mode conditions are restored. If neither of these directives are issued in response to the 'PLEASE ISSUE...' request any jobs requiring use of shared spindles will be held waiting until normal conditions are restored.

UP

This directive to the TWIN command informs GEORGE that the IPB is inoperable. Any jobs wanting to access the System Control Area of storage units on shared spindles are set waiting. For each job so affected the message:-

    JOB NO y NEEDS IPB OR STORAGE UNIT z TO BE DEDICATED

is output once to the central operator's console. If the TWIN DEDICATE command is not used the jobs restart when the IPC twinning links are re-established.

DOWN

This directive should be used under the following conditions:

  1. The other processor has broken
  2. The other processor is running under GEORGE but has not reached GEORGE Ready

The processor receiving this directive takes control of all the shared spindles and no longer communicates with the other processor about exofile usage.

Under no circumstances should TWIN DOWN be allowed to operate in both processors simultaneously.

Command Errors Associated with the Initialise Directive

GEORGE HAS NOT REQUESTED THIS DIRECTIVE TO BE ISSUED

Format 3

TWIN SHARE/DEDICATE/UNDEDICATE,Unumber

This group of directives is used to change the status of a dual access spindle. In all cases the number parameter is required and must specify the operator's number of a dual access direct access device.

The SHARE (SH) directive causes the specified spindle to be marked as shared.

The DEDICATE (DE) directive causes the processor in which it is issued to have full access to the storage unit on the specified spindle.

The UNDEDICATE (UN) directive causes the spindle specified to appear as being offline to the processor in which it is issued.

The effect of these directives only lasts for the duration of the GEORGE run in which they are issued; that is, if GEORGE breaks, the status of the twinned spindles reverts at the next GEORGE READY to that specified in the DEDICATE/UNDEDICATE restore-time macros or the equivalent Allocator/Loader directives.

When a status change is declared by issuing the TWIN SHARE/DEDICATE/UNDEDICATE command GEORGE checks the following:-

  1. That the device concerned is a twinned spindle. If this check fails message E1 is output
  2. That a status change for the device concerned is not being implemented, and that a TWIN INITIALISE command is not in progress. If this check fails message E2 is output
  3. That the device concerned is not currently in use. This check includes the following sub-checks:-
    1. exofile usage
    2. system usage
    3. any part of the disc in use as a scratch file
    4. use by and S-trusted program
    5. processing of an engage button event
    6. processing of a CARTRIDGE command
    Current activity or any of the above results in message E3 being output.

The effect of the status change directives then depends on the state of the exofile twinning system which can be one of the following:-

  1. Not initialised
  2. Initialised and running normally
  3. Cripple mode

Exofile Twinning Not Initialised

This situation arises when the processor in which the command is issued has passed GEORGE READY but a TWIN INITIALISE has either not been issued, or not implemented successfully because either the other processor or the IPB is not working. In this state the status of the drive is changed only in the issuing processor.

Exofile Twinning Running Normally

This is the situation where both processors have passed GEORGE READY, both have issued and successfully implementeda TWIN INITIALISE command and the system is running smoothly. In this state a TWIN command declaring a status change is issued in one processor only and this causes the status in the other processor to be changed accordingly; that is, a TWIN SHARE command issued in one processor causes the device to be marked as SHARED in both processors, while TWIN DEDICATE command causes the drive to be marked DEDICATED in one processor and UNDEDICATED in the other processor and vice versa for TWIN UNDEDICATE.

The checks described above are made in both processors and any failure causes the command to be errored so the status remains unchanged in both processors.

Exofile Twinning in Cripple Mode

When exofile twinning detects a breakdown in the IPB communication it outputs the request:-

    PLEASE ISSUE TWIN COMMAND GIVING STATE OF OTHER PROCESSOR

to determine the cause of the problem. A TWIN DOWN reply informs GEORGE that the other processor has gone down. The live processor allows activities to access any dedicated or shared drive. A TWIN UP reply implies the IPB is inoperable and the other processor is still running, so GEORGE only allows access to dedicated drives to prevent the two processors accessing shared drives in an incompatible manner. A TWIN SHARE command issued in this state is errored since a shared drive would not be accessed by either processor. With this exception any of the status change directives can be issued in cripple mode but the status will only be changed in the issuing processor. Change of status while in cripple mode demands caution, particularly in the TWIN UP state since GEORGE is unable to validate the status consistency between the two machines. Note particularly that if a TWIN DEDICATE command is issued in one processor then a TWIN UNDEDICATE command for that spindle must first be issued in the other processor.

When exofile twinnig recovers from cripple mode the live processor(s) automatically attempts to re-initialise twinning. A processor which has been down must issue a TWIN INITIALISE command for initialisation to take place. When re-initialisation takes place the status of each drive is checked for consistency; that is each twinned spindle must either be shared in both processors or dedicated in one and undedicated in the other. Any inconsistencies produce an error message and exofile twinning remains in cripple mode. The TWIN command must then be issued to change the status of any drive as necessary to obtain consistency between the two machines. It should be remembered at this stage, that if a processor has been down the status of the drives on reloading reverts to that specified in the restore.

Whatever the state of exofile twinning, when a status change has been successfully implemented an informatory message is output to the machines in which the change has taken place.

If a change has taken place in only one processor, that is exofile twinning is either not initialised or is in cripple mode, the message is:-

    UNIT nn IS NOW SHARED/DEDICATED/UNDEDICATED BUT NO CHECKS MADE IN OTHER PROCESSOR

If exofile twinning is running normally and changes have been made in both processors the message is:-

    UNIT nn IS SHARED/DEDICATED/UNDEDICATED

as appropriate in each processor.

For a failed TWIN SHARE/DEDICATE/UNDEDICATE command one of the following messages is output:-

E1 UNIT nn IS NOT A TWINNED UDAS DEVICE
E2 TWIN COMMAND IN PROGRESS
E3 UNIT nn IS IN USE
E4 UNIT nn CANNOT BE SHARED DUE TO PROCESSOR LINK FAILURE

The following table summarises the effect of the TWIN SHARE/DEDICATE/UNDEDICATE command:-

  Exofile twinning not initialised Initialised and running normally Cripple mode reasons not yet known IPB inoperable (TWIN UP issued) Other GEORGE down (TWIN DOWN issued)
TWIN SHARE issued in machine A Shared in A
No effect in B
Shared in both Waits for recovery or TN UP/DOWN to be issued Error E4 Shared in A
No effect in B
TWIN DEDICATE issued in A Dedicated in A
No effect in B
Dedicated in A
Undedicated in B
As above Dedicated in A
No effect in B
Dedicated in A
No effect in B
TWIN UNDEDICATE issued in A Undedicated in A
No effect in B
Undedicated in A
Dedicated in B
As above Undedicated in A
No effect in B
Undedicated in A
No effect in B

Note: Some dual access devices have a hardware dedicate facility on the Disc Switching Unit (DSU). These switches need not be used when the TWIN SHARE/DEDICATE/UNDEDICATE commands are issued, but if they are used then the TWIN DEDICATE must be issued before the DSU dedicate, and the DSU share must be done before issuing TWIN SHARE, otherwise the results are undefined.