• Aucun résultat trouvé

IBM System/360 Time Sharing System Command System

N/A
N/A
Protected

Academic year: 2022

Partager "IBM System/360 Time Sharing System Command System "

Copied!
233
0
0

Texte intégral

(1)

File No. 8360-36 GY28-2013-6

Program Logic

Version B.l

IBM System/360 Time Sharing System Command System

Provides descriptions of the internal. logic of each Command System module for persons responsible for pro- gram maintenance and modification. The Command System consists of modules that process the commands available to the user, operator, manager, and administrator of the System/360 Time Sharing System.

Provides the following information for each module:

basic function, entries, modules called, method of operation, exits, error conditions, system control blocks used. and a flowchart.

Before using, be familiar with the contents of:

IBM System/360 Time Sharing System:

Concepts and Facilities, GC28-2003 Command System User's Guide, GC28-2001

Manager's and Administrator's Guide, GC28-2024 Operator's Guide, GC28-2033

Have available for reference:

IBM System/360 Time Sharing System: Systero Mes- sages, GC28-2037

(2)

Seventh Edition (September 1971)

This is a major revision of, and makes obsolete, GY28-2013-5 and Technical Newsletter GN28-3164. This edition documents the new KEYWORD, CHGPASS, FLOW, MCAST, and MCASTAB commands, as well as a set of atten- tion response commands -- EXIT, PUSH, RTRN, STACK, and STRING. Significant changes will be indicated by a vertical line beside the changed text.

This edition is current with Version 8 Modification 1 of the IBM System/360 Time Sharing System (TSS/360), and remains in effect for all subsequent versions or modifications of TSS/360 unless otherwise noted. Sig- nificant changes or additions to this publication will be provided in new editions or Technical Newsletters.

Before using this publication, refer to the latest edi- tion of IBM Systeml360 Time Sharing System. Addendum, GC28-2043, which may contain information pertinent to the topics covered in this edition. The Addendum also lists the editions of all TSs/360 publications that are applicable and current.

Requests for copies of IBM publications should be made to your IBM representative or to the IBM branch office serving your locality.

A form is provided at the back of this publication for reader's com- ments. If the form has been removed, comments may be addressed to IBM Corporation, Time Sharing System/360 Programming Publications, Depart- ment 643, Neighborhood Road, Kingston, New York 12401

(3)

This manual, a guide to the logical structure and functions of the TSS/360 Com- mand System, is designed to be used with the individual assembly listings: i t does not discuss the machine-language module structure. The symbols that appear here correlate with those used in the listings.

This manual is intended for persons involved in program maintenance and modi fica tion.

The manual has 8 sections. Section 1 introduces the Command System. Sections 2 through 7 describe the logical divisions of the system: Command Controller, Text Edi- tor, command routines, macro instructions, source language processing, and interrup- tion processing; Section 8 contains flow- charts for the command system modules. The manual also includes two appendixes: Sys- tem control block usage and a copy of SYSPRO.

Each description of a command system module includes:

• Common and symbolic module names.

• All entry points to the module, and the use of each entry point.

• Basic module functions. (Unless other- wise noted, modules will operate in conversational and nonconversational modes. )

• All module exits. In most cases, the standard exit is a return to the cal- ling routine, via the RETURN macro instruction.

• All modules called and the reason for each call. If the called module is

PREFACE

within the command system, its common and symbolic module names will be listed: for other modules, the common name and symbolic name, if applicable, are given.

• An explanation of module operation, with a discussion of the principal

logic paths.

• All error conditions recognized by a module, and the actions taken for each condition.

• All system control blocks referred to by a module.

• Flowcharts.

To use this publication you need the information in:

IBM System/360 Time Sharing System:

Concepts and Facilities, GC28-2003 Command System User's Guide,

GC28-2001

Manager's and Administartor's Guide, GC28-2024

operator's Guide, GC28-2033

If you intend to use this book to debug programs, you need the following reference publication:

IBM System/360 Time Sharing System:

System Messages, GC28-2037

(4)
(5)

SECTION 1: COMMAND SYSTEM OVERVIEW Command System Functions

Command System Organization command Controller • • • • Text Editor . • .

Command Routines • • • • • • • Macro Instruction Processing

Source Language Processing Interruption Handling • • • • Command System Module Interactions Command System Operation . • • • • •

System Startup • • • • • • • • • Conversational Task Initiation Nonconversational Task Initiation Processing A Command

Terminating A Conversational Task Terminating A Nonconversational Task Processing Macro Instructions

System Shutdown • . • • • • SECT ION 2: COMMAND CONTROLLER • • Command Analysis and execution

GATE Routine . • • •

SCAN Package • . • • User Prompting

Attention Handling Source List Handling

Control Dictionary Handling • • The Combined Dictionary • . The Source List . • • • • • Command Controller Routines •

Command Analyzer and Executor (CZASA) GATE Routine (CZATC) • • • •

SCAN Routines (CZAAC) • • • • User Prompter Routines (CZATJ) Attention Handler Routine (CZASB) Source List Handlers (CZASC)

Control Dictionary Handler (CZASD)

SECTION 3: TEXT EDITOR . • • • • • • • • • • •

CONTENTS

1 1 1 1 2 2 2 3 3 3 3 3 3 4 7 8 8 10

• 10

• 11

• 11

• . • • 12

• • • • • • 12

• . • • 13

· • 13 13

• 14

· 14

• 15

• 16

• • 16 21

• 27 35

• 39 42

• 49

· 54 Text Editor Controller -- EDIT Command Routine (CZATS1/CZATS2) • 55 CONTEXT Command Routine (CZASM) • • • •

CORRECT Command Routine (CZASQ) • • • • DATALINE Entry Service Routi ne (CZASG) Edit Initialization Routine (CZBSE) • EXCERPT cowmand Routine (CZASK) •

EXCISE Command Routine (CZASL) INSERT Command Routine (CZASJ)

• 58

• • 59

• 61

• 63

• • • • 63

• 65

• • 66

LIST Command Routine (CZASP) • • • • • 66

LOCATE Command Routine (CZASN) MATCH Service Routine (CZAST) • • NUMBER Command Routine (CZASU)

Profile Handler Command Routine (CZASZ) • • • • • • REGION Command Processor (CZASF) • • • . REVISE Command Routine (CZASH) • • • • • • • • STET Command Routine (CZASV) • • • • • • • • • • .

• • • • 67

• • 68 69

• 70

· . . . 71

• • 72

• 72 Transaction Table Initialization Routine (CZBTA/CZBSY) - TRIN • Transaction Table Updater Service Routine (CZASS/CZBSX) - TRUP • 73 73 UPDATE Command Routine (CZASR) • • • • . • • • • • • • 74

(6)

SECTION 4: COMMAND ROUTINES. • • • • • 76 ABEND (CZACP, CZACQ, and CZACR) • • • • • • 79 BACK Command Routine (CZABC) • • • • • • • • • 83 Batch Work Queue (BWQ) EXHIBIT Processor (CZAYF) • 85

CANCEL Command Routine (CZABJ) • • • • 86

CATALOG Command Routine (CZAEI) • • • • • 87 CDD Command Routine (CZAFS) • • • • • • • • • 90

CDS Command Routine (CZAFV) • • • • • 92

CHGPASS command (CZATI) • • • • • • • • 94

CLOSE Command (CZCHB) • • • . 95

DATA Command Routine (CZADF) • • • • • • • • • . 98 DDEF Command Routine (CZAEA) • • • • • • • .100 DSS?/PC? command Routine (CZAEL) • • • • • 104 ERASE/DELETE Command Routine (CZAEJ) • • • • • • • • .106 EVV Command Routine -- CATVAM (CZCFB) • • • • • • • • • 109 EXECUTE Command Routine (CZABB) • • • • • • . • • • • .111

EXHIBIT Director (CZAYD) • • • • • • • • 112

FINDDS Routine (CZAEC) • • • • • • .113

FINDJFCB Routine (CZAEB) • • • • .115

FLO~J Command Processor (CZAGD) • • • • .116 IF string comparison Routine (CZBLT) . • • • • • 118

JOIN/REJOIN Command Routine (CZAFK) • .118

JOINRJE/QUITRJE Command (CZABS) • • • • • • • .120 JOBLIBS and DDNAME? Commands (CZAEK) • • • • . • • • • • • • • . 121 KEYWORD Command Routine (CZATH) • • • • • • • .122 LINE? Command Routine (CZAEM) • • • • • • .123 LOGOFF Command Routine (CZAFN) • • • . • .125 L(x;ON (CZAFM) • • • • • • • • • . . • • • • • • • • • 127 LOGON2 Command Routine (CZBTB) • • • • • • .130 MCAST/MCASTAB Routine. • • • • • • • • • • • • • .132

MODIFY Command Routine (CZAEG) .133

MSGWR (Message Write) Routine (CZAAD) • • • • • • 135 Place Address in AIR Table (CZACS) - PAIR. .135 PERMIT Command Routine (CZAFH) • • • • • . . • 136 POD? Command Routine (CZCOX) • • • • • • . • . 131 PRMPT Command Routine (CZBTC) • • • • • • .139 PROCDEF Routine (CZATP) • • • • • • • • . • • • • • • • • • . 139 Procedure Expander Routines (CZATE) • • • • • . • • 140

QUIT Command Routine (CZAFL) • • • • .146

RELEASE Command Routine (CZAFJ) • • • • • • • . 148 RET Command Routine {CZAEN} • • • • • . • • • • • • • .150 RPS/CVV/LPDS/CPS Command Routine (CZAXX) • • • • • • .152

Recreate Public Storage (kPS) . . 154

Catalog VAM Volwne (CVV) • • • . • . • • . • .156

List Public Storage (LPDS) • • • • • .156

Cle.m Public Storage (CPS) • • • • .156

SECURE Command Routine (CZAFU) • . • • . • . 158 SHA,.lli Command Routine (CZAFI) • . • • • • • • . • • • .159 SYNONYM/DEFAULT Catalog Routine (CZATRl) . . . • • • • • 160

system Activity and ~esources Display (SARD) Processor (CZAYE) .161 SYSXPAT Command Rout.ine (CZATF) • • • • • • .162 Compatibility Handler (CZATFl) • • • • . • • • .162 TIME Command Routine (CZAVB) • . • • • • • • • • • . . . • .163 Userid Intorll'ational CUID} EXHIBIT Processor (CZAYG) .164 UPDTUSER COll'mand Routine (CZAGC) • • • . 165 USAGE Command Routine (CZAGB) • • . • • • • . • .166 User Control (CZAMZ) • • • • • . • • • • .169 VAM Tape Command Routine (CZAET) • • • • • .174 VSS Command Routine (CZAVR) • • • • • • • • • • .178 SECTION 5: MAC~O INSTRUCTION HANDLING • . • • • • • • • . .179

• • 181 .181

• • • .182

~acro Instructions that Call Command Routines • • • • • Macro Instructions that Call Command support Routines • . l"Jacro lnstructions that call Subsystem Su~port Routines •

(7)

Macro Instructions That Communicate With Other Tasks SECTION 6: SOURCE LANGUAGE PROCESSING

LPCMAIN (CFADA) • • • •

GETLINE Routine (CFADB) • • • • • PUTDIAG Routine (CFAOC) • • • • •

SECTION 7: INTERRUPTION PROCESSING • • • • • • • •

.182 .183 .184

• .187 .190 .191 .192

• .197 Program Interruption Diagnostic Processor - DIAGNO - (CZAHA)

Initial Attention Interruption Processor - IAIP - (CZAHB) External Interruption Processor - (XIP/XIIS) - (CZAHC) External Interruption Subprocessor - XIMS/XIES - (CZAHD) Virtual Memory Task Initiation - VMTI - (CZAAF) • •

• .198

• • • • 200 .201 .202 Virtual Memory Task Initiation II - VMTI II (CZATD)

FLOWCHARTS .206

APPENDIX A: SYSTEM CONTROL BLOCK USAGE • • • • 553

APPENDIX B: SYSPRO • • • .557

INDEX • • • .560

(8)

ILLUSTRATIONS

Figure 1. Explanation of LOGON procedure 4

5 6 7 8 9 Figure 2. Initial command entry procedure • • • • • • • • • • •

Figure 3. Execution of BUILTIN procedure • • • • • • •

Figure 4. Execution of a textual procedure • • • • 0 • • • • 0

Figure 5. Execution of PCS commands ~ith Direct Call

Figure 6. Modular relationship of the command system 0 • • • Figure 7. Interaction of COWARD and RTAM TCS • • • • • • 0 0 Figure 8. Attention processing with AET connected • • • • • • • Figure 9. Interrelation of Text Editor Command Processor and

• • 24

• • 40 Service routines . • • • • • • • • • 0 . 54 Figure 10. Overvie~ of the Text Editor Controller logic • • • • • • 51

• 76

• • .179 Figure 11. Command routines • • • • • • • • • • • • • • •

Figure 12. Macro instructions supported by the command system

Chart AA.

Chart AB.

Chart AC.

Chart AD.

Chart AE.

Chart AF.

Chart AG.

Chart AH.

Chart AI.

Chart AJ •

Chart AK.

Chart AL.

Chart AM.

Chart AN.

Chart AO.

Chart AP.

Chart AQ.

Chart AR.

Chart AS.

Chart AT.

Chart AU.

Chart AV.

Chart AW.

Chart AX.

Chart AY.

Chart AZo Chart BA.

Chart BB.

Chart BC.

Chart BD.

Chart BE.

Chart BF.

Chart BGo Chart BH.

Chart BI.

Chart BJ •

Chart BK.

Chart BL.

Chart BM.

Chart BN.

Chart BO.

Chart BP.

Command Analyzer and Executor - CZASA GATE - CZATC • • 0 0

SCAN routines - CZAAC User Prompter - CZATJ Attention Handler - CZASB Source List Handlers - CZASC • Control Dictionary Handlers - CZASD EDIT Controller - CZATS • • • • • • CONTEXT - CZASM • • • • • 0

• • .207 .215

• .230 .234

· .245

• • • • • • .248 . • • .256

• .265 .270 CORRECT Command Processor - CZASQ • • • • .213 EDIT Initialization - CZBSE • • • • • • 280 EXCERPT - CZASK • • • • • • • • • . 281

EXCISE Command Processor - CZASL .284

INSERT Command Processor - CZASJ • • • • • • .288 DATALINE Entry - CZASG • • • • • • • • .289 LIST - CZASP • • • • • • • • • .292

LOCATE - CZASN • • • • • • . 298

MATCH - CZAST • • • • • • • • • .301 NUMBER Command Processor - CZASU • • • • • .302 Profile Handler - CZASZ • • • • • • • • • • • .305 REGION - CZASF • • • • • • • • • • • .306 REVISE Command Processor - CZASH • • • • • • • .308 STET Processor - CZASV • • • • • • • • • • • • .309 Transaction Initialization routine (TRIN) - CZBTA/CZBSY .310 Transaction Table Update (TRUP) - CZASS/CZBSX .311 UPDATE Command Processor - CZASR • • . • • • • • 312 ABEND - CZACP/CZACQ/CZACR • • • • • • . 314 BACK - CZABC • • • • • • • • • • • • • • 332 BWQ EXHIBIT Processor • • • 0 .334 CANCEL - CZABJ • • • • • • • • • .336

CATALOG - CZAEI • 0 .338

CDD - CZAFS . • • • 0 • • • • • • • 342

CDS - CZAFV .341

CHGPASS - CZATI 0 0 • • • 0 • • • • • • 352

CLOSE - CZCHB .353

DATA - CZADF 0 .360

DDEF - CZAEA • • • • 0 .363

DSS?/PC? - CZAEL

ERASE/DELETE - CZAEJ • CATVAM - CZCFB •

EXECUTE - CZABB

EXHIBIT Director - CZAYD

.310

• • • • • • • • • • .373 .378

• .383 .385

(9)

Chart BQ. Chart BR. FINDDS FINDJFCB

-

CZAEC

-

CZAEB

· · · · · · · ·

0386 .388

Chart BS. Chart BT. FLOW -IF string comparison CZAGD

· · -

CZBLT

· · · · ·

0

· ·

.390 .394

Chart BU. Chart BV. JOINRJE/QUITRJE JOIN

-

CZAF.K

· · · · -

CZABS

· · · · · · · · · ·

.400 .395

Chart BW. Chart EX. KEYWORD -JOBLIBS

-

CZATH CZAEK

· · · ·

.403

·

.405

Chart BY. Chart CA. LOGOFF LINE?

- -

CZAEM CZAFN

· · · · · · · · · · · · · · ·

.411 .406

Chart CB. Chart CC. Chart CO. Chart CFo Chart CG. Chart CI. Chart CK. Chart. CEo Chart CH. Chart Chart CL. Chart CM. Chart CN. Chart CO. Chart CPo Chart CS. Chart CU. Chart CYo Chart DA. Chart, DC. Chart CQ. Chart CR. Chart CT. Chart CV. Chart, CWo Chart CX. Chart CZ. Chart DB. Chart DO. CJ • LOGON 2 MCAST MODIFY MSGWR PRMPT command LOGON PAIR PERMIT Parameter Analysis (POD) PROCDEF Procedure Expander QUIT RELEASE RET RPS/CVV routine SECURE SHARE SYNONYM/DEFAULT SYSXPAT TIME UID Processor USAGE command VAM tapes VSS SARD Processor UPDTUSER User Control LPCMAIN GETLINE -

- - -

--

- - -

CZAEN

-

CZAVR

- -

CZACS

-

CZAFL

-

CZAVB CZAFM CZATU CZAAD -

-

CZAFI

- -

CZBTB CZAEG CZAFH CZAFU -CZATP CZAFJ CZATFl -CFADB CFADA CZAGC CZAET

· · · - · · -

-

- · ·

CZAMZ

· · · · · · · - ·

0 CZBTC

- -

CZAYG CZAGB CZAYE

· · · · · ·

CZAXX CZATR

-- · - · · · ·

CZATE

· ·

Entry and Initialization

·

0

· · · · · · · · · · · · · · · · · · - · ·

CZCOX

· · · · ·

0 0

·

0

· · ·

0 0

· · · · · · · · · ·

0 0

· · · · · · · · · · ·

0

· · · ·

0

· · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

0

· · · · · · · · · · · · · · · · · · ·

0

· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

.414 .418 .425 0427 .429 .430 .431 .432 .441 .449 .468 .476 .486 .488 .491 .493 .496 .515 .535 .540 .442 .463 .478 .487 .490 .492 .494 .499 .536

Chart DE. PUTDIAG - CFADC

·

.543

Chart DF. DIAGNO - CZAHA

· · · · · · ·

.544

Chart DG. IAIP

-

CZAHB

· · · · · ·

.545

Chart DH. XIP/XIIS

-

CZAHC

· · · · · · ·

.546

Chart Dr. XIMS/XIES

-

CZAHD .548

Chart OJ. VMTI

-

CZAAF

· · · · · · · · · · ·

.549

Chart DK. VMTI-2 - CZATD

· · · · · · · · · · · ·

.550

(10)
(11)

SECTION 1: COMMAND SYSTEM OVERVIEw

COMMAND SYSTEM FUNCTIONS

The command system has three basic functions:

1. Receive and interpret commands submitted by users of the time- sharing sharing system.

2. Carry out the actions requested by each valid command.

3. Inform the user of the results of the actions performed or, if a command is invalid, inform him of his error so that he may correct it.

The command system has been designed to meet a number of maior objec- tives that include facilities to:

• Provide the user with the ability to define his own commands.

• Permit the user to call his programs or procedures by direct commands.

• Standardize command syntax.

• Provide default and profile facilities.

• Provide a general editing capability.

The command system accepts all commands described in Command System User's Guide, Manager's and Administrator's Guide, and Operator's Guide

(Full titles and order numbers of these publications are shown in the preface.) Commands may be accepted directly from a user at his termin- al, or indirectly from a set of commands previously stored in the time- sharing system. The command system also processes a number of macro instructions that may be employed in user object programs; the expansion of these macro instructions results in object code that will link to the appropriate command system module at execution time.

The command system also contains a collection of service routines, almost all of them privileged, which operate in virtual storage under the control of the task monitor.

Each TSS/360 task includes a task monitor and some portion of the command system. The specific modules that appear in the task depend, of course, on the actions requested in that task. The task monitor handles all interruptions, and calls upon the command system as needed. In turn, the command system calls upon the TSS/360 general service, catalog service, and access method routines; i t also requests system functions through supervisor calls, such as VSEND and TSEND. All actions per- formed by the resident supervisor, such as paging and time slicing, do not influence the command system operation.

COMMAND SYSTEM ORGANIZATION Command Controller

The command controller consists of the Command Analyzer and Executor as the highest control routine; to this routine is added other routines to handle procedures, defaults, synonyms, and comments. Also. the lan-

(12)

guage processor controllers and text editor are driven by the command controller.

The basic control of the command controller is done by the Command Analyzer and Executor. The Command Analyzer and Executor is invoked

upon initial task entry. It may also be invoked recursively by a user, upon intervention of an object program, or during language processor control. This routine calls the Verb Scanner to determine the verb type from the control dictionaries. The verb operands are translated and a command routine is called to execute the verb.

Normal procedures are handled by the Procedure Expander, which scans for procedure parameters, retrieves the procedure from the procedure library, and performs character substitution of the parameter specifica- tion for each occurrence of the dummy parameter in the procedure model.

Text Editor

The Text Editor commands help make i t possible for data sets to be created and maintained. Lines of data may be edited within an existing VISAM data set or as they are entered into a VISAM data set. The User Control routine provides the principal interface between the Text Editor routines and the remainder of the command system, as most Text Editor

routines operate in a nonprivileged state. The Edit Controller, which is external to the text editor (but also nonprivileged), provides an interface with the other modules in the system. All Text Editor com- mands are BUILTIN-created; each BPKD points to a common entry point located in the User Controller. After locating the BPKD, User Control supervises the execution of the command.

Command Routines

The largest part of the command system consists of command routines, almost all of which are privileged BUILTINs. Typically, each of these processes a single command or macro instruction by calling general ser- vice routines and other command routines, in a prescribed order, to carry out the requested actions. The operation of the command routines is basically the same: They are called by the Command Analyzer and Executor (or by another command routine or macro instruction); they make use of routines in the command controller to get input and issue output;

they call general service routines as needed; and, when finished, they return to their calling routine. For an external description of the commands, consult the appropriate guide (listed in the preface). The command routines are contained in Section 4 with the exception of the PUNCH, PRINT, WT, RT, ASNBD, FORCE, HOLD/DROP, MSG/BCST, REPLY, SHUT- DOWN, and XWTO routines. These routines are described in the Operator Task and Bulk I/O PLM, GY28-2047.

Several modules that perform support functions for the command rou- tines are also described in Section 4.

Macro Instruction Processing

The command system handles many macro instructions. In general, expansion of those macro instructions produces object coding that links to a command system routine. Usually, the linkage is to a special macro instruction entry point in the routine so that the routine will not issue messages, but instead will return a code to show the processing results. Some command system modules (for example, those used to access SYSIN and SYSOUT) are linked to only by macro instructions. Other com- mand system routines may be called by macro instructions and commands.

See section 5.

(13)

Source Language Processing

Three command system modules, LPCMAIN, GETLI~, and PUTDIAG, serve as an interface between the language processors (FORTRAN compiler, assembl- er, and linkage editor> and the user. or his prestored source program.

These modules get parameters for the language processors, get source lines. and pass language processor diagnostics to SYSOUT. See Section 6.

Interruption Handling

The command system includes several modules that are entered by the task monitor for the following types of interruptions: the external interruption caused by intertask messages; some program interruptions;

and the initial attention interruption of a conversational task. See Section 7.

COMMAND SYSTEM MODULE INTERACTIONS

Command system modular interact_ion is most easily understood as a function of time. ThUS, the figures shown in this section are develop- mental. tracing command system inte.raction during the execution of spe- cific functions. The first two are initialization functions:

Figure 1 - Explanation of the LOGON Procedure Figure 2 - Initial Command Entry Procedure

The command entered may be a BUILTIN call (such as CDS or EDIT), a tex- tual procedure, or a Rdirect call.w (This last could be a dynamic

statement or a LOAD, UNLOAD, or parameterless CALL command.) Figures 3, 4. and 5 demonstrate the command system's general optration in these cases. Figure 6, the last figure in this section, presents the overall linkage of command system modules.

The command system contains two centers of information, the source list (SL) and the combined dictionary. All commands in the system are read from the source list. The combined dictionary is the source of the names of all procedures, synonyms, defaults, and command variables.

The source list is a list of pending transactions. When the proce- dure capability was added i t became possible to stack commands. The use of a procedure verb will result in the procedure expander placing more verbs in the source list. Execution continues until all of the verbs in the source list have been processed.

COMMAND SYSTEM OPERATION

The following paragraphs describe the general operation of the com- mand system. The description begins with the command system operation at system startup, and continues to system shutdown.

System Startup

At system startup, command system initiates the main operator's task, and peforms the following prefatory functions: opens the operator's log, initiates the batch monitor task so that i t can start operating, and readies the system for normal time-sharing operations.

Conversational Task Initiation

When a user causes an initial ATTENTION at his terminal, by pressing the attention key or by dialing the telephone number to initiate conver-

(14)

sational operations, the resident supervisor establishes a task for him.

The task monitor links to the command system's Initial Attention Inter- rupt Processor, which performs a variety of task initialization func- tions; these include definition of the system library and other system data sets, and identification of the user's terminal as the SYSIN and SYSOUT for the task. The LOGON command routine is then called to start conversational processing by prompting the user for his credentials.

Nonconversational Task Initiation

The user has three ways to start nonconversational tasks: he may issue an EXECUTE or BACK command from his terminal after he has logged on; he may issue a bulk input/output command (PUNCH, WT, or PRINT); he may submit a punched sequence of commands to the operator who will input them via a high-speed card reader or the RT command.

IAIP (CZAHB) Entered from T osk Monitor on Save T osk Mani tar initial attention interruption linkage in

NTCTMR.

VMTI (CZAAF) Adds public devices Opens SYSCAT Opens SYSSVCT

DDEF (CZAEA): Create JFCB, for all system data sets

F!NDJFCB (CZAEB): Find SYSLIB DCB

Open SYSLIB DCB

TIME (CZAVB): Initialize time

VMTI-2 (CZATD) Open SYSMLF

Find VPAM member SYSMLF

LOGON (CZAFM)

Get LOGON paromete~ from real core via SVC.

• Validate LOGON paramete~.

• Complete user tables.

• Put solutation message.

• Tell operator.

LOGON2 (CZBTB)

• Open SYSLIB and USERLIB DCBs.

• Find USERLIB (SYSPRO) and USER LIB (SYSMLF).

• Open SYSLIB (SYSPRO) and SYSLIB (SYSPRD).

• Construct combined dictionary from USERLIB and SYSUB.

• Enable Command System Attention Handler.

COMMAND ANALYZER AND EXECUTOR (CZASA) Obey ZLOGON.

Queue linkage Entry to CZASA

Return to Task Monitor via NTCTMR

Figure 1. Explanation of LOGON procedure

(15)

As a result of the OLE Set up by VMTI-2 during LOGON, the Command Analyzer and Executor is coiled to service the user's commands ...

COMMAND ANALYZER (CZASA 1) Call, CZASCI to create new subli.t

Call. CZASA2 to isolate verb

VERB SCANNER (CZASA2) Recognizes that there is nothing in the SL subli,! (EOB).

Calls CZASC4 to process the E morker

Begins scanning at start of Subli st ago; n. Isolates and validates verb. Retums pointer to Command Analyzer.

SOURCE LIST HANDLERS CZASC 1: Recognizes that there is no previous sub Hst and sets first subli,t flag on.

CZASC4: Sets up ta read

;;-;;-ew line into the SL ot the first subli.! position.

Puts line in SL sublist.

Inserts E marker after this line. Verb now available for verb scanner

DICTIONARY HANDLERS

GATE (CZATCl)

~;;,p;:;-- user

Reads command from user

Calls CZASD to find verb

in combined dictionary. f---~ Searches di ctionory ... r---''---, for verb.

Command is ane of these types: 1 - - - 4 Returns a pointer

• BUILTIN

• Textual Procedure

• Direct call

Figure 2. Initial command entry procedure

For an EXECUTE or BACK command, the Command Analyzer and Executor reads the command entered at the terminal and, after checking the com- mand name, calls the EXECUTE or BACK command routine. EXECUTE validates the command operand, and sends a request to the batch monitor to start a nonconversational task. The batch monitor requests a task status index

(TSI) for the new task, and initiates the task by sending a message to it; the resulting interruption acts in the same manner as the initial attention interruption of a conversational task. The task monitor and the command system of the new task respond to the interruption by per- forming the necessary task initialization, and the command system then

(16)

COMMAND ANALYZER (CZASA 1) Has determined that the verb is a valid BUILTIN procedure

BUILTIN PROCESSOR (CZASA2) Resolves BPKD symbol.

arameters Expected

? No

Yes

No

PROCEDURE PARAMETER EXPANDER CZA TE3, Analyze parameters CZATE4, Fill in any default

values

USER CONTROL (CZAMZ) Privileged

BUILTIN Yes

>---+-... ~CZAMZ1: Uses Tosk Monitor to dispatch nonprivi feged BUILTIN. R13: reflects Task Monitor Save Area.

PROCESSING MODULE Could be a command like DDEF or PC?

or a legal PCS procedure Invokes PCS Phose II f.-

processing (CZANA) '--_ _ _ _ _ ...J

if legal PCS procedure bei ng processed.

Updates the source list.

CZASA5

Uses Verb Scanner to get next verb and conti nues processing

R 14: CZAMZ19.

R15, Address of BUILTIN. LVPSW TASK

PSW, Address of BUILTIN. f - - - MONITOR NONP~IVILEGED I Dispatches - - BUILTIN:

I I routi ne May be "se r

I add ressed code or en

I I in PSW LPC like the

I I Editor.

I I

r---~I

>

I---~---,

RETURN CZAMZ2, ~ZAMZl9 (}---

Cleons up and 1 . - - - - . . 1 does level

checking. In this instance, returns to CZAMZ1's calling routine ot a special entry point.

Figure 3. Execution of BUILTIN procedure

fetches its commands from the prestored data set that serves as SYSIN for the nonconversational task. BACK changes the mode of a task from conversational to nonconversational; i t uses the batch monitor only to ensure that a new background task is permissible at this time and, if i t is, sets the TSI to indicate nonconversattonal mode. Commands will sub- sequently be read from the data set specified in the BACK command.

PUNCH, PRINT, and WT commands may appear in conversational and non- conversational tasks; RT commands may be issued only in the operator's conversational task. For each of these commands, the Command Analyzer and executor validates the command name, and calls the BULKIO preproces- sor. The preprocessor ensures that the command operands are acceptable;

the user will be prompted, if necessary, and the preprocessor concludes with a request to the batch monitor for task initiation. The batch mon- itor operates in the same way as i t would for an EXECUTE. There is no actual SYSIN for bulk input/output tasks. The SYSIN is a sequence of object code supplied as part of the command system; i t is not the usual prestored series of commands.

(17)

COMMAND ANALYZER _~ZASA1)

~ROCEgURE PAR.A.METER EXPANDER (CZ;\lEJ) Has determined that input

verb represents a textual

procedure - • Locate procedure in PROCLIB.

---

VERB SCANNER (CZASA2) Isoiate and analyze verb frorn sOurce itst - os created by Procedure Parameter Expander.

Process verb as required.

Figure 4.

processing A Command

• Isolate and va I i date verb.

• Set the starting address in the source list for a parameter scan.

~

Paro~eters Colling nY Yes No

QIE~E~~~t:LKZA .lt4)

BUILDUST~~Tg\

Build the ELiST and the INST from dummy parameters.

LlSTEQ (CZA TE?) Bui Id P LIST from calling paramt!te~.

SCAN (CZATE5)

Isora-tes- -0 -p-ora-meter

string fragment for both BUILOUST and lISTEQ

Insert defoul t

values into PLiST. ~BPA~A}IIETJI<..2EI\IL<;:l±

~IEQ: Seeks subparometers

• Complete HI ring in source !Ist.

Execution of a textual procedure

The Command Analyzer and Executor starts command processing by obtaining the next command to be processed from the tasks' SYSIN. The routine checks the validity of the operation before calling the appro- priate command routine. The command routine. after verifying the corre- ctness of the command operands, calls on TSS/360 general service rou- tines, and other command routines, 'to carry out the requested actions, and then returns control to the Command Analyzer and Executor. This routine fetches the next command from SYSIN, and the entire processing cycle is repeated.

The verification performed by the command routine makes use of check- ing routines included as part of the SCAN package. If errors or omis- sions are found, the command routine will issue messages to the task's SYSOUT. In the conversational mode. the user may make corrections when responding to system messages, or he may reenter the command. Since the user is not present for a nonconversational task, any message that

requires a user response results in termination of the nonconversational task.

Section 1: Command System Overview 7

(18)

COMMAND ANALYZER (CZASA1) Has decided that verb is not a procedure.

I f the command processed is AT, no further PCS processing is done.

Otherwise

Updates the source list to end of phase or sentence.

Gets next verb and continues

USER CONTROL ICZAMZ)

-~---.--... ---- LOAD, UNLOAD, CALL (without parameters)

1---...:...---'---j~CZBTG2: Executes

-

PCS COMMAND ROUTINES: Begin processing such command as DISPLAY, DUMP, REMOVE, QUALIFY, AT, and CALL (with parameters).

command. For LOAD or UN LOAD operot7orr reTums tc C ZA SA 1. However, CALL stili needs 0

PCS INPUT (CZANA) Exam! nes and

r--

, lm !,orom,,, !

PCS OUTPUT Exception: when C A L L ! :

(CZAPB) i. the command. j - - - ; processes the Calls a Command 1 - - - 1 CZAMZl Uses Task

input string. System routine to Monitor to dispatch

~ execute function. requested routine.

Returns to colling routine

CZAMG2: Find the name of the routi ne to be called - giving

LVPSW

- TASK MONITOR

R 13: ptr. to sove area R 14: CZAMZ19 R 15 and PSW: address of routine disoatchi0g L -___________ ____

: I

I I

I I

I I

I I

I

I

' - - CALL a parameter

ROUTINE THAT IS CALL'S PARAMETER

Execute

Dispatches routi.ne whose address is i + - - in the PSW.

-

L..-_ _ _ _ _ _ -'

I

I

: I

I I

~

YcCZAMZ2: Cleans

I - - - -.. ~'>, CZAMZ19 up and does level

L-_ _ _ _ _ - J l checking. Normally

Nate: The pes logic shown in the center of this diagram is not descri bed further; n this publication. See PCS PlM.

e"its. to CZAJ'vi,ZI's calling routine. In ti,is case, exit is one step further back.

Figure 5. Execution of PCS commands with Direct Call Terminating A Conversational Task

Since conversational users are available to handle error conditions, conversational tasks are terminated only at the user's request, except in cases of system shutdown, major system errors, or terminal failure.

The LOGOFF command routine handles the normal termination; this ensures an orderly conclusion to the task. When LOGOFF has finished, i t informs the task monitor which eliminates the task by deleting its task status index and by making its storage available to other tasks. The only trace of the task remaining after this operation is the cataloqed data sets, if any, that have been retained.

Terminating A Nonconversational Task

Nonconversational tasks may be terminated either normally or abnorm- ally. Normal termination is the same as a conversational task termina- tion except that the SYSOUT data set, which contains all system communi- cations to a task, is printed. The SYSOUT data set will be listed at the computer center. Another difference is that LOGOFF, when processing a nonconversational task, notifies the batch monitor t.hat the task has ended. This notification is required to permit thp batch monitor to update its records.

(19)

VMTJ 1

CZAAF

SENSITivE-TO' - - --.1

ENVIRONMENT LOGON

I I I I CZAFM

VMTI 2

---

CZATO

~

~

LOGON2

---

eZBTB

:

COMBINED DICTIONARY

I

DEFSEARCH

~

ClATE4

SYSPRO

:

SYSPRX

LlSTEf!

CZATE!

, - - - -

BUILDLIST

CZATE2

I I I I

I I I I

I

~

~~~~~g~~E

______

.J

~~~~l-

____________

~S~~~NO~N~Y~M~/~D~E~FA~U~L!T~C~Z:A~SA~'~~~

I DICTIONARY " -\ J

HANDLER

JYNONYM

~CTZ_AS_D~PT'..L- ~~:~NER

Cl A5A2"

I SYNONYMI NONPRIl/IL EGED

I DEFAULT 8UIL TINS

" ~ _ . _ CA?,MALMyAZN[DR BUILTIN

1

I CIATR

A~D t:=========~==~PROCESSOR~

I EXECUTOR Cl" or,'

: ~ ~ 1 CZASA1·-4 PRIVILEGED BU;LT:NS

ATTENTION GATE

~

SOURCE

~

I

USERS

~C~NOLER >-:-- I LIST -..f?\ I

5ENSiTMC T O ; " " ' : " : HANDLERS - 0 / AT REMOVE

~~~WM£NT cZATel CZASC

r'

I I I I I I I I I I I I I I I I I

I DiRECT CALL"- I

SOURCE LIST

T;;:-,;~."

i

g~~AY

PCS PHASE I

i O!Rtc.7 CALL

r·_· _. -...

·~·t

rS-Y-S-X-PA-'T'--o (3) USER .-JpLC-S-'pLH-A-S'E

~ ~g~~~~~

___

n

CZATF CZAMZ CZANA

1 I

USER DYSMLF

PROMPTER

: --

I ClATJ

pes PHASE ill

CZ4PB I

I I I I I I I S£NSlnVE TO ~-~ ~.~

ENVIRONMENT

,..--

I I I I I I I I

USER CODE AND LPC

f-',RtVIL[(;rD /iU/L fiNS

PROCESSING MODULES

~"-:y---~

SYNONYM ....

'VOtvPRWI! t Gt U --..-

COMMAND LABEL DESCRIPTIVe LABEL NO CONTROl" PASSEO BUILT IN CALL I NONPRIVILEGEO CODE

L -______________ ~ __________ ~~~~~~~_L~ _ _ _ _ _ _ _ _ ~ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ~

Figure 6. Modular relationship of the command system

A nonconversational task will be abnormally t{,rminated whenever an uncorrectable error is detected. In this case, t:he command system for- ces a premature logoff. The SYSOUT of the task will be printed, and i t will include a statement that reveals the cause of the abnormal

termination.

(20)

Processing Macro Instructions

Command system makes no distinction between processing a command or processing a macro instruction, except in one situation. When some com- mand routines are handling a macro instruction, they set indicators so that the macro instruction will not issue messages, but will return to the calling routine a code that reveals the success or failure of the routine. In all other aspects, the command routine operation functions in the same manner as if a command were being processed.

Some command system routines are accessed only by macro instructions.

These routines do not ordinarily issue messages, but they do return a code to the calling routine.

When a macro instruction is being processed, there is a direct link between the user's object program and the command system routine; the Command Analyzer and Executor is not involved. This means that the cal- ling routine must perform any error recovery procedures that may be required.

System Shutdown

When the main operator issues a SHUTDOWN command, every active task, except the operator's, is terminated. Conversational users will receive messages that inform them that their tasks have been terminated. Non- conversational tasks will be terminated by the batch monitor. which issues a message to the SYSOUT of each task to explain the reason for termination. After all tasks have been terminated, the operator is informed. and his own task is terminated. He may then physically shut down the system.

(21)

SECTION 2: COMMAND CONTROLLER

The command Controller consists of the Command Analyzer and Executor routine, and six system support routines. The Command Analyzer and Executor (hereafter: Command Analyzer) obtains the next command to be processed, and determines the verb type from the control dictionaries.

The verb type dictates the remaining scan to be used for each verb. The names and fUnctions of the six system support routines are:

Routine Name Function

GATE Reads system input (SYSIN) and writes system output (SYSOUT) •

SCAN Fetches and validates command parameters for both privileged and nonprivileged routines.

User Prompter Communicates with system us en:; •

Attention Handler Accepts and interprets the synchronous attention interrupts from the task .monitor.

Source List Handler Services the source list.

Control Dictionary Provides access to the combined dictionary.

Handler

The command Controller provides an interface between the remainder of the command system, and the SYSIN and SYSOUT data streams. Command pro- cessing is initiated by the Command Analyzer, which is the basic control routine. When each command has been completed or terminated, control returns to the Command Analyzer. The six support routines are employed as needed. The following paragraphs describe the overall operation of the Command Analyzer, and the support routines.

COMMAND ANALYSIS AND EXECUTION

Command ana lysis and execution is generally done in three steps: (1)

tne verb is recognized, (2) the verb operands are translated, and (3) the verb is executed. The Command Analyzer is invoked upon initial task entry. In addition, i t may be invoked recursively by a user, upon

intervention of an object program, or during control of language proces- sors. Verb resolution is performed by the Command Controller after cal- ling the Verb Scanner (a part of the Command Analyzer). A transient command that is designed to be passed to a language processor at a spe- cific place will cause the remainder of the line t.o be bui It into a single string, and passed to the invoked language processor, if a pro- cessor is defined.

When the verb is a user or system procedure verb, command analysis calls the Procedure Expander to analyze the paramE!ters, and to expand the procedure. The output from the procedure expansion is added to the source lists.

When command analysis uncovers a conditional s1:atement, the PCS Phase 1 IF routine is called to expand the condition, and the object executor to determine the value of the IF condition. If the condition was not true, a special scanner is invoked to find the end of the statement.

Otherwise, the text of the statement is begun by the Command Analyzer.

(22)

An AT verb invokes the AT Analyzer and enables the dynamic statement switch. Thus, the remaining statements in the line are analyzed, but they are not executed until the AT is satisfied. In this case, state- ments which are not executable dynamically are recognized, and appropri- ate diagnostics are produced.

If the verb was found to be DISPLAY, DUMP, SET, or a program call, then the program parameter list analyzer (PCS FORMLIST and PCS Phase 2 parameter processing> is called to analyze the parameters; the commands are invoked by the appropriate execute routine: DISPLAY/DUMP, SET, or LINK.

Recognition of a DEFAULT or SYNONYM verb results in a call to the DEFAULT/SYN processor to make the appropriate changes to the primary control dictionary.

If the verb was GO, then the last uncompleted program will be

resumed. Any commands that were still unexecuted in the source list at the time of intervention will become eligible for execution upon comple- tion of the uncompleted routine. Any commands in the source list fol- lowing GO will be discarded.

When a program issues an LPCINIT macro instruction, it causes the Edit controller to be initialized, and the calling program is treated as a language processor controller. A subsequent LPCEDIT macro instruction issued by the language processor controller will cause the LPC to

receive input. Any subsequent EDIT commands recognized by the Command Analyzer will cause the EDIT command processor (a part of the User Con- troller) to be called. The EDIT command processor in turn calls the appropriate Edit routine, which, on completion, E'xits back through the EDIT processor to the Corrwand Analyzer.

GATE ROUTINE

Normally, GATE either reads from SYSIN and/or writes on SYSOUT, as requested by the calling routine. Four types of writing capability are provided:

• Write with available response (fetch the next record from SYSIN after writing)

• Write with spontaneous response (read the next record from the key- board after writing)

• Write with no response

• Write with carriage control and no response SCAN PACKAGE

This package is used by command routines to validate command parame- ters as well as to fetch those parameters. 'I'he SCAN package consists of six routines, whose names and functions are:

Routine Name NEXTPAR CHEKDS ALFNUM

Function

Locates the next parameter field, and inspects i t for invalid characters.

Checks a data set name for valid form and characters.

Checks for a valid symbol.

(23)

NUMSTG Checks for a string of valid numeric characters.

CHKNUM Checks a string of numeric characters, and converts them to a binary value.

ALFBET Checks for a string of valid alphabetic characters.

USER PROMPTING

System programs use a centralized message communication facility to communicate with external users of TSS/360 Messages, responses, and explanations for messages are defined by system users. All of this information is cataloged in a central file; a call to the User Prompter retrieves it. When the User Prompter is called, via the PRMPT macro instruction or the PRMPT command, i t converses directly with the extern- al user by displaying messages and explanations, and by reading his responses. When the conversation has been completed, the User Prompter returns to the calling program a code that indicates the response to the original message.

ATTENTION HANDLING

The Attention Handler accepts interruptions fron: the task mom tor, and interprets any input which may occur. The possible responses by the system are as follows:

1. Intervention is prevented if the Attention Int,erruption Prevention switch (AlPS) is set and control is returned normally.

2. A user routine (specified in an AETD macro instruction) is given control to handle the attention interruption.

3. The current process is interrupted, and commands are accepted from the console at a new level.

4. The attention interruption is ignored (an immediate carriage return at the terminal).

SOURCE LIST HANDLING

The Source Li~;t Handler processes all entries and deletions to the source list. The source list contains all of the commands that have been entered into the system by the user. Whenever there are no com- mands in the source list, the Source List Handler will call GATE to issue an underscore and backspace to the user.

The following routines allow manipulation of the source list:

1. PUSH/POP routine.

2. Buffer fetch routine.

3. Marker processors.

4. Synonym expander.

5. UPDATE routine.

6. SYSIN routine.

(24)

CONTROL DICTIONARY HANDLING

The Control Dictionary Handler processes all requests regarding the combined dictionary. The combined dictionary, which is the source of the names of all procedures, synonyms, and defaults, is created by the LOGON2 routine (CZBTB).

This routine utilizes a set of internal subroutines and macro

instructions, which operate on any dictionary of the form of the control dictionaries. The following routines and handlers are available:

1. STARTFIX routine.

2. STARTVAR routine.

3. HASH macro instruction.

4. RFR routine.

5. NEXTRFR routine.

6. ENTR routine.

7. DELENT routine.

8. EXTDIC routine.

9. PACKVAR routine.

THE COMBINED DICTIONARY

The Dictionary Handler Module (CZASD) is capable of handling any hashed entry. In the command system this module processes entries for the combined dictionary.

The system references: a synonym dictionary, default dictionary, BUILTIN procedure library, textual procedure library, an internal symbol dictionary, and a task dictionary which lists external symbols. These dictionaries cover the range of the language that is used by the system

(the vocabulary of the system>.

The formation of a combined dictionary permits a reduction of search time. However, it is not possible to include all of the individual dic- tionaries in the combined dictionary. The internal symbol dictionary and task dictionary are not included in the combined dictionary.

Each entry in the combined dictionary is known by an eight-character name; some information about the kind of entry (source, purpose) is included. Entries containing less than 200 bytes are inserted directly into the combined dictionary. Larger entries contain a pointer in the dictionary entry. Pointers are used for system modules and procedures;

values are used for command variables, synonyms, and defaults; in gener- al, the combined dictionary contains the value.

The LOGON2 routine (CZBTB) contains the scheme for creating the com- bined dictionary; it allows the user dictionaries to be constructed from the user and from system information. In this manner a centralized repository of vocabulary is established.

The system library provides a source of information for the combined dictionary. BUILTIN and textual procedure names are obtained from a data set called SYSPRD, which is a dictionary of system procedures and system BUILTIN procedures. SYSPRD is established at the same time that SYSLIB is established, and i t becomes part of the combined dictionary

Références

Documents relatifs

This routine presents the fully qualified name(s) and certain attributes of the cataloged data set{s) specified by the user.. If a partially qualified data set

Functional Description: The user's combined Dictionary will be searched for the specified term. Functional Description: GO gives control to the roost recently

A linkage edi- tor user can also, without having to reassemble or recompile his program, combine control sections (pos- sibly saving external s1torage and

Sl3Ction 2: Systea Bacro Instruction Descriptions 121.. This facility makes i t possible to close data control blocks and their associated data sets in

CANCEL, JOIN (full eight-character user IDs and all privilege classes except A and F), LOGON, LOGOFF, DSS?, LINE?, and QUIT command options indicated in

The purpose of the DDEF command is to allow the user to specify those data sets that are to be created or proc- essed during the execution of his program or the com- mands

Precise results are obtained from all fixed-point modules except complex civision and complex ABS, where small truncation errors inevitably occnr, and the ADD

However, the user can vary the degree of language stringency imposed on the compiler by using the ORDER and REORDER options in the PROCEDURE and BEGIN