Page 1¶
SINTRAN III J-version¶
Release Information¶
ND-60.230.01
Norsk Data
ND
Page 2¶
SINTRAN III J-version¶
Release Information¶
ND-60.230.01
Page 3¶
NOTICE¶
The information in this document is subject to change without notice. Norsk Data A.S assumes no responsibility for any errors that may appear in this document. Norsk Data A.S assumes no responsibility for the use or reliability of its software on equipment that is not furnished or supported by Norsk Data A.S.
The information described in this document is protected by copyright. It may not be photocopied, reproduced or translated without the prior consent of Norsk Data A.S.
Copyright © 1984 by Norsk Data A.S
Page 4¶
Manual Information¶
This manual is in loose-leaf form for ease of updating. Old pages may be removed and new pages easily inserted if the manual is revised.
The loose-leaf form also allows you to place the manual in a ring binder (A) for greater protection and convenience of use. Ring binders with 4 rings corresponding to the holes in the manual may be ordered in two widths, 30 mm and 40 mm. Use the order form below.
The manual may also be placed in a plastic cover (B). This cover is more suitable for manuals of less than 100 pages than for large manuals. Plastic covers may also be ordered below.
| A: Ring Binder | B: Plastic Cover |
|---|---|
Please send your order to the local ND office or (in Norway) to:
Norsk Data A.S
Graphic Center
P.O. Box 25, Bogerud
0621 Oslo 6, Norway
Order Form¶
I would like to order
- Ring Binders, 30 mm, at nkr 20,- per binder
- Ring Binders, 40 mm, at nkr 25,- per binder
- Plastic Covers at nkr 10,- per cover
Name
Company
Address
City
Page 5¶
I'm sorry, but the image appears to be blank. Could you provide a clearer image or more context?
Page 6¶
Printing Record¶
| Printing | Notes |
|---|---|
| 01/85 | Version 01 |
SINTRAN III J-version Release Information
Publ.No.: ND-60.230.01
January 1985
Norsk Data A.S
Graphic Center
P.O.Box 25, Bogerud
0621 Oslo 6, Norway
Page 7¶
Manuals Update¶
Manuals can be updated in two ways, new versions and revisions. New versions consist of a complete new manual which replaces the old manual. New versions incorporate all revisions since the previous version. Revisions consist of one or more single pages to be merged into the manual by the user, each revised page being listed on the new printing record sent out with the revision. The old printing record should be replaced by the new one.
New versions and revisions are announced in the ND Bulletin and can be ordered as described below.
The reader's comments form at the back of this manual can be used both to report errors in the manual and to give an evaluation of the manual. Both detailed and general comments are welcome.
These forms and comments should be sent to:
Contact Information¶
| Department | Address |
|---|---|
| Documentation Department | Norsk Data A.S |
| P.O. Box 25, Bogerud | |
| 0621 Oslo 6, Norway |
Requests for documentation should be sent to the local ND office or (in Norway) to:
| Department | Address |
|---|---|
| Graphic Center | Norsk Data A.S |
| P.O. Box 25, Bogerud | |
| 0621 Oslo 6, Norway |
Page 8¶
TABLE OF CONTENTS¶
| Section | Page |
|---|---|
| 1 SINTRAN III J-VERSION SYSTEM LAYOUT | 2 |
| 1.1 PHYSICAL MEMORY | 2 |
| 1.2 PAGE INDEX TABLE 0 | 3 |
| 1.3 PAGE INDEX TABLES 1 AND 2 | 4 |
| 1.4 PAGE INDEX TABLE 3 | 5 |
| 1.5 SYSTEM LAYOUT ON DISK | 6 |
| 1.5.1 SINTRAN:DATA | 6 |
| 1.5.2 MACM-AREA:DATA | 6 |
| 1.5.2.1 LAYOUT | 6 |
| 1.5.2.2 DISPLACEMENTS WHEN PATCHING | 6 |
| 1.5.3 SEGFILE:DATA | 6 |
| 1.6 SINTRAN III SEGMENTS | 7 |
| 1.6.1 SYSTEM INCLUDED SEGMENTS | 7 |
| 1.6.2 OTHER SEGMENTS USED, DEPENDENT UPON THE CONFIGURATION | 7 |
| 1.6.3 SYSTEM INCLUDED RT-PROGRAMS | 8 |
| 2 INSTAL TAD/TAADM | 10 |
| 3 TIME SLICING | 11 |
| 4 SECURITY PRIMITIVES | 15 |
| 5 ND-100 SWAPPING | 16 |
| 6 SINTRAN III MONITOR CALLS | 18 |
| 6.1 MODIFIED MONITOR CALLS | 18 |
| 6.1.1 BRKM (MON 4) | 18 |
| 6.1.2 FIXC5 (MON 61) | 18 |
| 6.1.3 ABSTR (MON 131) | 19 |
| 6.1.4 LAMU (MON 315) | 22 |
| 6.2 NEW MONITOR CALLS | 25 |
| 6.2.1 FSMTY (MON 327) | 25 |
| 6.2.2 TERST (MON 330) | 26 |
| 6.2.3 TREPP (MON 332) | 26 |
| 6.2.4 UDMA (MON 333) | 27 |
| 6.2.5 GETXM (MON 334) | 28 |
| 6.2.6 EXABS (MON 335) | 29 |
| 6.2.7 IOMTY (MON 336) | 30 |
| 6.2.8 SPCHG (MON 337) | 30 |
| 7 GPIB DRIVER | 32 |
NO-60.230.01
Page 9¶
Section¶
| Section | Page |
|---|---|
8 OCTOBUS¶
| 8 | OCTOBUS | 33 |
8.1 OCTOBUS PROGRAMMING DESCRIPTION¶
| 8.1 | OCTOBUS PROGRAMMING DESCRIPTION | 33 | | 8.1.1 | Examples of use | 34 | | 8.1.2 | Possible error numbers | 36 |
9 SINTRAN III COMMANDS¶
| 9 | SINTRAN III COMMANDS | 37 |
9.1 GENERAL¶
| 9.1 | GENERAL | 37 |
9.2 REENTRANT SUBSYSTEMS¶
| 9.2 | REENTRANT SUBSYSTEMS | 37 |
9.3 RENAMED COMMANDS¶
| 9.3 | RENAMED COMMANDS | 37 |
9.4 MODIFIED COMMANDS¶
| 9.4 | MODIFIED COMMANDS | 37 | | 9.4.1 | ∂CHANGE-BACKGROUND-SEGMENT-SIZE | 37 | | 9.4.2 | ∂LOOK-AT | 37 | | 9.4.3 | ∂COLD-START | 37 |
9.5 NEW COMMANDS¶
| 9.5 | NEW COMMANDS | 38 | | 9.5.1 | ∂UE-AUTOMATIC-LOGIN | 38 | | 9.5.2 | ∂CLEAR-BATCH-QUEUE | 38 | | 9.5.3 | ∂DEFINE-SPOOLING-FILE-MESSAGE | 38 |
10 SINTRAN-SERVICE-PROGRAM¶
| 10 | SINTRAN-SERVICE-PROGRAM | 39 |
10.1 GENERAL¶
| 10.1 | GENERAL | 39 |
10.2 COMMANDS REMOVED¶
| 10.2 | COMMANDS REMOVED | 39 | | 10.2.1 | *DEFINE-BASIC-TIME-UNIT | 39 |
10.3 MODIFIED COMMANDS¶
| 10.3 | MODIFIED COMMANDS | 39 | | 10.3.1 | SET-CLOSED-SCRATCH-FILE-SIZE | 39 | | 10.3.2 | SET-SPOOLING-DEVICE-NUMBER | 40 | | 10.3.3 | INSERT-SPOOLING-HEADER | 40 | | 10.3.4 | REMOVE-SPOOLING-HEADER | 40 | | 10.3.5 | INITIALIZE-SYSTEM-SEGMENT | 40 | | 10.3.6 | CHANGE-BUFFER-SIZE | 40 | | 10.3.7 | INSERT-IN-TIME-SLICE | 40 | | 10.3.8 | DEFINE-TIME-SLICE | 40 |
10.4 NEW COMMANDS¶
| 10.4 | NEW COMMANDS | 41 | | 10.4.1 | LIST-TIME-SLICE-CLASS | 41 | | 10.4.2 | LIST-TIME-SLICE-PARAMETERS | 42 | | 10.4.3 | LIST-TIME-SLICED-PROGRAMS | 42 | | 10.4.4 | DEFINE-HDLC-BUFFER | 43 | | 10.4.5 | START-GPIB | 43 | | 10.4.6 | STOP-GPIB | 43 | | 10.4.7 | CHANGE-GPIB-BUFFERSIZE | 43 | | 10.4.8 | CHANGE-TABLE | 43 | | 10.4.9 | MONCALL-LOG | 45 | | 10.4.10 | SWAPPING-LOG | 46 | | 10.4.11 | CPU-LOG | 47 | | 10.4.12 | FIND-CPULOGPTIME | 47 |
10.5 DISK ACCESS LOG¶
| 10.5 | DISK ACCESS LOG | 47 | | 10.5.1 | GENERAL | 47 | | 10.5.2 | MAINTAINING THE DISK LOG | 47 | | 10.5.3 | HOW THE DISK ACCESS LOG WORKS | 49 |
ND-60.230.01
Page 10¶
Section¶
| Section | Page |
|---|---|
| 10.5.4 MON ABSTR AGAINST DISK LOG | 51 |
| 10.6 COMMANDS FOR THE LAMU SYSTEM | 52 |
| 10.6.1 *PAGES-TO-LAMU | 52 |
| 10.6.2 *PAGES-FROM-LAMU | 53 |
| 10.6.3 *LAMU-AREAS | 53 |
| 10.6.4 *CREATE-LAMU | 53 |
| 10.6.5 *PROTECT-LAMU | 53 |
| 10.6.6 *DELETE-LAMU | 53 |
| 10.6.7 *LAMU-INFORMATION | 53 |
| 10.6.8 *SET-LAMU-CONSTANTS | 53 |
| 10.6.9 *LIST-LAMU-CONSTANTS | 53 |
11 RT-LOADER¶
| Section | Page |
|---|---|
| 11.1 CORRECTED ERRORS | 54 |
| 11.2 DICTIONARY TABLE | 54 |
| 11.3 NEW COMMANDS | 54 |
| 11.3.1 READ-PROGFILE | 54 |
| 11.3.2 SET-FORTRAN-100-DEFAULT | 55 |
12 BACKGROUND ALLOCATION SYSTEM¶
| Section | Page |
|---|---|
| 12.1 GENERAL | 56 |
| 12.2 SINTRAN-SERVICE-COMMANDS | 56 |
13 SINTRAN III/VSX-500 VERSION J AND ND-500 MONITOR VERSION F¶
| Section | Page |
|---|---|
| 13.1 OUTLINE | 58 |
| 13.2 GENERAL NEWS | 58 |
| 13.2.1 MESSAGE BUFFERS | 58 |
| 13.2.2 NEW PACKAGING OF THE ND-500 MONITOR | 58 |
| 13.2.3 DISASSEMBLY IN LOOK-AT | 58 |
| 13.2.4 EXTENDED ADDRESS RANGE IN LOOK-AT-CONTROL-STORE | 58 |
| 13.2.5 NEW TIME QUEUE FOR THE ND-500 | 59 |
| 13.2.6 TIME SLICING | 59 |
| 13.2.7 MESSAGES APPEARING WHEN USING AUTOMATIC-ERROR-MESSAGE | 59 |
| 13.3 MODIFIED COMMANDS | 59 |
| 13.3.1 PROCESS-LOG-ALL | 59 |
| 13.3.2 BREAK AND TEMPORARY-BREAK | 59 |
| 13.3.3 DEBUG-STATUS | 60 |
| 13.3.4 SET-SYSTEM-PARAMETERS and LIST-SYSTEM-PARAMETERS | 60 |
| 13.3.5 SET-PRIORITY | 60 |
| 13.3.6 LIST-EXECUTION-QUEUE | 60 |
| 13.3.7 DEFINE-STANDARD-DOMAIN | 60 |
| 13.3.8 CHANGING REGISTER CONTENTS WHEN IN LOOK-AT | 60 |
| 13.4 NEW COMMANDS | 60 |
| 13.4.1 EXIT FROM LOOK-AT | 60 |
| 13.4.2 INSERT-IN-TIME-SLICE and REMOVE-FROM-TIME-SLICE | 60 |
| 13.4.3 LIST-TIME-QUEUE | 61 |
| 13.5 MODIFIED MONITOR CALLS | 61 |
ND-60.230.01
Page 11¶
Section¶
| Section | Page |
|---|---|
| 13.5.1 FOPEN | 61 |
| 13.5.2 DVINST | 61 |
| 13.5.3 DVOUTS | 61 |
| 13.5.4 NOWT | 61 |
| 13.5.5 PASET and PAGET | 61 |
| 13.5.6 TMOUT | 61 |
| 13.5.7 WFILE/RFILE/MAGTP USING DIRECT TRANSFER | 62 |
| 13.6 NEW MONITOR CALLS | 62 |
| 13.6.1 201 - MHOLC | 62 |
| 13.6.2 256 - DEABF | 62 |
| 13.6.3 325 - OCTO | 63 |
| 13.6.4 327 - FSMUL | 63 |
| 13.6.5 333 - UDMA | 63 |
| 13.6.6 435 - PRT | 63 |
| 13.6.7 330 - TRMST | 64 |
| 13.6.8 332 - TLREP | 64 |
| 13.6.9 514 - TMOUT | 64 |
| 13.6.10 436 - 5PASET | 64 |
| 13.6.11 437 - 5PAGET | 64 |
14 IS-XMSG¶
65
15 FLOPPY DRIVER, BOTH NEW AND OLD¶
| Section | Page |
|---|---|
| 15.1 HOW TO GENERATE | 66 |
| 15.2 REQUIRED SPACE | 66 |
16 DEFAULT FILE ACCESS¶
67
17 FILE ACCESS ON SCRATCH FILES¶
68
18 SPOOLING SYSTEM¶
| Section | Page |
|---|---|
| 18.1 Spooling Datafield | 69 |
| 18.2 The Spooling Program Segment | 71 |
| 18.3 The Spooling Queue Segments | 71 |
| 18.4 New Functions | 72 |
NO-60.230.01
Page 12¶
SINTRAN III J-Version Release Information¶
| Valid For | |
|---|---|
| SINTRAN III/VSE | ALL ND-100 |
| SINTRAN III/VSX | ONLY ND-100/CX |
| SINTRAN III/VSX-500 | ONLY ND-100/CX |
Version J¶
NOTE!
SINTRAN III VERSION H IS THE LAST VERSION AVAILABLE ON NORD-10
ND-60.230.01
Page 13¶
SINTRAN III J-VERSION SYSTEM LAYOUT¶
1.1 PHYSICAL MEMORY¶
| V S E | ADDRESS | V S X |
|---|---|---|
| 000000 | ||
| System resident and file system resident | ||
| 022000 | ||
| Swapping area | Swapping area | |
| 026000 | ||
| 030000 | ||
| Open file table for RT-programs | Open file table for RT-programs | |
| 034000 | ||
| GNSTA | 036000 | GNSTA |
| Configuration dependent system resident | ||
| ...7ENDC... | ||
| Possible swapping area | ||
| 9POFS | 110000 | 9POFS |
| Paging-OFF area (POF) | ||
| ...9EMRE... | ||
| IO-buffers + RT-descr | ||
| ...9EI0B... | ||
| Possible swapping area | ||
| 177000 | ||
| Page tables | Page tables |
ND-60.230.01
Page 14¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III J-VERSION SYSTEM LAYOUT
1.2 PAGE INDEX TABLE 0¶
| V S E | ADDRESS | V S X |
|---|---|---|
| System resident | 000000 | System resident |
| File system resident | 002000 | File system resident |
| System resident | 006000 | System resident |
| (config. independent) | (config. independent) | |
| Device buffer window | 022000 | |
| 024000 | System segment | |
| System segment | 034000 | |
| 036000 | ||
| System resident | System resident | |
| (config. dependent) | ...7ENDC... | (config. dependent) |
| Possibly free | 110000 | Possibly free |
| Segment area | Segment area | |
| (file sys. segms, | (file sys. segms, | |
| command segm, | command segm, | |
| RT-Loader etc.) | RT-Loader etc.) | |
| User window | 174000 | User window |
| 176000 | Window for backg. term. datafield |
All resident pages are mapped physical page equal to logical page.
ND-60.230.01
Page 15¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III J-VERSION SYSTEM LAYOUT
1.3 Page Index Tables 1 and 2¶
| PIT 1 (VSE & VSX) | PIT 2 (VSE & VSX) | |
|---|---|---|
| RT-PROGS., BACKGROUND | RT-PROGS., BACKGROUND | |
| Program and data bank. | Program bank when running 2-bank. Program and data when running 1-bank. |
Normally not used (can be used for program and data). |
| Data bank when running 2-bank | ||
| ........ RTCOMMON (demand) |
ND-60.230.01
Page 16¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III J-VERSION SYSTEM LAYOUT
1.4 PAGE INDEX TABLE 3¶
PIT 3¶
| VSE | VSX |
|---|---|
| Equal to PIT 0 (logical addr. equal to physical addr.). | |
| .......7ENOC....... | |
| Not used | |
| .......9PQFS....... | |
| Terminal I/O routines | |
| .......9EPT3....... | |
| PIT3-segment (SEGMENT 41) | |
| Not used | |
| XMSG segment (segment 33) | |
| Not used 374 Window, terminal input (level 12) | |
| 375 Window, terminal handling (level 4) | |
| 376 "User window" | |
| 377 Window, terminal output (level 10) |
ND-60.230.01
Page 17¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III J-VERSION SYSTEM LAYOUT
1.5 SYSTEM LAYOUT ON DISK¶
1.5.1 SINTRAN:DATA¶
Disk address in pages
0
└──────────────────────────────────────────
Resident and "POF"
Directory entry
1.5.2 MACM-AREA:DATA¶
1.5.2.1 LAYOUT¶
Disk address in pages (octal), relative to the start of the directory
| 100 | 132 | 137 | 145 | 17 |
|---|---|---|---|---|
| File system, segments 6 and 24 | ||||
| Error program | ||||
| ND-NET file copy | ||||
| Command segment (segment 3) |
1.5.2.2 DISPLACEMENTS WHEN PATCHING¶
Command segment: -110000
File system seg. 6 + 24: 2000
1.5.3 SEGFILE0:DATA¶
Disk address in pages (octal), relative to the start of the directory.
| 200 | 277 |
|---|---|
| Memory image (segment 2) |
Other segment files may reside in any directory at any disk address. The maximum size of a segment file is 16383 pages. Due to limitations in the RT-Loader, the sum of the used segment files cannot be greater than 32768 pages.
ND-60.230.01
Page 18¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III J-VERSION SYSTEM LAYOUT¶
1.6 SINTRAN III SEGMENTS¶
1.6.1 SYSTEM INCLUDED SEGMENTS¶
Note: Segments 2-43 will be given standard segment names the first time the RT-Loader is entered.
| SEG. NO. | NAME | ADDRESS RANGE | PT | DESCRIPTION |
|---|---|---|---|---|
| 2 | S3IMAGE | . | 0 | 175777 1 Memory image & POF |
| 3 | S3COM | 110000 | 0 | 173777 0 Command segment |
| 4 | S3RTL | 110000 | 0 | 147777 0 RT-Loader program segment |
| 5 | S3ERRS | 220000 | 0 | 25777 0 Error program "system segment" |
| 6 | S3FSCOM | 110000 | 0 | 137777 0 File system common segment |
| 7 | S3DMAC | 110000 | 0 | 153777 0 DMAC segment |
| 10 | S3RTFIL | 0 | 0 | 177777 2 RTfil segment |
| 11 | S3ERRL | 0 | 0 | 177777 1 Error log segment |
| 12 | S3FS2SV | 140000 | 0 | 173777 0 Initial reentrant filesys seg. no.1 |
| 13 | S3RTLSV | 56000 | 0 | 147777 1 Initial RT-Loader (RT-1. save-area) |
| 14 | S3ERRP | 110000 | 0 | 123777 0 Error program segment |
| 15 | S3MSVV | 110000 | 0 | 173777 0 Initial SINTRAN-SERVICE-PROG & MAIL |
| 16 | S3NNSV | 150000 | 0 | 167777 0 Initial NORD-net segment |
| 17 | S3PT3SV | 0 | 0 | 117777 1 Initial PT3 segment |
| 20 | S3DT5 | 0 | 0 | 177777 2 ND-500 standard domain table |
| 21 | S3NMS5 | 0 | 0 | 177777 2 ND-500 table segment (name segment) |
| 22 | S3RFUS1 | 110000 | 0 | 163777 0 Reentrant file user segment no.1 |
| 23 | S3MS5EG | 110000 | 0 | 173777 0 SINTRAN-SERVICE-PROGRAM and MAIL |
| 24 | S3FSRS1 | 140000 | 0 | 173777 0 File system reentrant segment no.1 |
| 25 | S3FSRS2 | 140000 | 0 | 173777 0 File system reentrant segment no.2 |
| 26 | S3RFUS2 | 110000 | 0 | 163777 0 Reentrant file user segment no.2 |
| 27 | S3NODNET | 150000 | 0 | 167777 0 NORD-net segment |
| 30 | S3SMS51 | 122000 | 0 | 173777 0 ND-500 system monitor segment no.1 |
| 31 | S3SMS52 | 122000 | 0 | 173777 0 ND-500 system monitor segment no.2 |
| 32 | S3RTACC | 110000 | 0 | 127777 0 RT-accounting segment |
| 33 | S3XMSGP | 146000 | 0 | 167777 2 XMSG POF segment |
| 34 | S3XMSGD | 0 | 0 | 35777 2 XMSG demand segment (XROUT) |
| 35 | S3XMSGR | 0 | 0 | 37777 2 Reserved for XMSG |
| 36 | S3TAD | 110000 | 0 | 133777 0 Tadadm segment |
| 37 | S3RTD | 0 | 0 | 177777 1 RT-Loader data segment |
| 40 | S3FUFRT | 164000 | 0 | 173777 0 File user data segment for RT-prog. |
| 41 | S3PT3 | 116000 | 0 | 135777 1 PT3 segment |
| 42 | S3SPLSV | 110000 | 0 | 137777 0 Initial spooling program segment |
| 43 | S3SPL | 110000 | 0 | 137777 0 Spooling program segment |
1.6.2 OTHER SEGMENTS USED, DEPENDENT UPON THE CONFIGURATION¶
- Spooling: 1 segment for each spooling process (queue)
- Background: 2 segments for each background process
- ND-500: 2 segments for each ND-500 process
+ 1 "when no process to communicate with"
ND-100 SYMBOLIC¶
- DEBUGGER: 1 segment for the debugger program and
1 segment for each background process using it.
Page 19¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III J-VERSION SYSTEM LAYOUT
Remote file access
data segment: max. 64 segments. The number of segments equals
the number of users who can use remote file
access simultaneously
Maximum number of segments: 255
1.6.3 SYSTEM INCLUDED RT-PROGRAMS¶
| PROGRAM | PURPOSE |
|---|---|
| BPTMP | Timeout program for background allocation system |
| 1SWAP | Queuing program requests for swapping |
| 5SWAP | Performs ABSTR in ND-100 for the 500-swapper |
| ACCRT | RT accounting |
| BAKnn | Background process for terminal (BAK01-BAK99) |
| BKnnn | - (BK100-BK128) |
| BCHnn | Batch process |
| BCxxy | ND-net. Background process for remote terminal (x=Channel no., y=Line number) |
| COSPO | COSMOS-spooling server |
| CRxxy | Read/write via ND-net channels without background |
| CWxxy | (x=Channel, y=Line). DFxy and DRxy datafields. |
| DUMM2 | Dummy program used by the spooling system |
| DUMMY | Dummy program to prevent empty execution queue |
| FDRT1 | Transfer data between interface buffer and memory. Floppy formatting. (FLOPPY-1) |
| FDRT2 | Transfer data between interface buffer and memory. Floppy formatting. (FLOPPY-2) |
| FIXRT | Monitor call/command FIXC execution |
| FSART | Administration of the file servers (COSMOS - remote file access) |
| RCOMn | Receive program for line number n. (ND-net) |
| RTD1L | Buffer transfer program for DISC-ACCESS-LOG |
| RTERR | Output error messages |
| RTRFA | Does remote file access for RT-programs (COSMOS - remote file access) |
| RTSLI | Time slicer. Changes priority on background processes. |
| RUxxy | RT-program to handle output for a remote-connected terminal. (x=Channel, y=Line). (ND-net) |
| RWR1T | Block data transfer. Activated from RFILE, WFILE, RPAGE, WPAGE |
| RWR2T | Open file from RT-programs |
| RWR3T | Block transfer on MAGTAPE-1 (MAGTP) |
| RWR5T | VERSATEC-1 DMA |
| RWR6T | CDC-DMA LINK |
| RWR7T | MAGTAPE-2 |
| RWR8T | VERSATEC-2 DMA |
| RWR9T | FLOPPY-DISC 1 |
| RWR10 | FLOPPY-DISC 2 |
| RWR11 | LINE-PRINTER/VERSATEC -1 I/O |
| RWR12 | LINE-PRINTER/VERSATEC -2 I/O |
ND-60.230.01
Page 20¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III J-VERSION SYSTEM LAYOUT¶
| Code | Description |
|---|---|
| RWRT13 | Block oriented internal device 1 INPUT |
| RWRT20 | Block oriented internal device 1 OUTPUT |
| RWRT14 | Block oriented internal device 2 INPUT |
| RWRT21 | Block oriented internal device 2 OUTPUT |
| RWRT15 | Block oriented internal device 3 INPUT |
| RWRT22 | Block oriented internal device 3 OUTPUT |
| RWRT16 | Block oriented internal device 4 INPUT |
| RWRT23 | Block oriented internal device 4 OUTPUT |
| RWRT17 | Block oriented internal device 5 INPUT |
| RWRT24 | Block oriented internal device 5 OUTPUT |
| RWRT25 | HASP DMA 1 INPUT |
| RWRT26 | HASP DMA 1 OUTPUT |
| RWRT27 | HASP DMA 2 INPUT |
| RWRT28 | HASP DMA 2 OUTPUT |
| RWRT29 | HASP DMA 3 INPUT |
| RWRT30 | HASP DMA 3 OUTPUT |
| RWRT31 | HASP DMA 4 INPUT |
| RWRT32 | HASP DMA 4 OUTPUT |
| RWRT33 | HASP DMA 5 INPUT |
| RWRT34 | HASP DMA 5 OUTPUT |
| RWRT35 | HASP DMA 6 INPUT |
| RWRT36 | HASP DMA 6 OUTPUT |
| SCOMn | Send program for line number n. (ND-net) |
| SPRn | Spooling programs (1-9) |
| SPRnn | Spooling programs (10-30) |
| STSIN | Initialize SINTRAN III and start systems RT-programs |
| TADnn | Terminal Access Device |
| TADAD | Administrates connections to TADs from requesting users. |
| TERMP | Starts the user defined "clean-up" RT-program when RT-programs are aborted (if enabled) |
| TIMRT | Timer RT-program. Start timeout-routine for all devices in timer-table. |
| XROUT | XMSG routing program |
| XTRACE | XMSG trace program |
| XFTRA | COSMOS file transfer server |
NO-60.230.01
Page 21¶
INSTALL TAD/TADADM¶
TAD/TADADM is now removed from the COSMOS Basic Module and included in SINTRAN III as a standard option. The desired number of TADs must be specified in the SINTRAN III order form. During installation of your system, the NEW-SYSTEM program will copy a new TADADM to your disk. User and file names are:
(SYSTEM)COS-TADADM:8PUN
Your HENT-MODE file should include the commands:
@RT-LOADER
READ-BINARY COS-TADADM 36
YES
END
EXIT
This ensures that TADADM is loaded at cold start. In addition the command: @START-TADADM should be included in your LOAD-MODE file.
ND-60.230.01
Page 22¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
TIME SLICING¶
3. TIME SLICING¶
A resident RT-program, called RTSLI, changes the priority of the processes according to the CPU-time they use, in order to share the CPU-resource between them. This program is called the time slicer program. By default all ND-100 background programs, including batch, and all ND-500 processes, are time sliced. RT-programs in ND-100 cannot be time sliced. The priority of a process and the CPU-time the process can consume on that priority, are defined in the time slice class the program belongs to. There are 8 (0-7), time slice classes in the system, of which classes 0-5 are used. Classes 6-7 are not used. However, these can be defined and used with the ØSINTRAN-SERVICE-PROGRAM command *DEFINE-TIME-SLICE. The following figure shows the usage of time slice classes 0-5, the different priority levels, and the number of time slice units of CPU-time to consume on the various priority levels.
A process running in ND-500 has two priorities, one in ND-500 and another in ND-100. The same algorithm is used for time slicing in ND-500 as in ND-100, except that ND-500 CPU-time is used instead of ND-100 CPU-time. The ND-100 priority of an ND-500 process is used when the shadow process executes monitor calls, or gives other services, on behalf of the ND-500 process, in the ND-100.
The figure on the next page illustrates the time slice mechanism. Note that all numbers are in octal format.
ND-60.230.01
Page 23¶
SINTRAN III J-Version Release Information¶
Time Slicing¶
Priority Chart¶
| Priority | Description |
|---|---|
| ND-500 message priority (71) | Interactive jobs in ND-100 and ND-500. Batch jobs in ND-100 and ND-500. |
| Anti-jamming priority (67) | ND-100 shadow process for ND-500 interactive jobs and ND-500 mode jobs. |
| Escape | ND-100 shadow process for ND-500 batch jobs. |
| Break | ND-500 mode jobs. File servers. |
| Break limit |
Classes¶
| Classes | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|---|
| Priority | Not used |
Values¶
| Priority | Class | Value |
|---|---|---|
| 70+ | 1 | 60 |
| 60+ | 3 | 55 |
| 50+ | 4 | 45 |
| 2 | 46 | |
| 3 | 50 | |
| 2 | 44 | |
| 6 | 42 | |
| 40+ | 14 | 40 |
| 22 | 41 | |
| 10 | 34 | |
| 14 | 35 | |
| 10 | 41 | |
| 30+ | 30 | 30 |
| 30 | 30 | |
| 10 | 33 | |
| 10 | 27 | |
| 50 | 24 | |
| 40 | 24 | |
| 50 | 24 | |
| 20+ | 4 | 20 |
| 22 | 20 | |
| 40 | 21 | |
| 10 | 17 | |
| 4 | 20 | |
| 22 | 16 |
ND-60.230.01
Page 24¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
TIME SLICING¶
More about time slicing¶
The time slicer program, RTSLI, is running at an interval of 0.5 seconds. One time slice unit is equal to 240ms CPU-time, (ND-500 or ND-100 CPU-time). On the figure on the previous page, the number of time slices on each priority level is given inside the squares, the priorities themselves to the right of it. In interactive mode, a process is reset to "break-priority" (55 ), if the actual priority is less than 44 when a break-condition is met. Also in interactive mode, a process is reset to "escape priority", (60 ) if an escape is typed when escape is enabled. Due to the fact that the time slicer program is running at an interval of 0.5 seconds, and that the priority is only changed by the time slicer program, a delay of max. 0.5 seconds can occur when typing a break-character or the escape-character, before the priority is raised to the break-priority or to the escape-priority.
Each time a time sliced program is started (logging-in, entering a batch job, etc.) the time sliced program will start on the highest priority level of the time slice class the program belongs to. Time sliced programs always move steadily downwards to the lowest priority of the time slice class, except from break-conditions and escape-conditions in interactive mode. When reaching the lowest priority of a class, the time sliced program will get the "next-to-lowest" priority, and then the lowest priority again. The time sliced program will change between the lowest and next-to-lowest priority (until the program is finished or an escape or break-condition occurs). The only exception to this rule is programs running in time slice class 5 (file servers), which will change from lowest to highest priority and then start looping through the four priority levels for this class. This is illustrated by the back-arrows on the figure.
There are two special priorities used on time sliced programs; one called anti-jamming priority, (67 ), and another called ND-500 message priority (71 ). The anti-jamming priority is given to time sliced programs which have reserved a system resource, for which another program with higher priority than the program holding the system resource is waiting. A system resource is defined as a datafield, semaphore, with the protection ring value set equal to 2 or 3 in the TYPRING location in the datafield.
After the program with the anti-jamming priority has released the last system resource, for which other programs with higher priority are waiting, the program gets the same priority as it had when it was "anti-jammed". The anti-jamming priority is used only in ND-100. Setting anti-jamming priority will have immediate effect - it will not wait for the next execution of the time slicer program (RTSLI).
The ND-500 message priority is used on ND-500 processes when the shadow-processes send messages to the ND-500 Swapper or to the ND-500 microprogram. Example of such messages are: examine or deposit ND-500 registers, write or read monitor call parameters. The ND-500 message priority is used only in ND-500. Setting ND-500 message priority will have immediate effect - it will not wait for the next execution of the time slicer program (RTSLI).
ND-60.230.01
Page 25¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
TIME SLICING¶
In ND-500, the priority of a process is increased by one for each monitor call executed by the process, if the current priority is less than or equal to the next-to-lowest priority of the class. This is done to distribute resources evenly between heavy jobs.
A special algorithm is included to avoid situations where the time slicing becomes "too stable". This algorithm checks the number of time slices to be consumed at the current priority level. If this number is greater than or equal to 2²², a number in the interval 0-17 is added to the number of time slices that can be consumed at the actual priority level. The maximum number of time slices to be consumed before adding a value in the range 0-17 (the limit 2²² above), can be changed with the ØSINTRAN-SERVICE-PROGRAM command *DEFINE-TIME-SLICE. This parameter is called
This time slicing mechanism was included as standard in the I-version of SINTRAN III, and only small adjustments have been made for the J-version. However, time slice class number 4 for ND-500 mode jobs, and time slice class number 5 for file servers in ND-100, are new features in the J-version.
ND-60.230.01
Page 26¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SECURITY PRIMITIVES¶
4. SECURITY PRIMITIVES¶
In the J-version of SINTRAN III, the following security primitives are default, specified in the variable named EXSECURITY (the bits are set to one).
- Bit #0: No listing of command lines in the ∂TERMINAL-STATUS command. If the command is performed by user SYSTEM, the command lines for all background programs logged in will be listed. The command lines will also be listed for the background programs running under the same user as the one executing the ∂TERMINAL-STATUS command.
- Bit #1: The background segment, both program and data bank, will be set to zero when logging out. This feature will delay the log-out sequence considerably (seconds). If the background program was terminated abnormally, this zeroing will take place when you log in the first time after the abnormal termination.
- Bit #2: The scratch file pages written to in the last session, will be set to zero when logging out. This will slow down the log-out sequence.
The following security primitives are optional, specified in the variable named EXSECURITY (the bits are zero).
- Bit #3: Zeroing of pages released from a file, normally in the ∂DELETE-FILE command.
- Bit #4: Not allowed to log in if the user has no password. It is legal to log in only once after ∂CREATE-USER without password.
The value of the variable EXSECURITY can be changed by the ∅SINTRAN-SERVICE-PROGRAM command *CHANGE-VARIABLE.
ND-60.230.01
Page 27¶
5. ND-100 Swapping¶
There are four different ways of queuing programs requesting the "ND-100" swapper. The variable named SWPFLAG is used to distinguish between the four possibilities.
SWPFLAG=0¶
No queuing of requests. If the swapping semaphore or the mass storage datafield which a page is to be transferred to/from is occupied when a program requests the swapper, this program is skipped in the execution queue, and the next is started. The program requesting the swapper will still be marked as ready in the execution queue. It may be started several times, without managing to execute any instructions due to page faults and no service from the swapper. This can cause much overhead in a system with heavy swapping. All programs requesting the swapper while the swapper or the mass storage is occupied, will be treated in the same way. SWPFLAG=0 is equal to the mechanism which was standard in SINTRAN III before the I-version.
SWPFLAG=1¶
This value is default in the I-version. If a program which has reserved the swapper must wait for the mass storage to transfer a page, a special resident program named 1SWAP is given the swapper and is linked into the waiting queue for the mass storage. (The mass storage is occupied with other transfers, file system transfer, ND-500 swapping etc.) The priority of 1SWAP is 100. The program that originally reserved the swapper will be put in a "waiting-for-swapper" state to tell the monitor not to start this program before the swapper is released. A program is marked as "waiting-for-swapper" by setting bit 15 in the ACTPR1 location in the RT-description. All other programs requesting the swapper while it is occupied, will be set in the same wait state. When the mass storage is reserved by 1SWAP, this program will release the mass storage datafield and the swapper. Then all programs in the execution queue in the "wait-for-swapper" state will be reset from this state, and the first program in the execution queue will be started.
SWPFLAG=2¶
This value of SWPFLAG gives almost the same function as SWPFLAG=1, except that with this value the program that reserved the swapper before the program 1SWAP was linked into the waiting queue for the mass storage, will be the first program to start when 1SWAP releases the swapper and the mass storage datafield.
SWPFLAG=3¶
This value of SWPFLAG is default in the J-version. As for SWPFLAG values 1 and 2, the program requesting the swapper will be marked in the execution queue as "waiting-for-swapper", and the program 1SWAP will be linked into the waiting queue for the mass storage. This time 1SWAP will have the priority equal to the priority of the program requesting the swapper. When 1SWAP is started it links the swapper and the mass storage datafield to the program which
ND-60.230.01
Page 28¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
ND-100 SWAPPING¶
First requested the swapper while the mass storage was occupied. Then all programs in “wait-for-swapper” state will be reset from this state and marked as ready. The first program after 1SWAP in the execution queue, will now be started.
ND-60.230.01
Page 29¶
SINTRAN III MONITOR CALLS¶
6.1 MODIFIED MONITOR CALLS¶
6.1.1 BRKM (MON 4)¶
Two new functions have been added:
10B - Use "old" break 7 table, but update maxbreak (contained in D-register)
11B - Set new maxbreak, but do not change break-table
6.1.2 FIXC5 (MON 61)¶
Function= 7: Release all memory areas reserved by a specific program.
Only memory areas reserved with Function=5 in MON FIXC5 will be released.
Function=10: Get a segment's fixed status.
Monitor call format:
LDA (PLIST)
MON FIXC5
JMP ERROR
| Pointers | |
|---|---|
| PLIST, | |
| FUNC | |
| PAR1 | |
| PAR2 | to |
| PAR3 | parameters |
| PAR4 | |
| PAR5 |
Function=7: Release all memory areas reserved by a specific program
Input parameters:
- FUNC= 7
- PAR1= RT-program which has reserved the memory areas to be released.
PAR1=0 means calling program. - PAR2= Dummy (not used)
- PAR3= Dummy (not used)
- PAR4= Dummy (not used)
- PAR5= Dummy (not used)
Page 30¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III MONITOR CALLS¶
Output parameters:¶
Error return:¶
A=3 : Illegal RT-program in PAR1.
OK return:¶
None.
Function=10: Get a segment's fixed status¶
Input parameters:¶
| Parameter | Description |
|---|---|
| FUNC= | 10 |
| PAR1= | Segment number |
| PAR2= | Page number within the segment, the physical page of which should be found if the segment is fixed. |
| PAR3= | Dummy (not used) |
| PAR4= | Dummy (not used) |
| PAR5= | Dummy (not used) |
Output parameters:¶
Error return:¶
- A=174 : Illegal segment number in PAR1, or illegal page number within segment in PAR2.
- A=2 : Segment, in PAR1, not loaded.
OK return:¶
- T= Fixed status
- T=0 : Segment not fixed.
- T=1 : Segment is fixed scattered.
- T=2 : Segment is fixed contiguously.
- A= Physical page number where the page number, in PAR2, resides in memory.
- D= Flag word in the segment table entry of segment specified in PAR1.
6.1.3 ABSTR (MON 131)¶
New functions for STC magtape:
- Function 50: Read multiple records, i.e. read a number of magtape records to a contiguous memory area in one ABSTR call.
- Function 51: Write multiple records, i.e. write a contiguous memory area as a number of magtape records to magtape in one ABSTR call.
NO-60.230.01
Page 31¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III MONITOR CALLS¶
Monitor call format:¶
LDT LDN
LDA (PLIST
MON ABSTR
PLIST, FUNC I Pointers
DMEM I to
UNIT I parameters
RECO I
Input parameters:¶
| Parameter | Description |
|---|---|
| T | Logical device number |
| FUNC | Function code (6/50B/51B) |
| DMEM | Double word, physical memory address |
| UNIT | Unit number (0-3) |
| RECD | Double word |
| RECNO | Number of records to read/write in one call |
| RECSI | Record size in words |
Parameters have to be in resident memory.
Output Parameters:¶
A > 0: Transfer completed - Bit 16 -0 contains hardware status - RECD 0 (RECNO) : No. of records read/written - RECD+1 (RECSI) : Record size of records read
A < 0: Error (A=-1 and FUNCTION=50 : Trying to read records of different sizes in one ABSTR call) - Bit 16 -0 contains hardware status - RECD 0 (RECNO) : No. of records read/written before error occurred - RECD+1 (RECSI) : Record size of records read
Rules:¶
As in ordinary ABSTR calls (see Ref. Manual)
Function 6 : Change retry counters to be used in functions 50/51
Monitor call format:¶
LDT LDN
LDA (PLIST
MON ABSTR
PLIST, FUNC
MEMA
UNIT
RECO
ND-60.230.01
Page 32¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III MONITOR CALLS¶
Input parameters:¶
- T = logical device number
- FUNC = function code (6)
- UNIT = unit number (0-3)
- MEMA = not used by this function
-
RECO = double word:
- RECO, RETCO: New start value of retry counter (Initially = -4)
- ERACO: New start value of erase counter (Initially = -2)
Involved locations in datafield:¶
| Symbol | displ. | Function |
|---|---|---|
| ERASE: | ||
| MACOU | -40 | Erase gap counter |
| MWCNT | -14 | Start value of MACOU, number of times to write erase gaps |
| CMWCNT | -54 | Value of MWCNT in multiple record calls. Initially = -2; may be changed by this function |
| RETRY: | | TACOU | -15 | Retry counter | | TACNS | -16 | Start value of TACOU, number of times to repeat call to driver | | CTACNS | -53 | Value of TACNS in multiple record calls. Initially = -4, may be changed by this function. |
TACNS indicates how many times a call to the mag.tape driver (SMAGT) should be tried in a read/write operation, i.e. number of retries. If a write operation did not succeed after the specified number of retries, an erase gap is written and a new series of write operations is attempted. The erase gap procedure is repeated as many times as MACNS indicates.
Do MACNS times
Do TACNS times
Call driver
If OK go out
Enddo
Write erase gap
Enddo
Go error
Out:...
For programming reasons, both types of counter contain negative values, i.e. -4 means repeat 4 times.
NOTE: As in most ABSTR parameters, there are no checks on the new values of these counters.
Page 33¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III MONITOR CALLS¶
6.1.4 LAMU (MON 315)¶
Functions 7 and 8 are added, and the monitor call is available from background.
The LAMU System is intended to be an extension to the Segment Structure in SINTRAN III, making it possible for RT-programs and background programs to address more address space than covered by the available 3 segments, and to address memory shared by several CPUs.
A LAMU is a limited continuous logical and continuous physical address area. The size range of a LAMU is 1 page to 128 pages, and the logical address range covers page 100(8) to page 277(8) (page table 1 to page table 2).
Speed of LAMU setting/resetting: due to the fact that a LAMU must be continuous in logical and physical memory, the setting and clearing of the page index table will be very fast - faster than a segment with the same length.
A LAMU can be created and deleted by monitor call or by command in the SINTRAN-SERVICE-PROGRAM.
The logical page of a LAMU is defined at connect time.
Several RT-programs can use the same LAMU simultaneously.
A LAMU is identified by a number returned from the system when the LAMU is created, or specified in the "create LAMU" call.
The same physical page can exist in several LAMUs at the same time.
A physical page must be removed from the SINTRAN III swapping pages before it is used in a LAMU.
A LAMU requires no space on the segment files.
The following parameters will be used in the description below.
| Parameter | Description |
|---|---|
<func> |
Will specify the actual operation on the LAMU. |
<LAMU id> |
Is the LAMU identifier |
<Prog> |
The program a LAMU is connected to/disconnected from, 0 means own program. |
<Size> |
Is the number of pages in the LAMU |
<Prot> |
LAMU protection and ring |
<Laminf> |
3-word array used for LAMU information |
<Log.addr.> |
Specifies the first logical address covered by the LAMU. Legal range: 100 - 277 |
<Phys.addr.> |
Specifies the start of the physical memory the LAMU will cover. Legal value: All existing physical pages currently defined as legal LAMU areas. |
Correct execution of MLAMU is reported by skip return. Errors are reported by normal return, and the A-register will then contain the error code.
ND-60.230.01
Page 34¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III MONITOR CALLS¶
Create LAMU¶
| Parameter | Description |
|---|---|
<func> |
= 1 |
<LAMU id> |
= 0 : The system will return the selected <LAMU id> |
# 0 : The LAMU will be identified by the given <LAMU id> if the <LAMU id> is unused and inside legal range. |
|
<size> |
: Number of pages in the LAMU. Legal range 1-200 |
<phys.addr> |
= 0 : The system will select the first LAMU memory area large enough for the LAMU, and not used by other LAMUs. The first physical page number of this memory area will be returned in <phys.addr>. |
| # 0 : Specifies the first physical page for the LAMU. |
Legal value:
All existing physical pages currently used as LAMU areas.
Rules:
Legal from user SYSTEM and RT-programs.
Delete LAMU¶
| Parameter | Description |
|---|---|
<func> |
= 2 |
<LAMU id> |
: Specifies the LAMU to be deleted |
<dummy> |
|
<dummy> |
Rules:
The LAMU will be deleted if it is not in use by other RT-programs.
The physical pages used in the LAMU will remain LAMU area.
Legal from user SYSTEM and RT-programs.
Connect LAMU¶
| Parameter | Description |
|---|---|
<func> |
= 3 |
<LAMU id> |
: The specified LAMU will be inserted in the address area of the calling RT-program. |
<prog> |
: Program connecting the LAMU to. |
<prog> |
=0 Means calling program. |
<log.addr.> |
: First logical page used to access the LAMU. Legal range 100 - 277. |
Rules:
The maximum number of LAMUs an RT-program can have connected to it at the same time is decided before system startup time. A connected LAMU must not overlap, in logical address area, any other connected LAMU or RT common. The connected LAMU will be disconnected by the Disconnect LAMU function in MLAMU, or by the RT-Loader when the RT-program is deleted. There will be no disconnection of LAMUs when an RT-program is aborted.
ND-60.230.01
Page 35¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III MONITOR CALLS¶
Disconnect LAMU¶
<func> |
= 4 |
|---|---|
<LAMU id> |
= -1: Disconnect all connected LAMUs of the RT-program |
| # -1: Disconnect the specified LAMU | |
<prog> |
: Program which LAMUs are to be disconnected from. |
<prog>=0 means calling programs. |
|
<dummy> |
LAMU pages to nothing¶
<func> |
= 5 |
|---|---|
<first physical page> |
|
<no. of pages> |
|
<dummy> |
Rules:
In a configuration with multiple CPUs connected to the same MPM, it is assumed that all the CPUs start up with the entire MPM as LAMU area. By this function a CPU excludes an area from both LAMU and swapping area, and another CPU can use this area as swapping area. The area must be within a LAMU area. Legal from user SYSTEM and RT-programs.
LAMU pages to swapping¶
<func> |
= 6 |
|---|---|
<first physical page> |
|
<no. of page> |
|
<dummy> |
Rules:
After this function, the specified LAMU pages can be used as swapping pages. Legal from user SYSTEM and RT-programs.
Protect LAMU¶
<FUNC> |
= 7 |
|---|---|
<LAMU id> |
: LAMU identifier |
<PROT> |
: Bits 9-10 = Ring |
| Bit 13 set = Fetch Permitted | |
| Bit 14 set = Read Permitted | |
| Bit 15 set = Write Permitted | |
<Dummy> |
Rules: Legal from user SYSTEM and RT-programs.
LAMU information¶
<FUNC> |
= 8 |
|---|---|
<LAMU id> |
: LAMU identifier |
<LAMINF> |
: First physical page |
| Number of pages in LAMU | |
| LAMU protection | |
<Dummy> |
Page 36¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III MONITOR CALLS¶
Calling MLAMU¶
LDA (PLIST
MON MLAMU
JMP ERROR ; ERROR, A = error code
JMP OK ; OK Return
| PLIST | FUNC |
|---|---|
| LAMID | |
| PROG | |
| LOGAD |
| FUNC | connect LAMU | |
|---|---|---|
| 3 | ||
| LAMID | 12 | LAMU # 12 |
| PROG | 0 | calling program |
| LOGAD | 140 | logical page no. page 40 on page table one |
or
| PLIST | FUNC |
|---|---|
| LAMID | |
| PROT | |
| DUMMY |
| FUNC | Protect LAMU | |
|---|---|---|
| 7 | ||
| LAMID | 12 | LAMU # 12 |
| PROT | 161000 | RFW Ring 1 |
| DUMMY | 0 |
6.2 NEW MONITOR CALLS¶
6.2.1 FSMTY (MON 327)¶
File system multifunction monitor call.
Input parameters:
T-REG = Function code
- T=1 WRBIX
- A-REG: Open file number
Return: A-REG: Error code
Skip-return: OK
This forces the writing, to disk, of modifications to the datafield index blocks which may not yet have been written back (i.e. where changes have only been made in the index blocks in the open file entry). This leaves the file consistent in the event of an uncontrolled system stop with the file still open. It will be particularly useful for SIBAS and ISAM applications.
ND-60.230.01
Page 37¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III MONITOR CALLS¶
6.2.2 TERST (MON 330)¶
Monitor call to get information similar to that of the command ØTERMINAL-STATUS, but for one terminal (device) only.
Input parameters:
- T-reg = Logical Device Number
- A-reg = Memory address to buffer where information is returned
| Words | Description |
|---|---|
| 0-7 | User name of logged in user, terminated by '..' if less than 16 characters. |
| 10 | Mode: 1 = Command, 2 = User, 3 = RTWT, 4 = Hold |
| 11 | State: -1 = Passive, 0 = Idle (batch only), 1 = Active |
| 12 | CPU minutes used |
| 13 | Login time (minutes) |
| 14-25 | Last command (terminated by single quote) |
Return: A-REG = Error number.
Skip-return: OK
6.2.3 TREPP (MON 332)¶
Monitor call to get terminal-related information and to control termination of programs.
Input parameters:
- T = Logical device number (1: own terminal background)
- A = Function:
- 0: disable terminal report
- 1: enable terminal report
- 2: read terminal status
Return: A = Error number.
Skip return:
- Function 0: OK (no parameter)
- Function 1: OK (no parameter)
- Function 2: OK A = Terminal status
- bit 0: Terminal line dead
- bit 1: Logout waiting for MON 0
- bit 2: Overrun in input buffer
- bit 3: Parity error on input
- bit 4: Framing error on input
The bits 2-4 in status are cleared at read status. These bits indicate that some characters in the input stream may be lost.
When the enable function has been used, the program will not be terminated by line breaks or timeout.
ND-60.230.01
Page 38¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III MONITOR CALLS¶
6.2.4 UDMA (MON 333)¶
NOTE! Only included when ordered (library marks = 8UDMA 8UDnnn).
Transfer data between memory and universal DMA interface (ND-852)
Monitor call format¶
LDT I (LDN)
LDA (PAR)
MON 333
STA ISTAT
PAR, IFUNC
MARRY
DPARI
DPARO
Input parameters:¶
- T-reg: Logical device number of DMA channel.
- A-reg: Address to parameter list.
- IFUNC: Function code, see below.
- MARRY: Single word, logical memory address of data.
- DPARI: Double word, function dependent, see below.
Output parameters:¶
- DPARO: Function dependent, see below. Double word (32-bit)
- A-reg: =0 if OK, else SINTRAN III error code.
| IFUNC (oct) | MARRY | DPARI | DPARO |
|---|---|---|---|
| 0 DMA input | x | Length | Actual length |
| 1 DMA output | x | Length | |
| 2 Same as 0 but with no wait | x | Length | |
| 3 Same as 1 but with no wait | x | Length | |
| 7 Test mode | - | - | Status |
| 20 Read status | - | - | Status |
| 21 Clear device | - | - | |
| 24 Read last status | - | - | Status |
| 54 PIO input without interrupt | PIO D. | us.co.lin. | |
| 55 PIO output without interrupt | PIO D. | us.co.lin. | |
| 56 PIO input with interrupt | PIO D. | us.co.lin. | |
| 57 PIO output with interrupt | PIO D. | us.co.lin. | |
| 62 Wait on interrupt/DMA finish | - | 1 / 0 | Status |
| 64 Enable attention interrupt | - | - | |
| 65 Disable attention interrupt | - | - | |
| 70 Write user control lines | - | Us.co.lin | |
| (Bit 8-15) |
- "-" Parameter not used
- "x" Parameter used as usual
ND-60.230.01
Page 39¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III MONITOR CALLS¶
Rules:¶
- Callable from background and RT
- The output part of LON must be reserved (for all functions), do not reserve the input part.
- In status, bits 0-7 and bit 15 is copied from hardware status word, bits 8-14 are user status lines, bit 16 means attention interrupt has occurred and bit 17 is a timeout flag.
- IFUNC=54,55,56,57: Bits 8-15 in DPAR1 will be written to user control lines together with the last command to the control word. These bits are not saved, and will be cleared in the next operation or interrupt to the interface.
- IFUNC=62, IPAR1=0: Wait until DMA transfer is finished (if transfer is finished, there will be an immediate return). If attention interrupt is enabled, there will also be return on attention interrupt. The hardware status should be examined. IF DPAR1=1 : Wait on attention interrupt. If DMA transfer is initiated, there will also be return on DMA transfer complete interrupt. The Hardw. status should be examined.
- If RT and the segment which holds MARRY is FIXCed, the DMA-data will be transferred directly into user address space.
- Function code 2 and 3 only legal from ND-500, or if rule 6.
XX Datafields for 1 to 16 devices may be ordered with library marks (in addition to 8UDMA)
| Address Range | Description |
|---|---|
| 8UD01 - 8UD16 | for Universal DMA or |
| 8VI01 - 8VI16 | for Vicom DMA. |
It is possible to mix 8UDxx and 8VIzz (8UD01;8VI02;8VI03)
6.2.5 GETXM (MON 334)¶
Purpose: Get error-message text.
Monitor call format:¶
LDA ECODE ; A=error code
LDX (BUFFR ; X=address of buffer for text
MON GETXM
JMP ERROR ; Error return
ECODE, 10
BUFFR,0; **100/
Input parameters:¶
- A-reg = Error code for which error-message text is wanted. The error code is one of the normal "file system" error codes used in MON 64 and MON 65.
- X-reg = Address of buffer to receive the error-message text. This buffer must have a minimum size of 100 words.
Page 40¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III MONITOR CALLS¶
Output parameters:¶
- Return: Error, A-reg error code
- Skip return: OK, the error message text, terminated by a '.' is returned into the specified buffer.
Rules:¶
Callable from background and from foreground (RT-programs).
6.2.6 EXABS (MON 335)¶
Purpose: Execute Mon ABSTR from programs on PI 1, 2 or 3.
Parameters are as for ABSTR, but the last three parameters are double integers. If the ABSTR function to be used is expecting a single integer as parameter, that parameter value must be in the most significant part of the EXABS parameter.
The value of the last ABSTR parameter, after ABSTR is executed, is always written back into the last parameter in the EXABS parameter list, independent of the function code. The A-register will contain the same information after executing MON EXABS as after executing MON ABSTR.
Rules:¶
Rules are mainly as for ABSTR.
Programs calling EXABS may use any page table, and can use both demand and non-demand segments. Page faults in parameter fetching are legal.
Ring 2 is still necessary for both monitor call and parameters.
Memory areas used for DMA transfers must be specified by physical address, and must be fixed and contiguous.
Only 2 programs can execute MON EXABS simultaneously.
Monitor call format and parameter example:¶
| LOT | LON |
| LDA | (PAR |
| MON | 335 |
| JAN | ERROR |
| PAR, | IFUNC |
| DMEM | |
| IBLOCK | |
| NBLOCK |
| IFUNC, 0 | Z | READ | | DMEM, 2;0 | Z | TO PAGE 200 (400000) | | IBLOCK, 120000;0 | Z | FROM SECTOR 120000 | | NBLOCK, 1;0 | Z | ONE BLOCK | | | | | | LDN, 1100 | Z | BIG DISK |
ND-60.230.01
Page 41¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III MONITOR CALLS
6.2.7 IOMTY (MON 336)¶
The IO multifunction (IOMTY) monitor call is used to change some of the attributes of terminal input and output.
The L-register contains a function code from the following table.
| Function code | Function |
|---|---|
| 0 | Set alternative unit 0. |
| T= logical unit to become unit 0. | |
| A= 1 if translation to capital letters is wanted, 0 if not. | |
| 1 | Reset unit 0 to own terminal. |
| 2 | Set break mode on alternative terminal. |
| Parameters as MON BRKM. | |
| 3 | Set echo mode on alternative terminal. |
| Parameters as MON ECHOM. |
Return: Error, A-reg = error code.
Skip return: OK.
Rules:¶
- Callable from background only.
- The monitor call can affect all terminals reserved by the calling background program.
6.2.8 SPCHG (MON 337)¶
The Segment and Page table CHAnge monitor call implements the same functions as the MCALL and MEXIT monitor calls, but with the extension that the normal and alternative page tables may be changed.
Parameters:¶
- D-reg bit 15 is set if MEXIT (mon 132) is wanted, it is reset if MCALL (mon 133) is wanted.
- if MCALL: D bits 2-3 contain new normal page table.
D bits 0-1 contain new alternative page table.
T like MCALL (points to address and segment numbers).
- return: T and L like MCALL.
D contains old page tables.
- if MEXIT: D contains D-reg from MCALL return (but bit 15 set).
T and L from MCALL return (like MEXIT).
NO-60.230.01
Page 42¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III MONITOR CALLS¶
Rules:¶
This monitor call is only callable from RT.
Example:¶
ON INITIAL SEGMENT¶
| Command | Description |
|---|---|
| SAA 3 | PT 1 AND 2 |
| COPY SA DD | IN D REGISTER |
| LDT (SEGAD) | |
| MON 337 |
CONTINUATION...
SEGAD, SUBRO¶
| Command | Description |
|---|---|
| 100201 | SEGMENTS 200 AND 201 (OCTAL) |
ON NEW SEGMENT
| Command | Description |
|---|---|
| SUBRO, STT SAVET | SAVE T, L, AND D REGISTERS |
| COPY SL DT | |
| STT SAVEL | |
| COPY SD DT | |
| STT SAVED |
CONTINUATION...
| Command | Description |
|---|---|
| LDT SAVED | |
| COPY ST DD | |
| BSET ONE DD 170 | SET BIT FOR MEXIT |
| LDT SAVEL | |
| COPY ST DL | |
| LDT SAVET | |
| MON 337 | BACK TO ORIGINAL SEGMENTS (CONTI) |
NO-60.230.01
Page 43¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
GPIB DRIVER¶
7. GPIB DRIVER¶
The driver for General Purpose Interface Bus can now be ordered together with SINTRAN III, as an option. The GPIB driver communicates with user programs (or GPIB-Monitor) through XMSG. The GPIB driver must be started/stopped by ØSINTRAN-SERVICE-PROGRAM
Driver and datafields for 1 to 8 interfaces can be ordered with library marks 8GPI0 - 8GPI7.
ND-60.230.01
Page 44¶
OCTOBUS¶
This implementation of OCTOBUS supports a computer network in tight coupling, i.e. with shared memory. The OCTOBUS can be used for signalizing (kick) between the computers, but the data must be transferred through a common memory.
8.1 OCTOBUS PROGRAMMING DESCRIPTION¶
The OCTOBUS can be accessed both from RT-programs, SINTRAN III tasks and direct tasks. RT-programs use the monitor call 324_8, and the SINTRAN III and direct tasks use a special system routine to access the OCTOBUS. The destination station (CPU) number is the physical station number for the specific destination OCTOBUS unit. This will probably be changed to a logical destination station number in the future. RT-programs have to reserve the OCTOBUS input part before using it. No reservation is necessary from SINTRAN III and from direct tasks.
The logical device numbers are: 240_8 - 247_8. It is possible to have up to four OCTOBUS units (interfaces) in each CPU system.
40_8 slots can be accessed in each OCTOBUS unit. Slot numbers 0 - 17_8 are reserved for direct tasks. Slot numbers 20_8 - 37_8 are accessible from both direct tasks and RT programs. The first logical device number in each unit corresponds to slot number 20_8 in that OCTOBUS unit.
| OCTOBUS Unit | Log. Dev. Nos | Slots No |
|---|---|---|
| OCTOBUS unit 0 | 240_8 - 241_7 8 | 20_8 - 37_8 |
| OCTOBUS unit 1 | 242_8 - 243_7 8 | 20_8 - 37_8 |
| OCTOBUS unit 2 | 244_8 - 245_7 8 | 20_8 - 37_8 |
| OCTOBUS unit 3 | 246_8 - 247_7 8 | 20_8 - 37_8 |
The 6 following functions are implemented:
- Function - 0 - kick
- Function - 1 - hang in I/O wait to be kicked (RT-programs only)
- Function - 2 - activate when kicked (RT-programs only)
- Function - 3 - prepare for kick (SINTRAN III / direct tasks only)
- Function - 4 - send status/control information (SINTRAN III / direct tasks only)
- Function - 5 - read OCTOBUS status (check last kick)
- Function - 6 - who am I (get own station / CPU number)
NO-60.230.01
Page 45¶
8.1.1 Examples of use¶
Kick:¶
- A-register - 0 (kick)
- D-register - destination station (CPU) number
- T-register - RT-programs : logical device numbers
SINTRAN III tasks : slot number - X-register - SINTRAN III tasks only : OCTOBUS unit number.
Return information:
- Skip return - OK (A-register = 0)
- Error return - A-register contains the error number (see table)
Hang in I/O wait to be kicked/activated when kicked:¶
These functions are only legal from RT-programs
- A-register
- 1 (hang in I/O wait to be kicked)
- 2 (activate when kicked)
- T-register - logical device number
Return information:
- Skip return - OK (A-register = 0)
- Error return - A-register contains the error number (see table)
Prepare for kick:¶
This function is only legal from SINTRAN III / direct task
- A-register - 3 (prepare for kick)
- D-register - address of code to be executed on OCTOBUS driver
level when a kick arrives at this slot - T-register - slot number
- X-register - OCTOBUS unit number (0,1,2,3)
Return information:
- Skip return - OK (A-register = 0)
- Error return - A-register contains the error number (see table)
“Kicked code” on driver level will get the source station number
returned in the A-register.
Send status / control information:¶
This function is only legal from SINTRAN III / direct task
- A-register - 4 (send status/ control information)
- D-register - destination station (CPU) number
- T-register - status / control information
- X-register - OCTOBUS unit number (0,1,2,3)
Return information:
- Skip return - OK (A-register = 0)
- Error return - A-register contains the error number (see table)
ND-60.230.01
Page 46¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
OCTOBUS¶
Read OCTOBUS Status (Check Last Kick)¶
A-register
- 5 (read OCTOBUS status)
T-register
- RT-programs: logical device numbers
- SINTRAN III tasks: slot number
X-register
- SINTRAN III tasks only: OCTOBUS unit number
Return Information:¶
- Skip return - OK (A-register = 0)
- Error return - last kick (if any!) is probably not successful, yet A-register contains the error number.
In both cases, the following information is returned:
| Register | Description |
|---|---|
| A-register | error number (could be 0) |
| O-register | transmit status last used for this slot or logical device number |
| X-register | actual hardware transmit status |
| T-register | actual hardware receive status |
Who am I (Get Own Station / CPU Number)¶
A-register
- 6 (who am I)
T-register
- RT-programs: logical device numbers
- SINTRAN III tasks: slot number
X-register
- SINTRAN III tasks only: OCTOBUS unit number
Return Information:¶
- Skip return - OK (A-register = 0)
- Error return - A-register contains the error number (see table)
In both cases, the following information is returned:
| Register | Description |
|---|---|
| A-register | error number (could be 0) |
| T-register | actual CPU / station number |
ND-60.230.01
Page 47¶
8.1.2 Possible Error Numbers¶
Table of possible error numbers returned from the OCTOBUS driver:
(Those marked with an asterisk are not related to any tasks or
RT-programs. They are only written on the error device as a system
error message)
| Code | Number | Description |
|---|---|---|
| OKRET | 0 | normal return with skip |
| 0 - 31 | hardware control/status numbers written on the error device when transmitted/received | |
| ILCPUNO | 41 | illegal destination station (CPU) number |
| OCTOTIMOUT | 42 | OCTOBUS timeout |
| ILFUNC | 43* | function in receive data is wrong |
| NORES | 44* | no RT-program has reserved the mailbox |
| ILHFUNC | 45* | illegal basic control function |
| MULERR | 46* | multibyte message with no header |
| ILLSOT | 47 | wrong slot (task) number |
| ILTSTS | 48 | wrong transmit status |
| TRERR | 49 | transmit error (return error from "kick") |
| PTRERR | 50 | error in previous transmit (return from next "kick" or read OCTOBUS status) |
| NOTTR | 51 | current transmit not finished (return from "kick") |
| PRTRANS | 52 | previous transmit not finished (return from next "kick" or read OCIOBUS status) |
| NOKICK | 53* | task is not prepared for "kick" |
| SCPC | 54 | send-control-package not implemented |
| WFU | 55 | wrong OCTOBUS function in transmit |
| NOINIT | 56* | no "P-reg" is initiated for direct task |
| HWST | 57* | hardware status |
| MULP | 58* | multibyte package |
| MULPD | 59* | multibyte package data byte |
| NORT | 60 | not legal for RT-programs |
| NOTAS | 61 | not legal for tasks |
Page 48¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III COMMANDS¶
9. SINTRAN III COMMANDS¶
9.1 GENERAL¶
All commands requiring a segment number as parameter accept symbolic segment name or segment number in octal format. Segment names can consist of 1 to 7 characters. Legal characters are all alphanumeric and _ (underline). Segment names cannot start with a numeric character.
9.2 REENTRANT SUBSYSTEMS¶
The table of reentrant subsystems and ND-500 standard domains is increased to a maximum of 75 entries, when the average subsystem name length is less than 14 characters.
9.3 RENAMED COMMANDS¶
The commands:
- LIST-OPENEO-FILES,
- LIST-RTOPENED-FILES
- SET-PERMANENT-OPENEO
are renamed to:
- LIST-OPEN-FILES,
- LIST-RTOPEN-FILES
- SET-PERMANENT-OPEN
9.4 MODIFIED COMMANDS¶
9.4.1 ∂CHANGE-BACKGROUND-SEGMENT-SIZE¶
The first parameter is changed from terminal number to segment number/name.
9.4.2 ∂LOOK-AT¶
New area to look at: PHYSICAL
Purpose: Inspect/change contents of all physical memory in the system.
Addresses may be double integers when using ∂LOOK-AT PHYSICAL
9.4.3 ∂COLD-START¶
This command will have {(terminal no.)} as optional parameter. After the ∂COLD-START is performed the specified terminal will be the "console" to give further commands from. The "normal console" cannot be used until the command ∂INITIAL-BACKGROUND-PROGRAMS is executed and the user logged in on the "temporary console" has logged out. Then the "normal console" will take over as console again.
ND-60.230.01
Page 49¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III COMMANDS¶
9.5 NEW COMMANDS¶
9.5.1 ∂UE-AUTOMATIC-LOGIN¶
Parameters:
- ALL TERMINALS ? <yes>/<no>
- ENABLE=1/DISABLE=0:
- TERMINAL NUMBER:
This command enables or disables the user environment automatic login facilities.
If automatic login is enabled on a terminal, an attempt to log in (by pressing "escape") on the terminal, will lead to automatic login on the user USER-ENVIRONMENT, and the UE-LOGIN program is started.
The command is restricted to user SYSTEM.
9.5.2 ∂CLEAR-BATCH-QUEUE¶
Parameter: <BATCH NUMBER>
This command deletes all entries in the batch queue of the specified batch process.
The command is restricted to user SYSTEM.
9.5.3 ∂DEFINE-SPOOLING-FILE-MESSAGE¶
Parameters:
- <USER TEXT>
- <PRINTING MESSAGE INDEPENDENT OF SPOOLING CONDITION?>
This command was removed from the I-version and has been reinstalled. The command is available to every user and defines a text to be written to the error device whenever one of the terminal user's spooling queue files is to be emptied on a peripheral. The text given by the parameter will be used until another text is defined. If no text is wanted, a single quote ('') must be used as a parameter. The text is suppressed if the second or third parameters of ∂DEFINE-SPOOLING-CONDITIONS are NO and the value of the parameter <printing message independent of spooling conditions?> is also NO.
Page 50¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN-SERVICE-PROGRAM¶
10. SINTRAN-SERVICE-PROGRAM¶
10.1 GENERAL¶
All ∆SINTRAN-SERVICE-PROGRAM commands are now legal from batch. All input-lines in batch and mode jobs in SINTRAN-SERVICE-PROGRAM commands must be started with the character ∆.
Example:
∆SINTRAN-SERVICE-PROGRAM
∆SET-CLOSED-SCRATCH-FILE-SIZE
∆37
∆64
∆YES
∆NO
∆EXIT
The first parameter is logical unit number, 37, the next is size of closed scratchfile, 64¹⁰, the third is an answer to question IMAGE?, YES, and the last is a NO as answer to the question SAVE-AREA?. The last line is the command EXIT to leave the SINTRAN-SERVICE-PROGRAM.
Symbolic segment names can be used in the same way in ∆SINTRAN-SERVICE-PROGRAM commands as described in chapter 9, SINTRAN III commands.
10.2 COMMANDS REMOVED¶
10.2.1 *DEFINE-BASIC-TIME-UNIT¶
10.3 MODIFIED COMMANDS¶
10.3.1 *SET-CLOSED-SCRATCH-FILE-SIZE¶
The default closed scratchfile size is increased to 64K. The closed scratchfile size may be set to a negative value, which means that the scratchfile should not be shrunk unless the number of unused pages (of user SCRATCH) is less than the given negative value. The scratchfile is then shrunk by the necessary number of pages to obtain the given number of unused pages. If SINTRAN III is generated with Background Allocation System, this command cannot be used on terminals with dynamic connection to a background program.
ND-60.230.01
Page 51¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN-SERVICE-PROGRAM¶
10.3.2 *SET-SPOOLING-DEVICE-NUMBER¶
This command can only affect MEMORY and SAVE-AREA. IMAGE and MEMORY are the "same area" for this function.
10.3.3 *INSERT-SPOOLING-HEADER¶
This command can only affect MEMORY and SAVE-AREA. IMAGE and MEMORY are the "same area" for this function.
10.3.4 *REMOVE-SPOOLING-HEADER¶
This command can only affect MEMORY and SAVE-AREA. IMAGE and MEMORY are the "same area" for this function.
10.3.5 *INITIALIZE-SYSTEM-SEGMENT¶
The first parameter is changed from terminal number to segment number/name.
10.3.6 *CHANGE-BUFFER-SIZE¶
This chapter is valid for SINTRAN III/VSX and VSX-500 only. This command can be used on terminals, with one restriction. The restriction is that the size of the datafields (input+output), plus the buffers (input+output), must fit inside one page. This gives the maximum size of the sum of input and output buffers to 3424 bytes. The default buffer size for terminals are 134 bytes in input and 270 bytes in output.
10.3.7 *INSERT-IN-TIME-SLICE¶
This command has got an additional parameter for specifying the time slice class the program shall use. The command format: *INSERT-IN-TIME-SLICE
10.3.8 *DEFINE-TIME-SLICE¶
This command is rewritten to operate upon the new time slicer program. The command has the following format:
*DEFINE-TIME-SLICE
| IMAGE | YES | | SAVE-AREA? | NO | | CHANGE TIMESLICE PARAMETERS (YES/NO) (DEFAULT IS NO): | YES |
| PRIORITY FOR OWNER OF SYSTEM RESOURCES WHICH |
|---|
| IMAGE ARE WAITED FOR BY OTHER PROGRAMS (1B - 77B) |
| NO. OF BASIC TIME UNITS IN ONE TIMESLICE UNIT (1B - 400B) |
ND-60.230.01
Page 52¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN-SERVICE-PROGRAM
| LOWEST PRIORITY BEFORE GETTING RAISED ON BREAK (1B - 70B) | 40/ |
|---|---|
| LOWEST TIME COUNT BEFORE GETTING HASHED (1B - 400B) | 22/ |
| BIT MASK USED WHEN HASHING (1B - 177B) | 17/ |
CHANGE TIMESLICE ELEMENTS (YES/NO) (DEFAULT IS NO)? YES
TIMESLICE CLASS (0B - 7B) / 0/: 6
| ELEMENT | VALUE |
|---|---|
| ESCAPE ELEMENT FOR THIS CLASS | 30/ |
| BREAK ELEMENT FOR THIS CLASS | 30/ |
| TIMESLICE ELEMENT TO CHANGE | 30/ |
| PRIORITY FOR THIS ELEMENT (1B - 77B) | 10/: 10 | | TIME COUNT FOR THIS ELEMENT (1B - 400B) | 2/: 2 | | POINTER TO NEXT ELEMENT (0B - 378) | 31/: 31 | | CHANGE NEXT ELEMENT (YES/NO) (DEFAULT IS NO): | YES |
TIMESLICE ELEMENT NO. 31
| PRIORITY FOR THIS ELEMENT (1B - 77B) | 6/: 6 | | TIME COUNT FOR THIS ELEMENT (1B - 400B) | 4/: 4 | | POINTER TO NEXT ELEMENT (0B - 378) | 32/: 32 | | CHANGE NEXT ELEMENT (YES/NO) (DEFAULT IS NO): | YES |
TIMESLICE ELEMENT NO. 32
| PRIORITY FOR THIS ELEMENT (1B - 77B) | 1/: 1 | | TIME COUNT FOR THIS ELEMENT (1B - 400B) | 30/: 30 | | POINTER TO NEXT ELEMENT (0B - 378) | 31/: 31 | | CHANGE NEXT ELEMENT (YES/NO) (DEFAULT IS NO): |
MORE CLASSES (YES/NO) [DEFAULT IS NO]: NO
The values listed in parentheses () are the legal value range of the parameter, and the value listed between slashes // is the current value, which is also equal to the default value of the parameter. The time slice classes 0-5 are used by the system, and two classes are then free to use. The free time slice elements to use are the elements number 30 -37.
For more information about the time slicer program, see chapter 3, time slicing.
10.4 NEW COMMANDS¶
10.4.1 *LIST-TIME-SLICE-CLASS¶
The format of the command:
*LIST-TIME-SLICE-CLASS
TIMESLICE CLASS: 6
IMAGE OR SAVE-AREA: IMAGE
ND-60.230.01
Page 53¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN-SERVICE-PROGRAM¶
| TIMESLICE ELEMENT NO. | PRIORITY OF ELEMENT | NO. OF TIMESLICE UNITS ON ELEMENT |
|---|---|---|
| 30 | 10 | 2 (ESCAPE ELEMENT) |
| 30 | 10 | 2 (BREAK ELEMENT) |
| 31 | 6 | 4 |
| 32 | 1 | 30 |
| 31 |
All listed values are in octal format.
10.4.2 *LIST-TIME-SLICE-PARAMETERS¶
The format of the command:
LIST-TIME-SLICE-PARAMETERS
IMAGE? YES
SAVE-AREA? NO*
IMAGE
PRIORITY FOR OWNER OF SYSTEM RESOURCES WHICH ARE WAITED FOR BY OTHER PROGRAMS: 67
NO. OF BASIC TIME UNITS IN ONE TIMESLICE UNIT: 14
LOWEST PRIORITY BEFORE GETTING RAISED ON BREAK: 40
LOWEST TIME COUNT BEFORE GETTING HASHED: 22
BIT MASK USED WHEN HASHING: 17
All listed values are in octal format.
10.4.3 *LIST-TIME-SLICED-PROGRAMS¶
The format of the command:
*øLIST-TIME-SLICE-PROGRAMS
*LIST-TIME-SLICE-PROGRAMS
| LOG. | DEV. | BACKG. | PROGR. | TIMESLICE CLASS |
|---|---|---|---|---|
| 1 | BAK01 | 0 | ||
| 36 | BAK02 | 0 | ||
| 37 | BAK03 | 0 | ||
| 38 | BAK04 | 0 | ||
| 39 | BAK05 | 0 | ||
| 48 | NO FIXED PROGR. | 0 | ||
| 49 | NO FIXED PROGR. | 0 | ||
| 50 | NO FIXED PROGR. | 0 | ||
| 51 | NO FIXED PROGR. | 0 | ||
| 52 | NO FIXED PROGR. | 0 | ||
| 768 | NO FIXED PROGR. | 0 | ||
| 769 | NO FIXED PROGR. | 0 | ||
| 770 | NO FIXED PROGR. | 0 | ||
| 670 | BCH01 | 1 | ||
| 672 | BCH02 | 1 |
NO-60.230.01
Page 54¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN-SERVICE-PROGRAM¶
10.4.4 *DEFINE-HDLC-BUFFER¶
Parameters:
\<LOGICAL DEVICE NUMBER>
\<BUFFER SIZE>
Purpose: Allocate buffer for the specified HDLC interface.
10.4.5 *START-GPIB¶
Parameter:
\<CONTROLLER NO.>
The GPIB driver will clear the GPIB controller and set up XMSG communication (name a port and reserve message and buffer space)
10.4.6 *STOP-GPIB¶
Parameter:
\<CONTROLLER NO.>
10.4.7 *CHANGE-GPIB-BUFFERSIZE¶
Parameters:
\<CONTROLLER NO.>
\<USER BUFFER SIZE (OCT)>
\<DMA BUFFER SIZE (OCT)>
10.4.8 *CHANGE-TABLE¶
This is a command to operate upon the four tables
| USER-RESERVED-DEVICE-NUMBERS |
This table is used to define the hardware device number intervals that should not be accessed when the system is initialized at system start-up, or at system restart after powerfail. The hardware device number is the number used in the IOX and/or IOXI instructions. An element in this table is defined by the first and last hardware device number that should not be accessed when the system is initialized.
| USER-RESERVED-MEMORY-AREA |
This table specifies the memory pages that should not be used by the system for system-tables, i.e., memory-map, device-buffers, page-owner-tables etc. A memory area is specified by the first and last physical page to reserve. The memory area set up in this table is normal swapping area. Segment can be fixed in this area.
| MEMORY-AREA-UNAVAILABLE-FOR-SWAPPING |
This table specifies memory area that should not be used for swapping. It may be used for LAMUs or some other special use. A memory area is defined by the first and last physical page in the area.
ND-60.230.01
Page 55¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN-SERVICE-PROGRAM
MEMORY-AREA-INVISIBLE-FOR-THIS-SYSTEM¶
This table specifies memory area that the system should not access at all. This is implemented to take care of several CPUs accessing shared multiport memory. When one system is started, another system may have initialized the shared memory. The system starting should therefore not access this memory area, because the contents of the shared area will then be destroyed. A memory area is defined by the first and last physical page in the area.
The command has the following format:
*CHANGE-TABLE¶
- USER-RESERVED-DEVICE-NUMBERS,
- USER-RESERVED-MEMORY-AREA,
- MEMORY-AREA-UNAVAILABLE-FOR-SWAPPING,
- MEMORY-AREA-INVISIBLE-FOR-THIS-SYSTEM
- TABLE: USER-RESERVED-DEVICE-NUMBERS
FUNCTION:¶
The CHANGE-TABLE command has the following sub-commands:
- LIST-TABLE
- CHANGE-TABLE
- CHANGE-ELEMENT
- DELETE-ELEMENT
- INSERT-ELEMENT
- CLEAR-TABLE
- EXIT
- HELP
Some examples of the use of this command:
*CHANGE-TABLE¶
- USER-RESERVED-DEVICE-NUMBERS,
- USER-RESERVED-MEMORY-AREA,
- MEMORY-AREA-UNAVAILABLE-FOR-SWAPPING,
- MEMORY-AREA-INVISIBLE-FOR-THIS-SYSTEM
- TABLE: USER-RESERVED-DEVICE-NUMBERS
| FUNCTION: | INSERT-ELEMENT |
|-------------------------------|
| IMAGE OR SAVE-AREA (DEFAULT IS IMAGE): |
| FIRST DEVNO. (OCT): | 0 |
| LAST DEVNO. (OCT): | 2 |
| FUNCTION: | CHANGE-ELEMENT |
|-------------------------------|
| IMAGE OR SAVE-AREA (DEFAULT IS IMAGE): |
| ELEMENT NUMBER: | 1 |
| FIRST DEVNO. (OCT): | 4 |
| LAST DEVNO. (OCT): | 10 |
ND-60.230.01
Page 56¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN-SERVICE-PROGRAM
FUNCTION: LIST-TABLE¶
IMAGE OR SAVE-AREA (DEFAULT IS IMAGE):
OUTPUT FILE:
| ELEMENT NO. | FIRST DEVNO | LAST DEVNO |
|---|---|---|
| 0 | 0 | 2 |
| 1 | 4 | 10 |
| 2 | 0 | 0 |
| 3 | 0 | 0 |
| 4 | 0 | 0 |
| 5 | 0 | 0 |
| 6 | 0 | 0 |
| 7 | 0 | 0 |
FUNCTION: DELETE-ELEMENT¶
IMAGE OR SAVE-AREA (DEFAULT IS IMAGE):
ELEMENT NUMBER: 1
FUNCTION: CLEAR-TABLE¶
IMAGE OR SAVE-AREA (DEFAULT IS IMAGE):
FUNCTION: EXIT¶
10.4.9 MONCALL-LOG¶
This command may be used to log how many times each monitor call is performed by one specific program or by all programs in the system.
The log is kept in an internal buffer, and may be dumped to an output file when desired.
The moncall-log facility is an option that must be ordered at the time of system generation, to be implemented in the system.
Subcommands:
START-MONCALL-LOG
Starts the log procedure for one or all programs
Example:
FUNCTION: START-MONCALL-LOG
LOG MONCALLS FOR ONLY ONE PROGRAM (DEFAULT IS YES)? YES
RT NAME: BA�08
STOP-MONCALL-LOG
Stops the log procedure. The log may be restarted by
RESTART-MONCALL-LOG
PRINT-MONCALL-LOG <output file>
Prints the current contents of the log. This command may be given both during the log (before STOP), and after.
HELP
EXIT
NO-60.230.01
Page 57¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN-SERVICE-PROGRAM¶
10.4.10 *SWAPPING-LOG¶
This command is used to keep a log of swapping and pagefaults.
The swapping-log facility is an option and must be ordered at time of system generation, to be implemented in the system.
Subcommands:
START-SWAPPING-LOG¶
Starts swapping-log for one specific program, or for all programs.
Example:
FUNCTION: START-SWAPPING-LOG
LOG SWAPPING FOR A SPECIFIC PROGRAM (DEFAULT IS YES)? YES
RT NAME: BAK17
STOP-SWAPPING-LOG¶
Stops the current logging. The log may be restarted by:
RESTART-SWAPPING-LOG¶
READ-SWAPPING-LOG¶
Example:
FUNCTION: READ-SWAPPING-LOG
| Description | Count |
|---|---|
| TOTAL NUMBER OF PAGEFAULTS WITHOUT DISC ACCESS | 189 |
| TOTAL NUMBER OF PAGEFAULTS IN RT-COMMON | 0 |
| TOTAL NUMBER OF PAGEFAULTS ON LEVEL 4 | 1 |
| TOTAL NUMBER OF PAGEFAULTS ON LEVEL 1 | 46 |
| TOTAL NUMBER OF PAGES SWAPPED OUT (WRITTEN TO DISC) | 9 |
SWAPPING-LOG¶
Prints swapping log information at specified intervals, default 60 seconds. This command must be terminated by an <escape>
Example:
FUNCTION: SWAPPING-LOG
LOG SWAPPING FOR A SPECIFIC PROGRAM (DEFAULT IS YES)? NO
INTERVAL IN SECONDS (DEFAULT IS 60 SECS): 2
| PF WITHOUT DISC ACCESS | PF IN RT-COMMON | PF ON LEVEL 4 | PF ON LEVEL 1 | PAGES SWAPPED OUT |
|---|---|---|---|---|
| TOT.ACCUM.: | 197 | 0 | 0 | 4 |
| IN INTV.: | 5 | 0 | 0 | 0 |
If either of the commands START-SWAPPING-LOG or SWAPPING-LOG has been used, they cannot be used again before the command STOP-SWAPPING-LOG is given.
EXIT
HELP
ND-60.230.01
Page 58¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN-SERVICE-PROGRAM¶
10.4.11 *CPU-LOG¶
The command CPU-LOG will print the CPU activity as a percentage at specified intervals (default 60 seconds). The percentage printed is based on the contents of a SINTRAN III global variable CPULOOPTIME (location 342 in resident). The contents of this variable indicates the number of passes pr. second through the idle loop on level 0 when no other activity takes place in the computer. This variable has an initial value, but may be more accurately calibrated through the command:
10.4.12 *FIND-CPULOOPTIME¶
This command should only be issued when no activity takes place on the machine. After a delay of 30 seconds the number of "CPU loops" per second (decimal) will be printed. The variable CPULOOPTIME may be changed to this value by the ∆SINTRAN-SERVICE-PROGRAM command *CHANGE-VARIABLE, to get a more accurate percentage from CPU-LOG.
10.5 DISK ACCESS LOG¶
10.5.1 GENERAL¶
The disk access log may be used to log all or a selection of the disk accesses performed by the system. Communication with the disk access log system may be done through SINTRAN-SERVICE-PROGRAM commands or through MON ABSTR.
The disk access log facility is an option and must be ordered at the time of system generation, to be implemented in the system.
10.5.2 MAINTAINING THE DISK LOG¶
The SINTRAN-SERVICE-PROGRAM command *DISC-ACCESS-LOG has several subcommands:
- DEFINE-DISC-ACCESS-LOG
- START-DISC-ACCESS-LOG
- STOP-DISC-ACCESS-LOG
- START-DISC-ACCESS-COUNTER
- STOP-DISC-ACCESS-COUNTER
- CLEAR-DISC-ACCESS-COUNTER
- DISC-ACCESS-COUNTER
- DISC-DRIVER-ERROR-INFORMATION
- DISC-ERROR-STATUS
- LOG-DISC-ACCESS-COUNTER
- EXIT
- HELP
ND-60.230.01
Page 59¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN-SERVICE-PROGRAM
The function DEFINE-DISC-ACCESS-LOG is used to:
- Define a log file. The log file must be contiguous. The area occupied by the log file will be used to log disk accesses but will not be accessed through the file system, i.e., the byte pointer of this file will remain zero.
- Select log record size. Small (4 words) or big (8 words). Layout of record is described below.
- Specify which disk accesses should be logged. All disk accesses may be logged, or only the accesses to a specified controller or drive. Logging of only read or write accesses may be specified. Accesses to a limited part of a disk may be specified.
Simple example, specifying log of all disk accesses:
FUNCTION: DEFINE-DISC-ACCESS-LOG
DISC ACCESS LOG FILE: LOGGING:LOG
SMALL OR BIG RECORD SIZE ON DISC LOG FILE (DEFAULT IS BIG)? SMALL
LOG ALL DISC ACCESSES (DEFAULT IS YES)? YES
Example using all the possible specifications:
FUNCTION: DEFINE-DISC-ACCESS-LOG
DISC ACCESS LOG FILE: LOGGING:LOG
SMALL OR BIG RECORD SIZE ON DISC LOG FILE (DEFAULT IS BIG)? BIG
LOG ALL DISC ACCESSES (DEFAULT IS YES)? NO
LOG DISC ACCESSES TO ONE CONTROLLER ONLY (DEFAULT IS NO)? YES
LOGICAL DEVICE NUMBER OF DISC TO LOG (OCTAL): 1100
LOG DISC ACCESSES TO ONE DRIVE ONLY (DEFAULT IS NO)? YES
DRIVE NUMBER OF DRIVE TO LOG: 0
LOG ONLY WRITE ACCESSES (DEFAULT IS NO)? YES
LOG ONLY READ ACCESSES (DEFAULT IS NO)? NO
LOG ONLY ACCESSES TO A LIMITED PART OF THE DISC (DEFAULT IS NO)? YES
FIRST DISC ADDRESS IN THE DISC PART TO LOG (OCTAL ONLY): 3400
LAST DISC ADDRESS IN THE DISC PART TO LOG (OCTAL ONLY): 3417
The function START-DISC-ACCESS-LOG will start the log procedure if the log has been defined.
The function STOP-DISC-ACCESS-LOG will stop the log procedure.
The function START-DISC-ACCESS-COUNTER starts and defines the disk access counter, which is a simpler feature that just counts the number of read and write accesses.
Example:
FUNCTION: START-DISC-ACCESS-COUNTER
COUNT ALL DISC ACCESSES (DEFAULT IS YES)? NO
COUNT DISC ACCESSES TO ONE CONTROLLER ONLY (DEFAULT IS NO)? YES
LOGICAL DEVICE NUMBER OF DISC TO LOG (OCTAL): 1100
COUNT DISC ACCESSES TO ONE DISC UNIT NUMBER ONLY (DEFAULT IS NO)? YES
DRIVE NUMBER OF DRIVE TO LOG: 0
ND-60.230.01
Page 60¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN-SERVICE-PROGRAM¶
The function DISC-ACCESS-COUNTER will give the present value of the disk access counters.
The function LOG-DISC-ACCESS-COUNTER will give values of the disk access counters at specified intervals. Default interval is 60 seconds. This log must be terminated by an \<escape>.
The function CLEAR-DISC-ACCESS-COUNTER will reset the counters to 0.
The function DISC-DRIVER-ERROR-INFORMATION will list certain error variables from the disk driver. These are explained in the driver listing.
The function DISC-ERROR-STATUS will list error information from the disk datafield.
Layout of disk log file record:¶
SMALL: (4 words)¶
| Contents | ||
|---|---|---|
| 0 | CTREG | - Function |
| 1 | CAREG | - disk address |
| 2 | CDREG | - disk address |
| 3 | CLUNIT | - logical unit no. |
BIG: (8 words)¶
| Contents | ||
|---|---|---|
| 0 | CTREG | - Function |
| 1 | CAREG | - disk address |
| 2 | CDREG | - disk address |
| 3 | CXREG | - No. of sectors to transfer |
| 4 | MEMA1 | - memory address |
| 5 | MEMA2 | - memory address |
| 6 | CLUNIT | - logical unit no |
| 7 | RTREF | - Current RT-program |
10.5.3 HOW THE DISK ACCESS LOG WORKS¶
Information about the disk log is found in the datafield DF01L. If the disk log is defined and started, CTRDISK will check the disk log datafield for each transfer, to find out whether this transfer should be logged or not.
When the disk log is started, a buffer page is allocated. This page is divided into two buffers. When one of the buffers is full, the RT-program RTDIL is activated. This RT-program will dump the contents of the full buffer to the log file. Subsequent disk transfers will be logged to the other buffer.
ND-60.230.01
Page 61¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN-SERVICE-PROGRAM¶
Layout of disk access log datafield - DF0IL:¶
| DISP | SYMBOL | COMMENT |
|---|---|---|
| -2 | .... | Standard mass storage locations |
| 11 | ||
| 12 | DILBPNT | Buffer pointer for disk log |
| 13 | DILBANK | Memory bank for disk log buffer |
| 14 | DILADDR | 16 lower phys. memory add. bits of disk log buffer |
| DOUBLE D0IBADDR=DILBANK | ||
| 15 | DILADDR | Start address of disk log file (in disk addr) |
| 15 | DIL1DADDR | |
| 16 | DIL2DADDR | |
| 17 | DILNSEC | Number of sectors per page on "disk log file" disk |
| 20 | DILADDR | Last legal disk address on disk log |
| 20 | DIL1LDADD | |
| 21 | DIL2LDADDR | |
| 22 | DILGFLAG | Disk log flags |
| 23 | DILFLOG | Logical device number of disk log file disk |
| 24 | DILFUNIT | Drive number for disk log file disk drive |
| DOUBLE D0ILFLOG=DILFLOG | ||
| 25 | DILLOGV | Logical unit number of disk to log |
| 26 | DILDLIVE | Drive number of disk to log |
| 27 | DILALOGV | Disk controller to count disk accesses on |
| 30 | DILAUNIT | Disk unit number to count disk accesses on |
| 31 | DILFADDR | First disk address to log |
| 31 | DIL1FADDR | |
| 32 | DIL2FADDR | |
| 33 | DILGLADDR | Last disk address to log |
| 33 | DIL1LADDR | |
| 34 | DIL2LADDR | |
| 35 | DXNDACCESS | Disk access counter |
| 35 | 1XNDACCESS | |
| 36 | 2XNDACCESS | |
| 37 | DXNWACCESS | Write disk access counter |
| 37 | 1XNWACCESS | |
| 40 | 2XNWACCESS | |
| 41 | DALFUNC | Function code in MON ABSTR for disk access log RT-program |
| 42 | DALCMADDR | Memory address in MON ABSTR |
| 43 | DALCDADDR | Disk address in MON ABSTR |
BITS IN DILGFLAG :¶
| Bit | Function |
|---|---|
| 0 | DILCONTROLLER Log for one controller only |
| 1 | DIL1UNIT Log for one unit (drive) number only |
| 2 | DILLIMIT Log a part of the disk only |
| 3 | DILRACCESS Log read accesses only |
| 4 | DILWACCESS Log write accesses only |
| 5 | DILSMALL Write small record (4 words) on disk log file |
| 6 | DAC1CONTROLLER Disk access counter for one controller only |
| 7 | DAC1UNIT Disk access counter for one unit number only |
ND-60.230.01
Page 62¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN-SERVICE-PROGRAM¶
| 10 DILSTART | Disk log started |
| 11 DILDEFINED | Disk log file defined |
| 12 ID1TLBFULL | Disk log file buffer #1 is full |
| 13 2DILBFULL | Disk log file buffer #2 is full |
| 14 DILCOUNT | Count disk accesses |
| 15 DILBOK | Disk log buffer is fixed |
10.5.4 MON ABSTR AGAINST DISK LOG¶
The contents of the disk log datafield may be changed by using MON ABSTR (MON 131), and thereby defining the log, start, stop, etc.
Example:
LDT LDN
LDA (PARLI
PARLI, FUNC
DESAD
FUNC, 3 ! Function (define log in this example)
DESAD, DESA1 ! Physical address of
DESA2 ! working area
LDN,2200 ! Logical device number for MON ABSTR against disk log
The function determines which operation is to be performed. The working area will be used to give or receive information.
Working area layout for function 3:¶
| 0 | ZFSTART Start address of disk log file |
| 1 | xx (sector address) |
| 2 | ZFNBLCK Sectors per page on log file disk |
| 3 | ZFEND Last legal address on disk log file |
| 4 | xx |
| 5 | ZFLOGU Logical device number of log file disk |
| 6 | ZFUNIT Drive number of log file disk |
| 7 | ZDILGFLAG Flag (see below) |
| 10 | ZILOGU Logical device number of disk to be logged |
| 11 | ZLUNIT Drive number of disk to be logged |
| 12 | ZFLGADDR First sector address of specified area |
| 13 | xx |
| 14 | ZLLGADDR Last sector address of specified area |
| 15 | xx |
Possible functions:
Function = 1:
Write disk log record. Contents of working area is written as a record to the disk log buffer. The 4 first words are written if the current record size is small, otherwise the 8 first words will be written.
Page 63¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN-SERVICE-PROGRAM¶
Function = 2:
As for function 1, the rest of the disk log buffer is filled with zeros and the buffer is written to the log file.
Function = 3:
Define disk log record.
Contents of working area is written to the datafield DFDIL.
Function = 4:
Start disk log. Working area is not used.
Function = 5:
Stop disk log. Working area is not used.
Function = 6:
Start disk access counter.
First word in working area contains flag word. See DILGFLAG bits.
Function = 7
Stop disk access counter.
Function = 10B
Clear disk access counter.
Function = 11B
Read disk access counter.
The 4 first words of the working area filled with:
0, 1 : number of read accesses
2, 3 : number of write accesses
Function = 12B
Read last disk error information
Variables from the disk driver transferred to the working area
Function = 13B
Variables from the disk datafield transferred to the working area.
MON ABSTR activates the "driver" OVDIL on level 11 which will perform the necessary updating of the disk access log datafield DFDIL, according to the specified function.
10.6 COMMANDS FOR THE LAMU SYSTEM¶
See also description of MON MLAMU.
10.6.1 *PAGES-TO-LAMU¶
Parameters:
Create a LAMU area.
ND-60.230.01
Page 64¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN-SERVICE-PROGRAM¶
10.6.2 *PAGES-FROM-LAMU¶
Parameters:
<First physical page><memory><image>
10.6.3 *LAMU-AREAS¶
Parameter:
<output file>
List the memory parts reserved for the LAMU system.
10.6.4 *CREATE-LAMU¶
Parameters:
<LAMU ID><SIZE><PHYS.ADDR.>
10.6.5 *PROTECT-LAMU¶
Parameters:
<LAMU ID><RING><PROTECTION BITS (RFW)>
10.6.6 *DELETE-LAMU¶
Parameter:
<LAMU ID>
10.6.7 *LAMU-INFORMATION¶
Parameters:
<LAMU ID><OUTPUT FILE>
List all relevant information on a LAMU or on all LAMUs.
10.6.8 *SET-LAMU-CONSTANTS¶
Parameters:
<NO. OF LAMUS PER RT PROGRAM><TOTAL NUMBER OF LAMUS>
The system needs to be restarted to make any changes effective.
10.6.9 *LIST-LAMU-CONSTANTS¶
ND-60.230.01
Page 65¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
11. RT-LOADER¶
11.1 CORRECTED ERRORS¶
CHANGE-RT-DESCRIPTION
This command did not work properly with declared programs. When this command is used, a declared program will now receive the correct parameters, will change from declared to defined, and will be entered into the RTFIL.
11.2 DICTIONARY TABLE¶
The RT-Loader is now able to make use of a dictionary table when loading library files. A dictionary table can be made with the BRF-editor command MAKE-LIBRARY-FILE or with the BRF-Linker command PREPARE-BRF-LIBRARY-FILE. It contains information about the :BRF units on the file.
The loading of such files is faster, in particular if only a few units are referenced. Another advantage is, that units on the file may refer backwards to earlier units on the file.
Older versions of the RT-Loader will just skip the dictionary table and load the file in the usual way.
11.3 NEW COMMANDS¶
11.3.1 READ-PROGFILE¶
As a first step towards a two-bank RT-Loader, a new RT-Loader command has been implemented:
READ-PROGFILE <input file>,<segment>,<initial page table>
The command reads a :PROG file onto a segment and terminates the load of that segment (END-LOAD is not necessary).
<Input file>is of default type :PROG and may be one-bank or two-bank.
<Segment>Must be the segment number or name given in a previous NEW-SEGMENT or NEW-BACKGROUND-SEGMENT command. Default value is that segment. Only one NEW-SEGMENT or NEW-BACKGROUND-SEGMENT command is legal before this command.
<Initial page table>Initial page table for program bank. Default value is the one given by a previous SET-PAGE-TABLE command. Legal values are 1 or 2.
ND-60.230.01
Page 66¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
RT-LOADER¶
If a two-bank program file is loaded, the databank will be placed on the "opposite" bank. (2 or 1)
The address space of the segment will be determined by the program file.
11.3.2 SET-FORTRAN-100-DEFAULT¶
This command is implemented to simplify the use load procedures developed for FTN-compiled programs with FORTRAN-100 compiled programs.
Originally, the commands REENTRANT-LOAD and NREENTRANT-LOAD were tailor-made to systems compiled with the FTN compiler. These commands may now be used to load programs compiled with the FORTRAN-100 compiler, if SET-FORTRAN-100-DEFAULT is given first.
After each REENTRANT-LOAD the library FORTRAN-1BANK will be loaded. Stack space will be allocated and non-reentrant symbols deleted.
If the command NREENTRANT LOAD is used, the library FORTRAN-1BANK will be loaded at END-LOAD.
The RT-Loader will remain in "FORTRAN-100-mode" until the command RESET-FORTRAN-100-DEFAULT is given, or until the RT-Loader is left and entered again.
ND-60.230.01
Page 67¶
12. BACKGROUND ALLOCATION SYSTEM¶
12.1 GENERAL¶
The background allocation system makes it possible to generate SINTRAN III with a larger number of Terminals/TADs than the number of background processes. When a Terminal/TAD requests a background process (escape), one will be allocated if there is a free one.
Since each background process uses two segments, system segment and user segment, this makes it possible to increase the number of terminals without increasing the number of segments.
A timeout function is provided. If no activity has taken place for a set period, the terminal will be logged out. Warnings about this will be given before logout.
The background allocation system is an option, it is generated by including the library mark 88ACS.
12.2 SINTRAN-SERVICE-COMMANDS¶
The command *BACKGROUND-ALLOCATION-UTILITIES has these subcommands:
| Command | Description |
|---|---|
| SET-PERMANENT-CONNECTION | <termno> <memory> <image> <save> A terminal will be permanently connected to a background process, if one is free. The connection is reset by: |
| RESET-PERMANENT-CONNECTION | |
| DISABLE-TIMEOUT | <termno> <memory> <image> <save> The timeout function will not affect this terminal. The timeout function is restored by: |
| ENABLE-TIMEOUT | |
| CHANGE-LOGOUT-TIME | <time> <memory> <image> <save> Changes the amount of time a terminal may be inactive before it is logged out (if the timeout function is on). Original value = 30 minutes. |
| CHANGE-WARNING-TIME | <time> <memory> <image> <save> Changes the time a terminal may be inactive before the first logout warning is printed. Original value = 25 minutes. |
| TIMEOUT-OFF | Disables the timeout function for the entire system. |
| TIMEOUT-ON | Enables the timeout function for the entire system. |
Page 68¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
BACKGROUND ALLOCATION SYSTEM¶
DISPLAY¶
Gives an overview of all the terminals and background processes.
LIST-PARAMETERS¶
Lists the current timeout parameters.
FREE-BACKGROUND-PROGRAMS¶
Lists those background programs presently not connected to a terminal/TAD.
Page 69¶
SINTRAN III/VSX-500 VERSION J AND ND-500 MONITOR VERSION F¶
13.1 OUTLINE¶
The following ND-500 topics are covered:
- General news
- Modified commands
- New commands
- Modified monitor calls
- New monitor calls
Some of the monitor calls described here, may also be further described elsewhere in this document.
13.2 GENERAL NEWS¶
13.2.1 MESSAGE BUFFERS¶
The buffers for messages to the microprogram will now be dynamically allocated (when first user enters monitor after system start). They can now be in any of the ND-100 memory banks 0-3. This makes it possible to generate SINTRAN III with many more ND-500 processes.
13.2.2 NEW PACKAGING OF THE ND-500 MONITOR¶
The ND-500 MONITOR SUBSYSTEM PART is now delivered as a :PROG-file. For the user this means that more macros and debugging info (breakpoints etc.) can now be used. For the system supervisor it implies a slight change in installation procedures. The ND-500 MONITOR now comes on 3 diskettes. When installing the subsystem part (ND-500-MONITOR-F:PROG) the command DUMP-PROGRAM-REENTRANT should be used (on previous versions DUMP-REENTRANT was used). It is now also possible to define an extra command to be used for starting the symbolic debugger without first entering the ND-500 MONITOR.
13.2.3 DISASSEMBLY IN LOOK-AT¶
Longer instructions can now be disassembled. Up to four lines of output can be displayed.
13.2.4 EXTENDED ADDRESS RANGE IN LOOK-AT-CONTROL-STORE¶
This is only significant for machines with additional control store.
Page 70¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III/VSX-500 VERSION J AND ND-500 MONITOR VERSION F
13.2.5 NEW TIME QUEUE FOR THE ND-500¶
A new time queue for ND-500 processes is introduced in this version. The time queue is different from the standard time queue, in that the monitor calls STARTPR, SWITCHP, SIBSURV, A5XMSG and B5XMSG work on this queue. Those monitor calls that operate upon the standard SINTRAN III time queue (RT, INTV etc.) will have no effect on processes in the ND-500 time queue. A process enters the ND-500 time queue when the new 5TMOUT monitor call is used.
13.2.6 TIME SLICING¶
A new time slice class (4) has been implemented for mode-jobs using ND-500.
| TIME SLICE ELEMENT NO. | PRIORITY OF ELEMENT | NO. OF TIME SLICE UNITS ON ELEMENT |
|---|---|---|
| 21 | 50 | 3 (ESCAPE ELEMENT) |
| 21 | 50 | 3 (BREAK ELEMENT) |
| 22 | 42 | 6 |
| 23 | 35 | 14 |
| 4 | 30 | 30 |
| 5 | 24 | 50 |
| 6 | 20 | 4 |
| 5 |
Processes running on the low priorities will now get their priority incremented each time they do a monitor call. This results in a more fair distribution of CPU-time between I/O-bound and CPU-bound processes.
13.2.7 MESSAGES APPEARING WHEN USING AUTOMATIC-ERROR-MESSAGE¶
These messages will now contain the monitor call number instead of the monitor call name.
13.3 MODIFIED COMMANDS¶
13.3.1 PROCESS-LOG-ALL¶
Computation of the OTHERS column has been revised.
13.3.2 BREAK AND TEMPORARY-BREAK¶
These commands have now been extended by an extra parameter. This extra parameter is executed as a command when the break-point is reached. This option, combined with the built-in macro facility of the ND-500 MONITOR, can be very useful during debugging.
Page 71¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III/VSX-500 VERSION J AND ND-500 MONITOR VERSION F
13.3.3 DEBUG-STATUS¶
This command will show break-point interval and command, as specified in the BREAK and TEMPORARY-BREAK commands.
13.3.4 SET-SYSTEM-PARAMETERS and LIST-SYSTEM-PARAMETERS¶
The format and output of these commands have been changed. Some parameters no longer used by the time slicer have been removed.
13.3.5 SET-PRIORITY¶
The format of this command has changed.
13.3.6 LIST-EXECUTION-QUEUE¶
If no interval is given, the queue will be listed once only.
13.3.7 DEFINE-STANDARD-DOMAIN¶
More types of domains than before can now be defined as standard domains. It is still not possible to define, as standard domains, the domains with RT-COMMON access, common segment with ND-100 or shared segment.
13.3.8 CHANGING REGISTER CONTENTS WHEN IN LOOK-AT¶
In certain cases the modification of a register could also result in the modification of data or instructions. This has been corrected on the F-version.
13.4 NEW COMMANDS¶
13.4.1 EXIT FROM LOOK-AT¶
A period (.) may now be used as a synonym for the EXIT command in LOOK-AT mode.
13.4.2 INSERT-IN-TIME-SLICE and REMOVE-FROM-TIME-SLICE¶
Two new commands to enable and disable time slicing of a process.
Page 72¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III/VSX-500 VERSION J AND NO-500 MONITOR VERSION F
13.4.3 LIST-TIME-QUEUE¶
A new command to list the ND-500 time queue. A process enters the ND-500 time queue when the new 5TMOUT monitor call is used.
13.5 MODIFIED MONITOR CALLS¶
13.5.1 FOPEN¶
The last (5th) parameter previously returned the SINTRAN III open file number. It will now return the ND-500 connect number.
13.5.2 DVINST¶
The possibility of using device 0 (edited input) has been added.
13.5.3 DVOUTS¶
This monitor call may again be used for output to terminal 1 and error device.
13.5.4 NOWT¶
Processes terminating with terminal in nowait state would either,
1) Log the user out (if the process was started from SINTRAN III)
or
2) Write END OF FILE endlessly.
This has been corrected.
13.5.5 PASET and PAGET¶
These monitor calls now have the same meaning as PASET and PAGET on ND-100. The old functions of PASET and PAGET on ND-500 are now supplied by the monitor calls 5PAGET and 5PASET.
13.5.6 TMOUT¶
Parameters:
The format has been changed. It is now the same as for HOLD and 5TMOUT.
ND-60.230.01
Page 73¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III/VSX-500 VERSION J AND ND-500 MONITOR VERSION F
13.5.7 WFILE/RFILE/MAGTP USING DIRECT TRANSFER¶
The previous restriction that bytecount/byteaddress must be modulo block size has been removed.
13.6 NEW MONITOR CALLS¶
13.6.1 201 - MHDLC¶
Parameters:
The DCB has the same format in ND-500 as in ND-100, i.e. the COMMAND, STATUS, and HARDWARE STATUS fields of the DCB still occupy 2 bytes. If programs written in high level languages should run on both ND-100 and ND-500, you should take that into account, for example declaring the DCB with INTEGER2 in FORTRAN and INTEGER2 in PLANC. An INTEGER in PLANC and FORTRAN will occupy 2 bytes in ND-100 and 4 bytes in ND-500. But INTEGER2 and INTEGER2 will always occupy 2 bytes regardless of the machine.
Normally, the SUPER-DEVICE-CLEAR should be used during program initialization. This command will delete all DCBs currently being processed by the driver. "Garbage DCB reading" should then be unnecessary. The SUPER DEVICE CLEAR command looks like the DEVCL command, but the command is 0 (not 3).
Maximum size of DCB-MSIZE and DCB-USIZE is 176000.
DCB-ADDR must be even.
Function code 2 for read DCB and function code 0 for send DCB are legal from ND-500. Max length of user buffer must be specified in parameter 4 for function code 2.
13.6.2 256 - DEABF¶
Parameters:
This monitor call now has an extra (optional) parameter: default file type.
ND-60.230.01
Page 74¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III/VSX-500 VERSION J AND NO-500 MONITOR VERSION F
13.6.3 325 - OCTO¶
Parameters:
- <function>
- <Logical device no.>
- <Dest. stn./Ret.value>
Legal function codes are: - 0 - Kick - 1 - Wait for kick - 5 - Read OCTOBUS status - 6 - Who am I.
<Dest. stn./Ret.value> is destination station in function 0 (kick), return value in functions 5 (read status) and 6 (who am I) and dummy in function 1 (wait). If function is 5, then the value returned will be the last used transmit status in the lower 16 bits, and actual hardware transmit status in the upper 16 bits.
13.6.4 327 - FSMUL¶
Parameters:
- <function>
- <fileno>
Multifunction file system monitor call. Only function code 1 is legal. This code means write back index buffers. <fileno> is the connect number of the file which indexes should be written back.
13.6.5 333 - UDMA¶
Parameters:
- <func>
- <buffer>
- <unit>
- <ipar1>
- <ipar2>
Monitor call for Universal DMA. There is a fast version of this monitor call as an option in SINTRAN.
13.6.6 435 - PRT¶
Parameters:
- <process number>
- <reason code>
Cause programmed trap in another process. <process number> composed of cyclic number and process index (as in for instance STARTPR) identifies the process to be trapped. This process will get the lower half of <reason code> (in PRT) as the <error code> (in GERRCOD) when using GERRCOD inside the trap handler. The upper half of <error code> (in GERRCOD) will contain the process number of the trapping process.
ND-60.230.01
Page 75¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SINTRAN III/VSX-500 VERSION J AND ND-500 MONITOR VERSION F
13.6.7 330 - TRMST¶
Parameters:
<ldn>
<buffer>
Terminal status.
13.6.8 332 - TLREP¶
Parameters:
<function>
<ldn>
Terminal line report.
13.6.9 514 - TMOUT¶
Parameters:
<number of time units>
<time unit>
<return status>
Put program in ND-500 time queue.
13.6.10 436 - 5PASET¶
Parameter:
<buffer>
Same as PASET on previous versions.
13.6.11 437 - 5PAGET¶
Parameter:
<buffer>
Same as PAGET on previous versions.
NO-60.230.01
Page 76¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
IS-XMSG¶
14. IS-XMSG¶
Only version H or later of IS-XMSG can run under SINTRAN III version J.
ND-60.230.01
Page 77¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
FLOPPY DRIVER, BOTH NEW AND OLD¶
15. FLOPPY DRIVER, BOTH NEW AND OLD¶
It is now possible to order SINTRAN III with both the old and the new floppy driver. The floppy status register is examined and the appropriate driver is selected when the system starts up.
15.1 HOW TO GENERATE¶
Select new (big) floppy in SINGEN, and add 8FDI1 (for controller 1) to free library marks (8FDI2 for controller 2).
15.2 REQUIRED SPACE¶
In resident, this facility requires space for an extra datafield (172 locations per controller). In POF, an extra driver is required (715 locations).
ND-60.230.01
Page 78¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
DEFAULT FILE ACCESS¶
16. DEFAULT FILE ACCESS¶
The default file accesses are changed: When a new user is created, the default file access is set to:
| Access Type | Default |
|---|---|
| Public access | NONE |
| Friend access | RWACO |
| Own access | RWACD |
Files with public access equal to NONE, may be appended to a batch process, and to a spooling queue. Scratch files may have public access equal to NONE.
When a friend is created, the default access is R.
NO-60.230.01
Page 79¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
FILE ACCESS ON SCRATCH FILES¶
17. FILE ACCESS ON SCRATCH FILES¶
The scratch files may now have no public nor friend access.
ND-60.230.01
Page 80¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SPOOLING SYSTEM¶
18. SPOOLING SYSTEM¶
The spooling system has been reorganized in order to save space in resident memory and to reduce the number of segments used by each spooling process. Thus, the maximum allowable number of spooling processes in a system is increased by 15 to 30 (plus COSMOS spooling) processes.
18.1 Spooling Datafield¶
The memory resident spooling datafield is reduced to 10 words:
| SPPRx, JPL I ++1 | |
|---|---|
| SPORT | I START ADDRESS TO SPOOLING PROCESS |
| I LABEL ON SPOOLING PROGRAM SEGMENT | |
| SPROG | I SPOOLING PROG RT-DESC. ADDRESS |
| SPERI | I PERIPHERAL DEVICE NUMBER |
| SQUEU | I SPOOLING QUEUE SEGMENT NUMBER |
| SQSEM | I SPOOLING QUEUE SEMAPHORE NO |
| SQIOS | I SPOOLING QUEUE I/O SEMAPHORE NO |
| SSTOP | I STOP COMMAND FLAG |
| SABOR | I ABORT COMMAND FLAG |
| SPINX | I SPOOLING INDEX (1 - 30) |
Spooling datafield on Spooling Program Segment:
| DISP -40 | GENERAL PURPOSE BUFFER USED BY |
|---|---|
| INTEGER ARRAY ACCBUFF(40) | I SPOOLED PROGRAM |
| PSID | |
| DISP 1 | |
| INTEGER SPROG | I ADDRESS OF RT-DESCRIPTION |
| INTEGER SPERI | I PERIPHERAL DEVICE NUMBER |
| INTEGER SQUEU | I SPOOLING QUEUE NUMBER |
| INTEGER SQSEM | I SPOOLING QUEUE SEMAPHORE |
| INTEGER SQIOS | I SPOOLING QUEUE I/O SEMAPHORE |
| INTEGER SSTOP | I STOP COMMAND FLAG |
| INTEGER SABOR | I ABORT COMMAND FLAG |
| 1 - ABORT CURRENT PRINT | |
| 2 - RESTART CURRENT PRINT | |
| 3 - STOP PRINT | |
| SYMBOL BBASP=10 | I BACKSPACE PRINT |
| SYMBOL BFSSP=11 | I FORWARD SPACE PRINT |
| SYMBOL BNFIQ=12 | I NEW FILE IS SET FIRST IN QUEUE |
| INTEGER SPINX | I SPOOLING INDEX (1 - 30) (end of resident part) |
| INTEGER POINTER HEADER, TRAILER | I DEVICE DEPENDENT ROUTINES |
| INTEGER POINTER PRINTBUFFER | |
| INTEGER FILENUMBER | I FILENUMBER |
| INTEGER LASTPAGE, PAGENUMBER | I LAST PAGENO IF ANY AND CURRENT PAGE |
| INTEGER REMAINING, BYTENUMBER | I BYTENO ON LAST PAGE AND CURRENT BYTENO |
| INTEGER BUFADD | I ADDRESS OF DEVICE BUFFER RESERVED FOR SP |
| INTEGER PCBANK | I DEVICE BUFFER ADDRESS, BANK NO |
| INTEGER PCBNK | I DEVICE BUFFER ADDRESS WITHIN BANK |
| DOUBLE PCORAD+PCBNK | I PHYSICAL ADDRESS OF DEVICE BUFFER |
| INTEGER SPNPAGES | I NUMBER OF PAGES TO BACKSPACE/ADVANCE |
| INTEGER SNLINES | I NUMBER OF LINES TO BACKSPACE/ADVANCE |
ND-60.230.01
Page 81¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SPOOLING SYSTEM¶
| INTEGER | DESCRIPTION |
|---|---|
| SCONDITIONS | 0 = DO NOT PRINT FILE NAME 1 = PRINT FILE NAME BUT DO NOT STOP 2 = PRINT FILE NAME AND WAIT FOR START-PRINT |
| NLPAGE | NUMBER OF LINES PER PAGE |
| SPMODE | SPOILING MODE: 0: PRINT; 1: PLOT |
| SPAGENO | SAVED PAGENUMBER |
| WSNLINE | SAVED SNLINES |
| NOSING-WSNLINE | NO OF ELEMENTS IN SPOOLING QUEUE |
| WSPAGE | SAVED SNPAGE |
| NUMINQ-WSPAGE | NO OF ELEMENTS IN SPOOLING QUEUE |
| LFCOUNT | LINE-FEED COUNTER |
| ARRAY SPFNAME(16) | PERIPHERAL FILE NAME FOR SPOOLING DEVICE |
| STORT | GENERAL SAVE LOCATION |
| BUFFAD | ADDRESS OF GENERAL DATA BUFFER |
| FPARLIST1, FPARZLIST | GENERAL PARAMETER LIST |
| FP3R1LIST | |
| NBYTS | NUMBER OF BYTES TO PRINT (FOR OUTSTRING) |
| POINTER LNKSP | RETURN ADDRESS |
| SAVFN | SAVED FILE NUMBER |
| STORT | GENERAL SAVE LOCATION |
| DBHCACHE | ADDRESS OF DEVICE BUFFER HEADER IN DISC CACHE |
| SOUR1, SOUR2 | ADDRESS OF DEVICE BUFFER IN CACHE |
| SOUVSOUR-X:SOUR1 | ADDRESS OF DEVICE BUFFER IN CACHE |
| RFIL | ADDRESS OF SPOOLING DATAFIELD IN RESIDENT |
| ARRAY SBUFFER(0) | QUEUE ELEMENT BUFFER |
|---|---|
| FIRST WORD=NO OF COPIES | |
| FLAG FOR SPOOLING-FILE-MESSAGE (RIGHT BYTE) | |
| AND BACKGROUND/RT (LEFT BYTE) | |
| FSPMESS | POSITION OF SPOOLING FILENAME |
| ARRAY FNAME(57) | |
| NAME1=FNAME | |
| ARRAY SPJNAME(0) | PROJECT NAME BUFFER |
| SPJN1 | 0 IF NO ACC., RT-DESCR IF RT-ACC |
| SPJN2 | ACCTAB INDEX IF RT-ACC. |
| ARRAY SPJNJ(6) | |
| ARRAY SPMESSBU(117) | USER MESSAGE BUFFER END OF QUEUE ELEMENT BUFFER |
SYMBOLS¶
| SYMBOL | DESCRIPTION |
|---|---|
| SPLEN=12 | LENGTH OF TABLE ENTRY IN RESIDENT |
| SSPLEN=340 | LENGTH OF TABLE ENTRY ON SEGMENT |
PSID
ND-60.230.01
Page 82¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SPOOLING SYSTEM¶
18.2 The Spooling Program Segment¶
The spooling program is removed from segment 25 (File System Reentrant segment no. 2) to its own segment, named Spooling Program Segment. This segment has its save area on segment 42 (Initial Spooling Program Segment).
Layout of Spooling Program Segment:¶
| 110000 | 31 spooling datafields |
| (30 spooling processes + COSMOS spooling) | |
| 125443 | 31 Form datafields |
| 132677 | SPORT: Start of spooling program |
| 137632 | End of spooling program |
18.3 The Spooling Queue Segments¶
Each spooling process has one spooling queue segment containing the spooling queue together with routines operating on the queue.
Layout of the spooling queue segment:¶
| 140000 | Subroutines operating on the queue |
| (copied from segment no 25) | |
| 140345 | Number of elements in the queue |
| 140353 | Maximum number of elements in the queue |
| 140356 | Start of queue elements |
| 147777 | End of segment |
NO-60.230.01
Page 83¶
SINTRAN III J-VERSION RELEASE INFORMATION¶
SPOOLING SYSTEM¶
The first time the system is started after loading (or in a "cold start"), the spooling queue segments are initialized. The length of the queue segment is used to compute the maximum number of elements in the queue. The standard length of the queue segment is 4K, which gives space for 28 queue elements. The segment length can be increased to 14K, giving a maximum queue length of 103 elements.
18.4 New Functions¶
If the machine stops while the spooling program is printing, the printing of the file which was interrupted, is restarted.
The command DEFINE-SPOOLING-FILE-MESSAGE is reinstalled.
Files with no public access may now be appended to a spooling queue.
Page 84¶
Systems that put people first¶
NORSK DATA A.S JERIKOVN. 20 P.O. BOX 4 LINDEBERG GÅRD OSLO 10 NORWAY
TEL.: 02 - 30 90 30 - TELEX: 18661