• Aucun résultat trouvé

CONSOLE COMMUNICATIONS

Dans le document SPERRY UNIVAC Series 11 00 (Page 157-167)

FILE,*PRINTR FILE,*DISC1,QXYZ

4. Executive Service Requests

4.6. CONSOLE COMMUNICATIONS

4.6.1. Console Output and Solicited Input (COM$) Purpose:

I

4-22

PAGE

To request use of the onsite operator's console to display output messages and solicit operator input.

Format:

L,U AO,pktaddr ER COM$

This linkage can also be generated by the procedure call:

C$OM pktaddr Description:

Pktaddr is the address of a packet whose format is:

00 error-code console-class control-bits

0 output-char-count

(maximum 511) 01

expected-input-char-count (maximum 60) 02

actual-input-char-count

output-buffer-addr

input-buffer-addr

~~~

________ V_o __ lu_m __ e_2 __ E_X __ EC ______________________________________

~_U_PD_A_TE_L_E_VE_L

____

~_PA_G_E_-

____ __

This packet can be generated by the procedure call:

C$ 0 M PK,co n sol e-c I a sS,co ntro I-b its

output-char·-count,count-buffer-addr,expected-input-char-count,input-buffer-addr Word 0

error-code

console·-class

control bits

actual-input-char-count

Word 1

output-char-count

output-·buffer-addr

Contains a COM$ request error code (see Appendix C) if an error is detected in the packet (the activity is also p!aced in error mode).

The user may direct the message to specific console devices by specifying the appropriate console class code. The codes are:

o -

System console messages - I/O activity console messages 2 - Communications console messages 3 - Hardware confidence console messages

4-7 - Four additional message categories may also be used to direct messages to specific console devices. The class code for these categories may be defined for individual site applications of the particular Series 1100 system being used.

Bit 20 = 1 Indicates that the console message and response is in quarter-word ASCII. If bit 20

=

0, Fieldata format is assumed.

Contains the number of input characters received. Always less than or equal to expected input character count.

The number of characters in the message to be displayed. The message is restricted to 511 characters. Each character is edited and invalid characters are deleted from the message. For Fieldata requests, the character codes 00-04 are illegal. For ASCII, the character codes 00-037 may not be displayed. If this field is zero, the COM$ request is ignored. The first 54 (62 for the Executive) printable characters are displayed on the CRT. For systems with 4009 consoles, the first 72 (80 for Executive) printable ch:nacters are displayed on the console printers. For systems with 4013 consoles, the first 100 (108 for Executive) printable characters are displayed on the console printers.

The address of the program buffer containing the output message.

The characters of the message are obtained from successive sixths of a word (for Fieldata), beginning with S 1 of the first word of the buffer;

or successive quarter words (for ASCII), beginning with Q 1 of the first word.

4144.23 UP-NUMBER

Word 2

SPERRY UNIVAC SERIES 1100 Executive System

Volume 2 EXEC UPDATE LEVEL

4-24 PAGE

expected-input-char-count When this field contains a nonzero value, a consoie operator response is solicited. The activity executing the COM$ request is placed in a wait state until the input message is complete. If the input message exceeds the expected character count, the input message is discarded and the console operator is requested to retype the message. When no input message is desired, set this field to zero. The maximum number of characters permitted in the input message is 60.

input-buffer-addr The address of the program buffer that holds the input message. Input is returned to the requestor in the same character code as that specified in the COM$ packet. Console input for both ASCII and Fieldata is stored left-justified, starting in the first word of the input buffer. If the last word of the input message does not contain six Fieldata characters, or four ASCII characters, the remainder of the word is filled with blanks (05 or 040).

4.6.2. Wait for Unsolicited Console Input (11$) Purpose:

Provides a means to define the activity which is to accept any unsolicited console input directed to the program.

Format:

ER 11$

Description:

The activity executing the 11$ request is deactivated as for a DACT$ request (see 4.3.3.3); however, the activity need not be named. If named, it may be reactivated using an ACT$ request (see 4.3.3.4).

If it also has the interactivity interrupt contingency registered, it may be activated via an INT$ request (see 4.3.3.5). An 11$ request is not allowed when an 11$ activity has already been defined for the program.

Unsolicited console input of up to six characters in Fieldata is stored (left-justified, space filled) in the activity's AO register, and the activity is activated.

After activation (by either ER ACT$, ER INTS or console input), the activity is no longer defined as the unsolicited console input activity. The same activity or some other activity must execute another 11$

request to redefine the unsolicited console input activity.

Unless the program is guaranteed that unsolicited input occurs to cause the activation of the 11$

activity, the activity must be named and activated by an ACT$ request prior to program termination.

Failure to do this aborts the program and the message "AWAIT IOACT AMBIGUITY" is placed in the program's PRINT$ file.

The console input activity is also activated by the remote terminal BREAK keyin. Since no input is actually received, register AO is space filled.

UP-NUM!~~

_________ V_o_l_u_m_e __ 2 __ E_X_E_C ________________________________________

~~U_P_DA_T_E_LE_VE_L

______

~._PA_G_E

_____ ____

4 .. 7. PROGRAM STORAGE CONTROL

4.7.1. Main Storage Expansion (MCORE$) Purpose:

PEHmits user program to request additional main storage for any bank.

Format:

L AO,(parameter) ER MCORE$

Description:

The format of the parameter is:

BDI highest-address-req.

This request expands the specified bank, if necessary, to a size sufficient to include the highest address requested. If the BDI (Bank Description Index) is zero, the request indicates that one of the two banks of the active PSR is to be changed. The address requested by the activity is assumed to be in the I-bank if the address is less than the first D-bank address produced in the collection.

Otherwise, the address is assumed to be a D-bank address.

If the main storage requested is already assigned to the bank, control returns to the requesting activity with no other action taken. If the storage is not already assigned, the requesting activity is deactivated until storage can be made available by swapping this or some other program. The additional storage is available to all activities of the program (including ESI completion activities) when the requesting activity is returned control. All activities (regardless of program) which have a common bank based will have the expanded size available before the activity requesting expansion is returned to control.

Additional stora~}e cannot be obtained if any activity of the program is in real-time status, unless the storage can be obtained without moving the program. A common bank may not be moved to satisfy an expansion request if any activity of any real-time program has the common bank based.

Non-real-time programs are swapped, if necessary, to make the requested storage space available (see 4.7.3 for additional restrictions on the use of MCORE$).

4.7.2. Main Storage Contraction (LCORE$) PurposH:

ReleasEis unneeded main storage in any bank.

4144.23

UP-NUMBER

Format:

SPERRY UNIVAC SERIES 1100 Executive System Volume 2 EXEC

L AO,(parameter) ER LCORE$

Description:

I

UPDATE LEVEL

I

PAGE 4-26

This request releases storage, if necessary, from the specified bank. The bank is of the smallest size necessary to contain the parameter specified address. The parameter contains the address and BOI of the bank to be changed. The format is the same as for MCORE$ (4.7.1).

If the BOI is zero, the address specified is assumed to exist in the I-bank of the active PSR if the address is less than the first D-bank address produced in the collection. Otherwise, the address is assumed to be a D-bank address.

The entire bank can be released by specifying the first address of the respective bank. Before programming a release of the control bank, however, one must ensure that necessary Collector-produced tables are not contained in the control bank.

When main storage is actually released, the segment load table is updated. If the segment is in main storage at the time of the release and any part of the segment is no longer within the program's area, the segment is marked not in main storage. If the control bank is dynamic and not currently active, the update of the segment load table is not performed. All I/O for a program must be completed before a program bank can be contracted. All I/O for all programs with the common bank based by any activity must complete before an LCORE$ for that common bank is completed.

When control is returned to the requesting activity, the storage is no longer available to any other activity (including ESI completion activities) of the program. Multiactivity programs must ensure that no other activities are currently using the space to be released, or guard mode faults will occur.

4.7.3. Restrictions on the Use of MCORE$/LCORE$

There are certain restrictions imposed on the use of MCORE$/LCORE$ to protect the program and system integrity.

The restrictions on MCORE$/LCORE$ which, when violated, take the requestor to error mode are:

1. No write-protected bank can be modified using MCORE$/LCORE$.

2. A program may not request more storage than all of user storage. The determination of total program size is made at the time of request and assumes the bank at its expanded size. The total program size is the sum of:

a. All program static banks

b. All program dynamic banks with a nonzero use count.

c. All common banks to which the program is attached.

d. The PCT bank.

3. A real-time program is not swapped to accommodate Hxpansion.

UP-NUMB:_R _ _

~,

_ _ _ _ \.'_o_l_u_m_e_2_E_X_E_C _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ....L.U_P_DA_T_E_LE_VE_L _ _ -'--PA_G_E _ _ _ _

4. The program may not release an area currently in use as communication buffer pools.

5. A common bank can not be modified with MCORE$/LCORE$ unless the requesting activity has the Gommon bank based.

4.7.4. Main Storage Absolute Addressing (ABSADS) Purpose:

Allow access to main storage by absolute address.

Format:

L,U AO,pktaddr ER ASSAD$

Description:

The pack,st pointed to by pktaddr can have two formats. ASSAD$ distinguishes between them by checking T 1 of word 1.

2-word format (absolute address):

00 number of 0100 word blocks of main bank descriptor index of a zero length

storage being requested program bank

01 absolute address of start of the main storage area being requested (multiple of 0100)

-3-word format (module name) (not used on 11 00/80A):

00 number of 0100 word blocks of the bank descriptor index of a zero length storage module being requested program bank

01 logical name (Fieldata left justified space filled) of storage module containing requested area

02 0100 word block offset from the beginning of the module to the start of requested area

The main storage must be in a reserved state (via an operator RV keyin). Control is returned following the ER with one of the following statuses in AO:

o -

Successful completion.

1 - Improper SDI. The SDI is not defined, or the indicated bank is not zero length.

2 - Part or all of the requested main storage is not reserved, or the requested area is currently held by some other program, or the request went beyond the end of a storage module.

4144.23

UP-NUMBER

SPERRY UNIVAC SERIES 1100 Executive System

Volume 2 EXEC

I

UPDATE LEVEL

I

PAGE 4-28

3 - The requested area was not accessible. Either the area contained addresses outside the main storage chain, or the module was not described in the Master Configuration Table.

In the latter case, AO increment contains the status returned to ABSAD from MCT$.

In order to set the PSR and storage limits so that the activity does not guard mode when trying to access the reserved storage, it is necessary for each referencing activity to LBJ (or LlJ or LDJ) to the bank after the main storage has been acquired. Note that having the bank initially based or doing an LBJ to the bank before acquiring the main storage does not allow the program to access the reserved main storage acquired via ABSAD$.

On 1100/80 Systems with 4x4 capability, the three-word packet format is not permitted. All requests using the three-word packet format will be rejected and a status of 02 returned in AO.

The LCORE$ request (see 4.7.2) may be used to release main storage acquired via ABSAD$. Any reserved main storage which is not released is returned to nonheld state when the program terminates. Note that the reserved status is at no time altered by being acquired via ABSAD$ or released via LCORE$.

4.7.5. Segment Loads (LOAD$) Purpose:

Loads a segment of a program.

Format:

L,U AO,seg-name or L AO,(0400000,seg-name) L,U A 1,jump

L,U A2,rseg-addr or L A2,(bank-name,rseg,addr) ER LOAD$

Parameters:

seg-name

jump

rseg-addr

bank-name

Specifies the name of the segment to be loaded. Seg-name is the same as the contents of the name-1 parameter in the SEG directive (see Volume 3-2.2.14) or 0400000 meaning the main segment.

Specifies the location where control is to be transferred after the segment is loaded; if omitted, control passes to the location following the LOAD$ request.

If the segment was defined by an RSEG directive, this parameter specifies the starting address for the relocatable segment. If omitted when loading a relocatable segment, the address must be in register A2 before the call is made:

L,U A2,rseg-address

The address may be defined as an octal value or a tag not contained in an RSEG.

Used only for loading an RSEG within a bank-named collection.

Specifies the bank into which the RSEG is to be loaded.

4144.23

UP-NUMBER Volume 2 EXEC UPDATE LEVEL

4-29 PAGE

~

SPERRY UNIVAC SERIES 1100 Executive System

, _ _ _ _ _- - - - L . . - . - - - - L . . - - _

Description:

WhenevEH a segment is loaded, an initial copy of the segment is loaded. Once loaded, a segment remains marked as loaded until all or part of its main storage space is overlayed by another segment or released via EH LCORE$ (see 4.7.2).

When bit 35 of register AO is set, the segment loader does not clear the main storage area to be occupied by the ~egment. This decreases the time required to load the segment, but as a result, any areas within the segment that are not initialized with data and instructions cannot be assumed to be zero.

Although the main segment of every program is always automatically loaded at the start of execution, and stays loaded throughout execution, it is possible to reinitialize a program by reloading the main segment using the value 0400000 instead of segname. This causes all other program segments to be markHd as unloaded. See Volume 3-2.2.4.5.1 for L$OAD procedure and ER LOAD$ examples.

4.7.6. Down by Track (BDSPT$) Purpose:

Provide a means for the user to remove a track from the system's mass storage pool. Input to BDSPT$

can be a file relative granule or a list of device area descriptions.

The BDSPT$ Executive Request can only be performed by privileged runs.

Format:

The format of the BDSPT$ request for file relative granule input is:

L AO,(O,pktadr) ER BDSPTS

The pktaddr 10ad13d into register AO references a packet having the following format:

00

internal filename 01

-02

-03

:: t

0 mass-storage-address

4144.23

UP-NUMBER

SPERRY UNIVAC SERIES 1100 Executive System

Volume 2 EXEC

I

UPDATE LEVEl

I

PAGE 4-30

Word 5

This word contains the logical mass storage address at which the described liD operation is to start.

This address is relative to the start of the mass storage filEl; the handler determines the absolute address. For sector-formatted mass storage files, the address is the start of a sector, and 'consecutive addresses are 28 words apart.

If Bit 35 of word 5 is set, a modified packet is defined with the following format:

00

01

02

03 status

04

05

Word 03 Status

Flag Cell

Word 04

Track Count

DAD Status Bits

internal filename

I

flag cell

track count DAD status bits

mass storage address (file relative)

010 Flag cell conflict.

020 Starting file relative address bad (beyond HGA).

021 Track count bad (file relative address plus track count is beyond file's highest granule assigned, bit change is made through HGA).

Indicates the type of status changes to be made. The allowable types are:

1 Set Status 2 Clear Status

Specifies the length, in tracks, of the area to be changed. This allows the status bits to be set or cleared in more than one DAD per request (with the exception of the BADSPOT flag).

Master bitted status setting or clearing:

001 Badspot

010 DNR (Do Not Read) 020 DNW (Do Not Write)

Note that clearing the badspot bit is not allowed. The DNR and DNW bits are used to prevent the reading or writing, respectively, of specific file relative areas described by individual DAD entries.

~~~~

________ V __ o_'u_m __ e_2 __ E_X_E_C ______________________________________

~u_p_DA_T_E_LE_V_EL

____

~_PA_G_E_-

____ __

Word 0!5

Mass Storage Address

Description:

Bit 35 set signifies new format packet. Bits 31 thru 0 identify the file relative sector address (word address for WAD file) of the area requested for status change. For DNR and DNW setting and clearing, the DAD entry which contains the requested file relative address is set or cleared. Badspot handling is not altered.

This function of BDSPT$ marks the file relative granule specified to eventually be removed from the system's mass storage pool. The actual removal of the track is delayed until the granule is released from the file, either by an I/O REL$ or by deletion of the file. It also allows the setting and clearing of DNR and DNW bits in the DAD entries.

Format:

The format of the BDSPT$ function for relative track address input is:

L AO,(pktlength,pktaddr) ER BDSPT$

The pktaddr loaded into the lower half of AO references a packet being pktlength words in length having the following format:

00

I

000002

01 device relative address

02 number-of-contiguous-words = 03400

03

I

LDAT - index

-; pktlength-1

0-::-

/

04~

Word UHO of the packet contains a function code which must be equal to two.

Word one of the packet is the first word of the first DAD. Device relative address is of the same type as that which appears in a master file directory granule table. Disk addresses are not accepted.

Description:

This function of SDSPT$ checks to see if the input addresses are already removed from the available mass storage pool. If the input addresses are available, the tracks are removed from the mass storage pool immediately.

When E!IDSPT$ returns control to the user, register AO contains the original packet address in H2, the original contents in 53, and any possible error condition in T 1.

4144.23 UP-NUMBER

SPERRY UNIVAC SERIES 1100 Executive System

Volume 2 EXEC

I

UPDATE LEVEl

I

PAGE 4-32

On return, if AO is negative, the following error conditions apply:

T1 of AO 04001 04002 04003 04004 04005

04006 04007

ERROR

Run doing BDSPT$ was not privileged.

Pktaddr was not within program limits.

User file specified not assigned ..

Illegal function specified.

Encountered at least one illegal address. Packet words containing legal addresses are zeroed out and words containing any illegal addresses are left as they were.

System problem caused ER not to be completed (e.g., system cannot assign SYS$*DOWNEDTRACKS file).

An error status is returned in the packet status cell.

4.7.7. Communicating with the SMU (SMU$) Purpose:

To allow a requestor to pass PANL directives from the 1100/80 CPU to the PANL program executing in the System Maintenance Unit (SMU) and also to allow the same requestor to terminate the passing of PANL directives by terminating IMI mode.

Format:

L,U AO,PACKET

Dans le document SPERRY UNIVAC Series 11 00 (Page 157-167)