• Aucun résultat trouvé

REQUEST DESCRIPTIONS

Dans le document MANUAL REAL-TIME (Page 27-30)

I

9

I

1

P

l

o_~

$FFFF

---I

4

I

4

I

$0000

I

1

I

4

$FFFF

E +0

- .

5 6

12

LOG2 + 0

LOG2 + N

LOG2 + M

N T

-NUMLU

Q

lu assigned address of request

Figure 3-1. Request Threading Layout parameter checking. The protected parameter list is then

threaded normally. On completion (or if the job is terminated), the parameter list is unprotected.

SCHEDULE AND TIMER REQUESTS

Since system programs make many scheduler and timer requests and cannot conveniently wait for a request to be completed before making a new one, parameter lists from these requests are moved to a list and similarly threaded to input/output requests.

After a request has been threaded, control returns to the address following the request. Schedule requests made for a priority that is higher than the current running priority interrupt the requesting program and the scheduled program is executed.

If the list for scheduler and timer requests is filled when a new request is made, the sign bit of Q is set to 1; otherwise it is set to

o.

Bit 15

o

Request is accepted

1 Request is rejected Bits 14 through 0 Unchanged

When the stack is full, new requests are rejected until space is available.

REQUEST DESCRIPTIONS

The requests available with RTOS are applicable to both resident and nonresident programs.

The mnemonic names correspond to the MSOS request macro instructions but RTOS does not support the use of a macro assembler. Otherwise, the request parameters and calling sequences are identical to those for MSOS.

RTOS ignores the d-bit field provided for MSOS part 1 (65K absolute) requests; i.e., RTOS handles requests as if d were set to

o.

READ/FREAD/WRITE/ FWRITE

READ/WRITE instructions transfer data between the speci-fiedinput/output device and core. The word count specified in the request determines the end of the transfer.

FREAD/FWRITE requests read/write records in a specific format for each device.

The request codes are 1 (READ), 2 (WRITE), 4 (FREAD), and 6 (FWRITE). The calling sequence generated by the macro is as follows:

The field descriptions for the READ/WRITE/FREAD/-FWRITE requests are the same except for parameter n:

rc The request code the request by the system at completion Detailed parameter descriptions for the requests are:

3-4 library directory, indicating the program to be executed upon com"pletion of the requested I/O operation.

Completion routines are operated by threading the I/O requests on the scheduler thread. A

three-bit code in the v field of the fourth word of the request indicates the completion status:

15 14 13 Description end-of-tape, successful after recov-ery, etc.) is dependent on the determined by parameter x.

o

The minimum information is transferred words as an illegal request.

m is the mode; it determines the operating condi-tion (binary/ASCII) of a driver.

96769500 A

1 Data is converted from ASCII to external this device. This request establishes the order in the I/O device queue. It is automatically 0 for unprotected requests.

cp is the completion priority (15 through 0). the level at which the sequence of the code specified by parameter c is executed. It is automatically 1 for unprotected requests. (See Interrupt Levels and Priorities. section 2. for an explanation of priority levels.)

a is the absolute/indirect indicator for the logical

is the relative/indirect indicator; this parameter affects parameters c. s. and n as shown here.

Because of the wrap-around feature. computed addresses may be before or after the ad-dress follows the request.

s is a core location that contains the starting ad-dress. If the request is on mass memory. the mass memory address follows the core location that contains the starting address. con-taining another positive in-crement. If the request is on mass memory. the loca-tion containing the second increment is immediately followed by two words which con-taining the block size.

n is a positive increment added to the address of the first word of the parameter list to obtain the location containing the block size.

the part 1 request indicator that is ignored.

Mass Memory Address Format:

15 14

o

following the mass-storage address.

INDIR REQUEST

The INDIR request allows indirect execution of any other request as determined by the parameter list referenced by p.

tIf bit 15 is set for (n) or (s). incrementing continues indirect until bit 15 is not set.

The calling sequence is: enclosing the address in parenthesis.

To be compatible with programs that can run in MSOS part highest priority. All programs specified by SCHDLE requests are entered by a simple jump and exited by a jump to entry point DISP or by an EXIT request. The value in the Q register is passed to the requested program on entry.

The SCHDLE request code is nine and the calling sequence

x is the relative/indirect indicator.

(c) is indirect

3-6

x is meaningless and c represents an index to the system directory.

The entry referred to by the the execution location. Because IS-bit arithmetic is used, the execution location may be before or after the SCHDLE request.

f. 0 or not blank (c) indirect is illegal. a reserved core area for the scheduler list and threaded first by priority and second on a FIFO basis within priority.

The queuing subroutines make entries to the list and the dispatcher removes entries.

When an input/output request is completed, the driver causes the completion routine to be executed by threading the input/output request directly to the scheduler list. This process avoids filling the reserved core area with

Dans le document MANUAL REAL-TIME (Page 27-30)

Documents relatifs