Task-to-Task Communication and Flying Install Subsystem (TTXFIS) Design Document by Eddy Fey 11/05/85 1.0 Overview The TTXFIS Subsystem is a standalone process which allows user programs to send parameters and activate other programs running under RSX11-M/M+. Key features include: A) Programs to be activated do not have to be installed permanently ('flying install' capability). B) Variable length parameters (or none) can be passed. C) Parameters are stored in a driver's private partition (not in system pool) until they are received by the requested program. D) Programs activated by name. E) System performance can 'tuned' to learn which programs need to be permanently installed (for higher performance). 2.0 Subsystem Interface User programs interface into TTXFIS by means of a task-to-task communication system which sends the request to TTXFIS. TTXFIS coordinates the installation (if required), activation and removal of the requested task. Tasks to be activated do not have to be sent parameters, TTXFIS can be used for its flying install and activate capability alone. 2 Fortran callable subroutines are provided for TTXFIS interface: SNDPRM - activate a program by name and send parameters. RCVPRM - receive parameters or exit. 3.0 'Flying' Installs When a program is requested to be activated, the request is queued to RUNNER. If the program is not installed, INSREM will install it from a system account. After installation, the parameters are queued to the program and the program is activated. When the program exits (no more parameters), INSREM is activated to remove the program. Installs are handled by a separate program (INSREM) so that programs to be activated which are already installed will not have to wait. 4.0 Task to Task Communications TTXFIS's queueing mechanism can also be used for general task-to task communication. Variable sized data buffers can be transferred. A general queue management interface is provided for creation, deletion, sending and receiving and flushing of queues (PIPE). 5.0 Installation of TTXFIS 1) RUNNER/INSREM tasks Two privileged tasks are required for TTXFIS (RUNNER and INSREM). These tasks are built by the command files of the same name. They need to run at a priority greater than any task which will be activated by TTXFIS. 2) VX or VS driver You can use either of these variable send/receive drivers for task-to-task communication. Logical device XX0: must be assigned to which ever device you choose. 3) Sending and Receiving tasks. Sending tasks should call SNDPRM to send parameters and activate the receiving task. Receiving tasks must call RCVPRM. These tasks must be privileged (PR:0) also. 4) Install task The standard install task from DEC ($INS) must be installed as 'INSTLL'. 5) Logical device assignments XX0: = Variable send/receive driver device. (VX: or VS:) ST0: = System terminal device. Any printing device (TT0:) RN0: = Disc device for tasks to be installed from. (Default load device is RN0:[7,7]) see INST.MAC if you need to change this. 6) Global event flags used - 51 and 52 (INSREM) 7) Use TTXFISGEN.CMD if posible. +--------+ +--------+ +--------+ | Send | RUNNER queue | RUNNER | Program A | Receive| | Program|------------->| queue | queue | Program| | X | | area |------------->| A | +--------+ | | +--------+ | | | | | | +--------+ | | +--------+ | Send | RUNNER queue | | Program B | Receive| | Program|------------->| | queue | Program| | Y | | |------------->| B | +--------+ +--------+ +--------+