Trailing-Edge
-
PDP-10 Archives
-
bb-ee87b-sb
-
10,7/doc/montab.mem
There are 10 other files named montab.mem in the archive. Click here to see a list.
TOPS-10 Monitor Tables
March 1984
ABSTRACT
This document contains illustrated
descriptions of the tables used by the
TOPS-10 monitor to allocate memory, to
control jobs and resources, and to
provide information.
Operating System: TOPS-10 Version 7.02
Page 2
Printed: July 1984
The information in this document is subject to change without notice
and should not be construed as a commitment by Digital Equipment
Corporation. Digital Equipment Corporation assumes no responsibility
for any errors that may appear in this document.
The software described in this document is furnished under a license
and may only be used or copied in accordance with the terms of such
license.
No responsibility is assumed for the use or reliability of software on
equipment that is not supplied by DIGITAL or its affiliated companies.
Copyright C , 1980, 1984, Digital Equipment Corporation.
All Rights Reserved.
The postage-prepaid READER'S COMMENTS form on the last page of this
document requests the user's critical evaluation to assist us in
preparing future documentation.
The following are trademarks of Digital Equipment Corporation:
DEC DECnet IAS
DECUS DECsystem-10 MASSBUS
Digital Logo DECSYSTEM-20 PDT
PDP DECwriter RSTS
UNIBUS DIBOL RSX
VAX EduSystem VMS
VT
Page 3
FOREWORD
TOPS-10 Monitor Tables Descriptions are the result of the effort
to document and illustrate information that system analysts and
programmers might need to repair or modify TOPS-10 monitor source
code. This document is provided by the Software Publications
department for LCG Software Engineering without guarantee of
technical accuracy.
The tables are simply an extension and summary of the monitor
source code. To the inexperienced user, they may seem
bewilderingly complex. However, to the user with experience in
TOPS-10 monitor internals, and in the TOPS-10 data structures,
this document can be a useful reference for a conceptual view of
the monitor.
The monitor source code itself is complex and lengthy, since it
supports many types of hardware and many software applications.
The code does not regard the support status of any product, and
this document follows suit. For complete information about
product support, refer to the current TOPS-10 Software Product
Description.
This document is only a summary of the information written and
processed by the monitor. It is an effort to record the
information critical in developing and maintaining TOPS-10. Do
not assume this document is correct in all cases. Please refer
to source code listings of the appropriate modules whenever using
the information in these tables.
The data structures for the ANF-10 network software are listed at
the end of this document, in Appendix A.
The monitor tables are listed to reflect a TOPS-10 operating
system based on one or more KL processors. The information will
be different for any other type of system.
Page 4
List of Monitor Tables
AABTAB Access Allowed Bit Table
ACC Access Table
AVALTB Available Resource Table
BAF Bad Allocation File
User I/O Buffer
Buffer Ring Header
CDB CPU Data Block
CDT Connected Device Table
CHKTAB UUO Check Bit Table
CHKTBC CALL and CALLI UUO Check Bit Table
CHTABL Special Character Table
CHN Channel Data Block
CIPWT Clock Request Queue
COMTAB Command Table
COMTB2 SET Command Table
Disk Cache Data Structure
DDB Device Data Block
DEVDSP Device Dispatch Table
DISP Command Dispatch Table
DSCTAB Dataset Control Table
EPT Exec Process Table
EXE Format Save Files
FETTBL Table of Bits for Monitor Features
Fragment Table
HOM Home Block
JBTADR Job Address Table
JBTAD2 Second Job Address Table
JBTCHK Segment Checksum Table
JBTCQ Job Queues Table
JBTCSQ Subqueues Table
JBTDEV High Segment Device Table
JBTJIL Just-Swapped-In List
JBTJRQ Requeue List
JBTLIM Job Time Limit Table
JBTLOC Job Location Table
JBTNAM Job Name Table
JBTOLS Job Output List
JBTPC User Mode PC
JBTPDB Process Data Block Table
JBTPIA Software Program Interrupt Table
JBTPPN Project Programmer Number Table
JBTPRV Job Privilege Bits
JBTRQT Job Run-Queue Time Table
JBTRSP Response Time Table
JBTRTD Real Time Devices
JBTSCD Subqueue (Class) Table
JBTSFD Sub-File Directory Table
JBTSGN Segment Table
JBTSPL Spool Control Table
JBTSPS Second Processor Status
JBTSTS Status Table
JBTST2 Job Status Table 2
JBTSWP Job Segment Swap Area
Page 5
List of Monitor Tables (Cont.)
JBTUPM UPT Address Table
JBTVRT Paging Rate Table
JBTWCH Watch Table
JDA Device Assignment Table
JOBDAT Data Area
Job Queues and Wait State Codes
KON Kontroller Data Block
KONTAB UDB Address Table Within KON
LDB Line Data Block
LINTAB Line Table
LOGTAB LOGIN JBTTAB Pointer Table
LVDTBL Level D Disk Parameter Table
Magtape Controller Data Block
Magtape Unit Data Block
MEMTAB Virtual Memory Page Table
MFD Master File Directory
NMB File Name Block
NUMTAB Table of GETTAB Tables
PAGTAB Page Table
PDB Process Data Block
PPB Project Programmer Number Data Block
PTYTAB Pseudo-Terminal DDB Table
QBITS Wait State Code Requeue Table
Queue Transfer Table
Queue Table Job Scanning (ISCAN, OSCAN, SSCAN, SSCAN1)
QQSTAB Quantum Time Queue Table
QTTAB Queue Progression Queue Table
REQTAB Sharable Device Request Table
RIB Retrieval Information Block
SAB Storage Allocation Block
SAT.SYS
Scheduler Scan Tables
SPT Storage Allocation Pointer Table
STR File Structure Data Block
SWPLST Swapping List Table
SW2LST Secondary SWPLST
SW3LST Third SWPLST
SWPTAB Swapping Table
TABSTR Structure Table
Transfer Tables
TTFCOM Forced Commands Table
Terminal Chunks
TTUUOT TTCALL Dispatch Table
TTYTAB TTY Table
TYPTAB Device Types Table
UCLJMP CALL and CALLI UUO Dispatch Table
UCLTAB CALL UUO Names Table
UDB Unit Data Block
UFB UFD Data Block
UFD User File Directory
UPT User Process Table
UUOTAB UUO Dispatch Address Table
WSBTAB Working Set Bit Table
Page 6
Name: AABTAB -- Access Allowed Bit Table
Description: Table of bits, located in UPT from locations 457 to
475, which reflects whether access is allowed to a user
page or not. IPCF and the PAGE. UUO handler routines
reference this table.
Defined in: S.MAC
Used by: VMSER
Format: UPT
+--------------------------+
| . |
| . |
| . |
| |
|--------------------------|
457 | | | | |
|--------------------------|
|--------------------------|
| . | AABTAB
| . |
| . |
|--------------------------|
475 | |
|--------------------------|
| . |
| . |
| . |
| |
Page 7
Name: ACC -- Access Table
Description: Contains information needed in order to gain access to
a specific version of a specific file.
One table for each existing version of each open file.
The access table for the current and possibly a
superseding version of the file are linked to the
corresponding NMB. Also, each disk device data block
contains a pointer to the access table for the file
currently being accessed.
Defined in: COMMOD
Used by: FILFND, FILIO, FILUUO, IPCSER, SEGCON, SYSINI, UUOCON
See also: NMB, PPB
Format:
+-------------------------------------------------------+
ACCALC(0) | Highest relative block number allocated |
|-------------------------------------------------------|
ACCNMB(1)* | NMB or next ACC | See following page |
|-------------------------------------------------------|
ACCPT1(2) | First retrieval pointer to file |
|-------------------------------------------------------|
ACCDOR(3) | Next dormant ACC | Previous dormant ACC |
|-------------------------------------------------------|
ACCPPB(4)* | See following pages | PPB |
|-------------------------------------------------------|
ACCADT(5)* | See following pages |
|-------------------------------------------------------|
ACCWRT(6) | Highest relative block number written |
|-------------------------------------------------------|
ACCPRV(7)* | Privileges |Mode| Creation time |Low creation date|
+-------------------------------------------------------+
* Details on following pages.
Notes:
1. When all users have closed a file, its access table is
considered dormant. Dormant access tables are linked into a
doubly linked list through ACCDOR, and are not deleted until
their core space is needed. If a table is not dormant,
ACCDOR contains zero.
2. ACCWRT and ACCALC do not include the second RIB.
Page 8
ACCNMB (1) Byte Definitions
+-----------------------------------------------------------+
| NMB or Next ACC | X| LBS | X| UN1 | X| X| X| X|
+-----------------------------------------------------------+
0 17 18 19 26 27 28 31 32 33 34 35
Word Bit Label or
Label Bits Byte Pointer Content
ACCNMB 0-17 Address of next ACC for same
name and PPN if there is one.
ACCABC 18 ACPABC This file always has bad
checksum.
ACCLBS 19-26 ACYLBS Number of words in last
ACZLBS data block of file.
ACC1PT 27 ACP1PT File has only one retrieval
pointer.
ACCUN1 28-31 COYUN1 Logical unit number, within
structure, where file begins.
ACCDIR 32 ACPDIR This file is a directory.
ACCNDL 33 ACPNDL This file cannot be deleted.
ACCSBC 34 ACPSBC Sometimes bad checksum.
ACCGRB 35 ACPGRB Don't grab access table.
Notes:
1. Normally there is only one ACC linked to an NMB. But while a
file is being superseded, both the old and the new versions
of the file have ACCs linked to the NMB.
2. The low order two bits of a pointer to another ACC will be
zero. The pointer back to the NMB points to Word 2 of the
NMB, NMBACC. Hence, its low order bits will not be zero.
3. There may be an arbitrary number of ACCs for older versions
of a file, which are still being read. However, these ACCs
are not linked to the NMB. The only pointers to them are in
the DDBs of the readers.
Page 9
ACCPPB (4) Byte Definitions
+-----------------------------------------------------+
| FSN | Sim. updates | | PPB |
+-----------------------------------------------------+
0 5 6 13 18 35
Word Bit Label or
Label Bits Byte Pointer Content
ACCFSN 0-5 ACYFSN File structure number
ACZFSN of structure to which this
file belongs.
ACCWCT 6-13 ACYWCT Write count for
ACZWCT simultaneous updates
ACCZRB 14 ACPZRB If SFD, the SFD has empty
data blocks.
ACCPPB 18-35 Core address of project-
programmer data block.
Page 10
ACCADT (5) Byte Definitions
+----------------------------------------------------------------+
| X | Last Access Date |X| CNT/USE |X|X| |X|X| |
+----------------------------------------------------------------+
0 2 3 17 18 19 27 28 29 30 32 33 34
Word Bit Label or
Label Bits Byte Pointer Content
ACCADT 0-2 High-order 3 bits of
creation date. Low-order
part is in ACCCDT.
ACCADT 3-17 Date this file was last
accessed for more than
just LOOKUP.
ACCNIU 18 ACPNIU File not in UFD.
ACCCNT 19-27 ACYCNT Count of user channels
ACZCNT with LOOKUP in force for
this version of this file
or SFD use count.
ACCREN 28 ACPREN Rename in progress.
ACCDEL 29 ACPDEL File to be deleted when
all readers finished.
ACCSTS 30-32 ACYSTS Access table status code:
30 ACPCRE File being created.
31 ACPSUP File being superseded.
32 ACPUPD File being updated.
ACCSMU 33 ACPSMU This file being simultan-
eously updated.
ACCPAL 34 ACPPAL Pre-allocated file.
ACPSTS 35 ACPNDR QUESER "don't delete on
reset" bit.
Notes:
1. Access Table state codes are:
ACRCRE 4 File being created. ACPCRE (40)
ACRSUP 2 File superseding another ACPSUP (20)
ACRUPD 1 File being updated ACPUPD (10)
2. The ACCADT table is called ACCUSE when the file is stored in
an SFD.
Page 11
ACCPRV (7) Byte Definitions
+-------------------------------------------------------+
|Privilege| Mode | Creation time | Creation date |
+-------------------------------------------------------+
0 8 9 12 13 23 24 35
Word Bit Label or
Label Bits Byte Pointer Content
ACCPRV 0-8 ACYPRV Privileges.
ACCMOD 9-12 Data mode of file.
ACCCTM 13-23 File creation time.
ACCCDT 24-35 Low-order 12 bits of file
creation date. Upper 3 bits
in ACCADT.
Notes:
Privilege codes:
Bit 0 FILDAE called on protection failure
Bits 1-2 Owner's protection (4-7 not used)
Bits 3-5 Apply to any job with matching project number.
Bits 6-8 Apply to all other jobs.
A job is considered the owner of a file if:
a) INDPPN set to 0 at MONGEN (default) and programmer
number matches or
b) INDPPN set to -1 at MONGEN and both project and
programmer number match.
Privilege codes for user files:
Code Highest Privileges
7 None
6 Execute
5 Read
4 Append (allocate, deallocate)
3 Update
2 Write (supersede, truncate)
1 Rename (change attributes)
0 Change privileges
Privilege codes for directories:
Code Privilege Given by Bit Being Set
4 Allows lookups in this directory
2 Allows creates
1 Allow directory to be read as a
data file
Any combination of these bits may be set.
Page 12
Name: AVALTB -- Available Resource Table
Description: Contains flags to indicate that a sharable device has
become available. Each entry referenced by its own
label.
Entry is -1 if the corresponding sharable resource has
become available since the last scheduling and some job
is waiting for it.
Defined in: COMMON
Used by: CLOCK1, COMMON, CPNSER, SCHED1, SYSINI
Format:
+-------------------------------------------------+
AUAVAL | |
|-------------------------------------------------|
DAAVAL | |
|-------------------------------------------------|
CBAVAL | |
|-------------------------------------------------|
D1AVAL | |
|-------------------------------------------------|
D2AVAL | |
|-------------------------------------------------|
D3AVAL | |
|-------------------------------------------------|
D4AVAL | |
|-------------------------------------------------|
D5AVAL | |
|-------------------------------------------------|
D6AVAL | |
|-------------------------------------------------|
D7AVAL | |
|-------------------------------------------------|
D8AVAL | |
|-------------------------------------------------|
DCAVAL | |
|-------------------------------------------------|
CAAVAL | |
|-------------------------------------------------|
MMAVAL | |
|-------------------------------------------------|
EVAVAL | |
|-------------------------------------------------|
EQAVAL | |
|-------------------------------------------------|
MCAVAL | |
+-------------------------------------------------+
Page 13
Special Notes:
1. Table REQTAB has entries corresponding to the AVALTB entries.
2. The AVALTB entries are built by the conditionally assembled
RWAITS macro in S.MAC; therefore, some of the above listed
entries may not be present in all systems.
3. This table is initialized to zero.
Page 14
Name: BAF -- Bad Allocation File
Description: Disk block in which all known bad regions in a
structure are recorded.
The BAF is always the next block after the home block
in HOME.SYS, with a copy in Block 11 (decimal) and
belongs to BADBLK.SYS.
Defined in: COMMOD
Used by: FILIO, FILUUO, ONCMOD, REFSTR
Format:
Symbol Map Offset
+-------------------------------------------------------+
BAFNAM | SIXBIT / BAT / | (0)
|-------------------------------------------------------|
BAFFIR | No. of words in | Rel adr of first | (1)
| in BAFREG area | bad region pair |
|-------------------------------------------------------|
BAFNBS* | NBS | NBR | KDC | | (2)
|-------------------------------------------------------|
BAFCNT | No. pairs added to BAF by monitor | (3)
|-------------------------------------------------------|
BAFREG | Bad region pair* |
|-------------------------------------------------------|
| Bad region pair* |
|-------------------------------------------------------|
/ . /
/ . /
/ . /
|-------------------------------------------------------|
BAFCOD | 0 | Unlikely code (606060) | (176)
|-------------------------------------------------------|
BAFSLF | 0 | This block # in unit | (177)
+-------------------------------------------------------+
Notes:
1. The label BAFREG should not be used by programs that look at
this block. They should use the right half of BAFFIR to
determine location of the first bad region pair.
2. The Map Program is a stand alone program that checks all disk
blocks and writes an initial BAF. As the monitor finds bad
blocks, it makes additional entries in the BAF.
3. Both halves of BAFFIR are written by the mapping program and
are never changed by the monitor. The left half is always an
even number.
Page 15
BAFNBS Byte Definitions
+-------------------------------------------------------+
| NBS | NBR | KDC | |
+-------------------------------------------------------+
0 8 9 17 18 24 35
Word Byte
Label Bits Pointer Content
BAFNBS 0-8 Number of bad blocks found by
the map program.
BAFNBR 9-17 BAYNBR Number of bad regions found
by the map program. (Number
of entries in BAFREG table.)
BAFKDC 18-24 BAYKDC Controller device code used
by map program.
First Word of Each Bad Region Pair - Byte Definitions
+-------------------------------------------------------+
| NBB | 0 | PUB | KNM | | APN |
+-------------------------------------------------------+
0 8 9 10 17 18 20 22 35
Word Byte Pointer
Label Bits or Bit Label Content
BAFNBB 0-8 BAYNBB Number of bad blocks -1 in
this bad region (not clusters).
BAFOTH 9 BAPOTH Non-zero if this bad region is
detected on another controller
or processor than the one that
originally added the entry.
BAFPUB 10-17 BAPPUB Physical unit within controller.
Bit 17-n represents unit n,
where n = 0-7.
BAFKNM 18-20 BAYKNM Logical controller number, of
this type. From UNIKNM.
21 BAPNTP Non-zero if new style BAT block
entry.
BAFAPN 22-35 BAYAPN Serial number of APR running
when error was detected.
Page 16
Second Word of Bad Region Pair
+-------------------------------------------------------+
| Ver |OTR|DTR|HDR| | LBN of 1st bad block in region|
+-------------------------------------------------------+
0 2 3 4 5 6 8 9 35
Word Byte Pointer
Label Bits or Bit Label Content
BAFVER 0-2 Version number of entry
(presently 0)
BAFERR 3 BAPOTR Other error (not data
or search error)
4 BAPDTR Data error (parity or
ECC hard)
5 BAPHDR Search error or header
compare error
BAFELB 9-35 LBN of first bad block
in region
Notes:
Values of the word labels are relative to the beginning of the bad
region pair, that is, 0 and 1.
Page 17
Name: User I/O Buffer
Description: Contains pointers and storage area for I/O data. Set
up by user programs as needed.
Defined in: Status bits defined in S.MAC
Format:
Map Offset
+-------------------------------------------------------+
| | File status bits | (-1)
|-------------------------------------------------------|
| U | Buf size | Next buf adr | (0)
|-------------------------------------------------------|
| Bookkeeping | Word count, n | (1)
|-------------------------------------------------------|
| n data words | (2-n)
|-------------------------------------------------------|
| Unused area |
| (S-n)-1 words |
+-------------------------------------------------------+
First Word (I/O status bits):
Bit Meaning
18 Improper mode.
19 Device detected error.
20 Data error, for example, checksum failure.
21 Block too large.
22 End of file.
23 Device is actively transmitting or receiving
data.
24-29 Device-dependent parameters.
30 Synchronous input. Stop device after each
buffer is filled.
31 Word count supplied by user for output.
(Monitor normally computes word count.)
32-35 Data mode.
Page 18
Second Word:
Bit Symbol Meaning
0 IOUSE "Use" bit is set as follows:
I/O In Progress Finished
Input 0 1
Output 1 0
Note that 0 means the buffer is available to
filler; 1 means buffer is available to emptier.
1 IOIBC Inhibit zeroing output buffers at completion
of output
2-17 IOSIZ Size of buffer, not counting first two words
18-35 Address of second word of next buffer of ring.
Third Word:
Bit Meaning
0-17 Depends on type of device and mode
18-35 Word count. (Normally computed by monitor
for the device being used.)
Page 19
Name: Buffer Ring Header
Description: Contains information by which user programs access
their I/O buffers.
Defined in: S.MAC
Format:
Symbol Map Offset
+-------------------------------------------------------+
JBFADR | V | | Current buffer address | (0)
|-------------------------------------------------------|
JBFPTR | Byte pointer | (1)
|-------------------------------------------------------|
JBFCTR | Byte count | (2)
|-------------------------------------------------------|
JBFUDX | Univ. Dev. Index (UDX) | (3)
+-------------------------------------------------------+
Label values are relative to the beginning of the buffer ring header.
Word
Label Bits Content
JBFADR 0 Virgin buffer ring bit (will be 1 if buffer
ring has been set up but not referenced.
18-35 Address of second word of the buffer
currently available to the user program.
JBFPTR 0-35 Byte pointer for user to access next
byte of buffer with ILDB or IDPB.
JBFCTR 0-35 Number of remaining bytes available
to user.
JBFUDX 0-35 UDX for MSGSER (MPX-controlled
devices only)
Notes:
1. Ring header must be set up within user program.
2. Values are initialized by each INPUT or OUTPUT UUO, for the
buffer made available to the user.
3. User program must keep JBFPTR and JBFCTR up to date as it
uses the buffer.
Page 20
Name: CDB -- CPU Data Block
Description: There is one CPU data block for each CPU in the system.
The block contains both a constant and a variable data
area, in contiguous address space. Routine addresses,
pointers, bit masks, and processor-dependent
instructions are representative of the data found in
the CPU Constants Area. The CPU Variables Area is
cleared at initialiation and on 403 restarts. This
area contains current status words for the CPU,
including current job information, protected job data
locations, scheduler and swapper parameters, and so
forth.
References can be made to a CDB location without
indexing. The symbols used in this case will be in thr
form of .Cnxxx, where n is the CPU number (such as
.C0xxx, .C1xxx, .C2xxx, and so on).
A "C" macro is used to generate labels and data for the
Constants Area. A "V" macro is used to define symbols
and allocate space for the Variables Area. No data is
generated by a "V" macro call. The "C" and "V" macro
calls are contained in the CDB macro, which is expanded
once for each CPU.
Defined in: COMMON
Used by: CLOCK1, CP1SER, ERRCON, KLSER, KSSER, PSISER, SCHED1,
SYSINI, UUOCON
GETTAB Table Numbers:
55 (.GTC0C), 56 (.GTC0V)
57 (.GTC1C), 60 (.GTC1V)
61 (.GTC2C), 62 (.GTC2V)
63 (.GTC3C), 64 (.GTC3V)
65 (.GTC4C), 66 (.GTC4V)
NOTE
All CDB symbols in the following tables
require a prefix of .CP or .Cn, where n
is the CPU number. The Variables Area
contains "Old CDB Symbols" that were
used to refer to locations in pre-5.04
versions of the monitor.
The following tables represent a KL-SMP
(multiprocessor) system, assembled with
KL-paging enabled. Entries will vary
for other types of systems.
Page 21
CPU Data Block Constants Area
CDB Symbol Map Offset
+----------------------------------+
CDB |Address of next CDB,,0 | (0)
|----------------------------------|
ASN |APR serial number | (1)
|----------------------------------|
OK |This CPU running OK. If greater | (2)
|than 0, this CPU has stopped |
|running correctly. Contents are |
|no. of jiffies CPU has been |
|stopped. |
|----------------------------------|
EPT |Physical address of EPTs for | (3)
| KI, KL |
|----------------------------------|
LOG |Logical CPU name SIXBIT/CPUn/ | (4)
|(n=0,1,...) |
|----------------------------------|
PHY |Physical CPU name SIXBIT/CPxn/ | (5)
|(x=6,A,I,L) (n=0,1,...) |
|----------------------------------|
TYP |CPU type (1=PDP-6, 2=KA10, 3=KI10,| (6)
|4=KL10, 5=KS10) |
|----------------------------------|
MPT |Pointer to bad address subtable | (7)
|bits. Bits 0-8=length, |
|RH=rel. addr in CDB |
|----------------------------------|
RTC |Real time clock (DK10) DDB adr | (10)
|----------------------------------|
RTD |DK10 DDB adr if high prec. time, | (11)
|0 if low (APR clock) |
|----------------------------------|
PAR |Pointer to parity subtable | (12)
|Bits 0-8=length, RH=rel adr in CDB|
|----------------------------------|
RSP |Pointer to response subtable | (13)
|Bits 0-8=length, RH=rel adr in CDB|
|----------------------------------|
DKX |Number of DK10s on this CPU | (14)
|----------------------------------|
EBS |EBOX ticks per second | (15)
|----------------------------------|
MBS |MBOX ticks per second | (16)
|----------------------------------|
NMT |Pointer to NXM subtable | (17)
|Bits 0-8=length, RH=rel adr in CDB|
|----------------------------------|
CSB |Pointer to CPU status block | (20)
|Bits 0-8=length, RH=rel adr in CDB|
|----------------------------------|
Page 22
|----------------------------------|
DSB |Pointer to device status block | (21)
|Bits 0-8=length, RH=rel adr in CDB|
|----------------------------------|
SDP |Pointer to SBDIAG subtable | (22)
|Bits 0-8=length, RH=rel adr in CDB|
|----------------------------------|
BPA |Performance analysis subtable ptr | (23)
|bits 0-8 length, RH=rel adr in CDB|
|----------------------------------|
MAP |Addr of CPU's exec map | (24)
|----------------------------------|
SPT |Special pages table | (25)
|----------------------------------|
XPT |Temporary storage for SPT | (26)
|----------------------------------|
CPN |CPU number | (27)
|----------------------------------|
SK0 |Generate SKPCPU(0) | (30)
|(Instruction skips on CPU0, |
| non-skip on others)
|----------------------------------|
SK1 |Generate SKPCPU(1) | (31)
|(Instruction skips if not CPU0, |
| non-skip for CPU0) |
|----------------------------------|
OK1 |Address of policy CPU's OK word | (32)
|----------------------------------|
SLF |Pointer to start of CDB | (33)
|----------------------------------|
SCN |Scheduler run queue scan list adr | (34)
|(SSCAN or SSCAN1) |
|----------------------------------|
SST |Address of subqueue scanning table| (35)
|----------------------------------|
NPD |Null PDL pointer | (36)
|----------------------------------|
EPD |Error PDL pointer | (37)
|----------------------------------|
NJD |Address of null job data area | (40)
|(offset by 20) |
|----------------------------------|
STO |Scanner once-a-tick routine adr | (41)
|----------------------------------|
ISR |Scanner once-a-second routine adr | (42)
|----------------------------------|
DLK |Used to call DSKLOK ownership flag| (43)
| 0 = currently owns DSKLOK |
| 1 = doesn't own DSKLOK |
|----------------------------------|
Page 23
|----------------------------------|
SCD |Scheduler interlock flag | (44)
| -1 = doesn't own sched. interlock|
| 0 = owns scheduler interlock |
|n>0 = owned scheduler interlock |
|----------------------------------|
RES |Address of power fail restart rtn.| (45)
|----------------------------------|
NBI |Number interrupts broken by BRKLOK| (46)
|----------------------------------|
ABK |Return address for CPNBPT | (47)
|----------------------------------|
KAF |Keep-alive-failure dispatch addr | (50)
|----------------------------------|
NAP |CONSO, CONI PI bits for all PIs | (51)
|except APR PI in progress |
|----------------------------------|
APP |CONSO, CONI PI bits for APR PI in | (52)
|progress |
|----------------------------------|
API |APR PI channel for this CPU | (53)
|----------------------------------|
ACO |CONSO PI bit for APR PI on | (54)
|----------------------------------|
CHL |Address of interrupt PC for | (55)
|interrupt level (APnCHL) |
|----------------------------------|
CKL |Adr of interrupt PC for clock lev.| (56)
|(CKnCHL) |
|----------------------------------|
CON |APR CONSO mask for currently | (57)
|enabled condition |
|----------------------------------|
EEB |Standard EXEC enabled CONSO bits | (60)
|----------------------------------|
IEF |Mask to clear all interrupting | (61)
|APR error flags except memory |
|parity and clock (and sweep done) |
|----------------------------------|
CCF |Clear clock flag instruction | (62)
|----------------------------------|
HCT |Instruction that skips if clock | (63)
|has ticked. |
|----------------------------------|
MPI |Address of parity sweep | (64)
|instruction (CPIMPI, CPLMPI, or |
|CPSMPI) |
|----------------------------------|
MPS |Bits to request parity sweep,, | (65)
|Address of parity sweep subroutine|
|----------------------------------|
NXM |Mask to test/clear APR NXM bit | (66)
|----------------------------------|
MPE |Mask to test/clear APR parity err | (67)
|----------------------------------|
Page 24
|----------------------------------|
SCS |Scheduler doorbell bits for all | (70)
|CPUs except this CPU |
|----------------------------------|
SCC |Scheduler doorbell bit for | (71)
|this CPU |
|----------------------------------|
QPS |Queued protocol doorbell bits for | (72)
|all CPUs except this CPU |
|----------------------------------|
QPC |Queued protocol doorbell bit for | (73)
|this CPU |
|----------------------------------|
DBM |Mask of all doorbell bits for | (74)
|this CPU |
|----------------------------------|
EBR |Exec base register on this CPU | (75)
|----------------------------------|
CTN | RH = CTY number for this CPU | (76)
| LH = DLS line number on DTE |
|----------------------------------|
DTN |Number of DTEs on this CPU | (77)
|----------------------------------|
CAC |Saved AC set 0 at start of | (100)
|stopcode processing |
|----------------------------------|
STT |K?SER temp for trap processing | (120)
|----------------------------------|
ST1 |Saved T1 on page traps | (121)
|----------------------------------|
ST2 |Saved T2 on page traps | (122)
|----------------------------------|
EJ1 |K?SER temp for IME processing | (123)
|----------------------------------|
EJ2 |K?SER temp for IME processing | (124)
|----------------------------------|
EJ3 |K?SER temp for IME processing | (125)
|----------------------------------|
EJ4 |K?SER temp for IME processing | (126)
|----------------------------------|
RCT |Real time PI channel table | (127)
| (6 words) |
|----------------------------------|
RDT |Real time dismiss table | (135)
| (6 words) |
|----------------------------------|
CPI |CONI PI at start of stopcode | (143)
|processing |
|----------------------------------|
Page 25
|----------------------------------|
SVA |Stopcode processing JSRs here to | (144)
|save all AC sets |
|----------------------------------|
SVB |Instruction that jumps to routine | (145)
|to save all AC sets (JRST SVSETS) |
|----------------------------------|
TRP |Current MUUO saved at start of | (146)
|stopcode processing |
|----------------------------------|
RTS |Temporarily used during RTTRP | (147)
| error procedure |
|----------------------------------|
RTT |RTTRP in progress flag | (150)
|----------------------------------|
TML |Value of time at last clock tick | (151)
|----------------------------------|
OCB |0 if this CDB isn't owned by a CPU| (152)
|----------------------------------|
AID |-1 if restart(vs. initial startup)| (153)
|----------------------------------|
DWD |Recursion interlock for DIE | (154)
|----------------------------------|
SAV |PI save routines | (155)
|LH = "Tape PI save" routine adr. |
|RH = "Disk PI save" routine adr. |
|----------------------------------|
ACD |Zero if AUTCON has run on this CPU| (156)
|----------------------------------|
TIL |AUTCON tape interlock word | (157)
|----------------------------------|
NUM |AUTCON starting controller info.: | (160)
| RP, RN, MT letter (0=A,1=B,...) |
|----------------------------------|
CML |Address of start of tape channel's| (161)
|interrupt routine |
|----------------------------------|
TCH |Used for vectored tape interrupts | (162)
|----------------------------------|
SPR |Instruction to cause parity error | (163)
|interrupt |
|----------------------------------|
CPR |Instruction to clear parity | (164)
|error flag |
|----------------------------------|
SB0 |SBDIAG function 0 argument | (165)
|----------------------------------|
S0A |SBDIAG function 0 answer | (166)
|----------------------------------|
SB1 |SBDIAG function 1 argument | (167)
|----------------------------------|
S1A |SBDIAG function 1 answer | (170)
|----------------------------------|
Page 26
|----------------------------------|
TOA |Addr of character typeout routine | (171)
|----------------------------------|
TIV |Addr of vector with input routines| (172)
|----------------------------------|
NLD |DX20 auto-reload flag: | (173)
| 0 = enable, non-zero = disabled |
|----------------------------------|
DDT |Instruction for this CPU to enter | (174)
| EDDT |
|----------------------------------|
EDV |Code "EDV",,length of EXEC data | (175)
|vector |
|----------------------------------|
ED1 |Adr of address swapping block | (176)
|----------------------------------|
ED2 |Relocated contents of .JBSYM | (177)
|----------------------------------|
ED3 |Relocated contents of .JBUSY | (200)
|----------------------------------|
ED4 |Address of word for DDT to use | (201)
|----------------------------------|
ED5 |CPU/paging hardware data | (202)
|----------------------------------|
ED6 |Physical address of this CPU's EPT| (203)
|----------------------------------|
ED7 |Physical address of this CPU's SPT| (204)
|----------------------------------|
ED0 |Physical address of this CPU's CST| (205)
| (not used by TOPS-10) |
|----------------------------------|
HSF |Word for DDT to use | (206)
|----------------------------------|
SYB |Length of address swapping block | (207)
|----------------------------------|
SY1 |Number of words to swap | (210)
|----------------------------------|
SY2 |Address of first word to swap | (211)
|----------------------------------|
SY3 |Place where new map may be found | (212)
|----------------------------------|
SY4 |Place to save old contents | (213)
+----------------------------------+
Page 27
CPU Data Block Variables Area
CDB Symbol Old Symbol Map Offset
+----------------------------------+
VBG CORMAX |Size of largest user program | (214)
|(in words) |
|----------------------------------|
CORLST |Pointer to last free block | (215)
|possible |
|----------------------------------|
CORTAL |Free + dormant + idle core blocks | (216)
|----------------------------------|
SHFWAT |Obsolete | (217)
|----------------------------------|
HOLEF |Absolute address of lowest hole | (220)
|in core |
|----------------------------------|
UPT |Uptime for this CPU in clock ticks| (221)
|----------------------------------|
SHFWRD |Obsolete | (222)
|----------------------------------|
STUSER |Obsolete | (223)
|----------------------------------|
HIGHJB |Highest job number currently | (224)
|assigned |
|----------------------------------|
CLRWRD |Number of words cleared by | (225)
|CLRCOR |
|----------------------------------|
LST LSTWRD |Lost time on this CPU in jiffies | (226)
|----------------------------------|
MEMSIZ |Size of physical memory in words | (227)
|----------------------------------|
TPE |Total parity errors detected | (230)
|on this CPU |
|----------------------------------|
SPE |Total spurious parity errors (did | (231)
|not recur) on this CPU |
|----------------------------------|
MPC |Total numberof times this CPU | (232)
|continued after a parity error |
|----------------------------------|
MPA |Memory parity address of first | (233)
|bad address |
|----------------------------------|
MPW |Contents of first bad word found. | (234)
|----------------------------------|
MPP |Memory parity PC exclusive of | (235)
|parity sweep. |
|----------------------------------|
EPOCNT |Number of PDL OVF's at UUO level | (236)
|not recovered |
|----------------------------------|
Page 28
|----------------------------------|
EPOREC |Obsolete | (237)
|----------------------------------|
MAXMAX |Highest legal value of CORMAX | (240)
|----------------------------------|
SYSKTM |Count-down timer for SET KSYS | (241)
|command |
|----------------------------------|
CORMIN |Lower bound on CORMAX | (242)
|----------------------------------|
ABC |Address break count on this CPU | (243)
|----------------------------------|
ABA |Address break address on this CPU | (244)
|----------------------------------|
LJR |Last job run on this CPU | (245)
|----------------------------------|
ODA |Obsolete (3 words) | (246)
|----------------------------------|
STS |Stop timesharing on this CPU. | (251)
|Contains job no. that did TRPSET |
|or RECON. UUO. |
|----------------------------------|
RUN |Operator-controlled scheduling | (252)
|for this CPU. |
|Bit 0 = Run jobs |
|Bit 1 = Don't run jobs |
|----------------------------------|
NUL |Null time for this CPU in jiffies | (253)
|----------------------------------|
EDI |No. of exec don't care interrupts | (254)
|----------------------------------|
JOB |Current job on this CPU | (255)
|----------------------------------|
OHT |Overhead time for this CPU in | (256)
|jiffies |
|----------------------------------|
EVM |Max amount of exec space for jobs | (257)
|mapped in exec mode by LOCK UUO. |
|----------------------------------|
EVU |Total exec virt addr. space | (260)
|currently being used to map user |
|segments |
|----------------------------------|
LLC |Number of times this CPU has | (261)
|looped waiting for other CPU |
|----------------------------------|
TUC |Total number of UUOs on this CPU | (262)
|----------------------------------|
TJC |Total job context-switches | (263)
|----------------------------------|
TNE |Total NXM's | (264)
|----------------------------------|
SNE |Total non-reproducible NXM's | (265)
|----------------------------------|
Page 29
|----------------------------------|
NJA |Total jobs crashed this NXM | (266)
|----------------------------------|
MNA |First address found with NXM | (267)
|----------------------------------|
EBJ |EBOX ticks/jiffy | (270)
|----------------------------------|
MBJ |MBOX ticks/jiffy | (271)
|----------------------------------|
PBA |Physical address with bad parity | (272)
|on last parity trap |
|----------------------------------|
TBD |Contents of bad word on last | (273)
|AR/ARX parity trap |
|----------------------------------|
TGD |Good contents of word after we | (274)
|recovered from AR/ARX parity trap |
|----------------------------------|
NPT |Total no. of AR/ARX parity traps | (275)
|----------------------------------|
AER |Results of RDERA on last | (276)
|parity/NXM interrupt |
|----------------------------------|
PEF |Results of CONI APR, on parity int| (277)
|----------------------------------|
PSB |Obsolete (4 words) | (300)
|----------------------------------|
PPC |PC on last AR/ARX parity trap | (304)
|----------------------------------|
PFW |Page fail word on last AR/ARX | (305)
|parity trap |
|----------------------------------|
HPT |No. hard AR/ARX parity traps | (306)
|----------------------------------|
SAR |No. soft AR/ARX parity traps | (307)
|----------------------------------|
PTP |No. page table parity traps | (310)
|----------------------------------|
CSN |No. cache sweeps started | (311)
|----------------------------------|
CLN |No. of times scheduler skipped | (312)
|a job because the job needed a |
|cache sweep on another CPU |
|----------------------------------|
CLT |Time in jiffies the CPU ran the | (313)
|null job because of cache state |
|----------------------------------|
CSD |No. of times swapper couldn't swap| (314)
|a job out because it needed its |
|cache swept |
|----------------------------------|
CRN |Cache sweep request sweep count | (315)
|----------------------------------|
Page 30
|----------------------------------|
CEC |No. non-recoverable AR/ARX parity | (316)
|errors involving cache |
|----------------------------------|
PTR |Retry word for AR/ARX parity trap | (317)
|----------------------------------|
TSD |Obsolete | (320)
|----------------------------------|
REP |Parity error/NXM reporting flag | (321)
| 0 = report NXM error |
|-1 = report parity error |
|----------------------------------|
NDB |Number of times this CPU's | (322)
|doorbell was rung |
|----------------------------------|
SBR |LH = unused; RH = bits telling | (323)
|which status blocks have been read|
|on this CPU (see SR.xxx in S.MAC) |
|----------------------------------|
BPF |Background performance analysis | (324)
|timer. If meter is running, |
|contains negative of the number |
|of clock ticks to next performance|
|analysis update. |
|----------------------------------|
FBI |File blocks input (read) | (325)
|----------------------------------|
FBO |File blocks output (written) | (326)
|----------------------------------|
SBI |Swapping blocks input (read) | (327)
|----------------------------------|
SBO |Swapping blocks output (written) | (330)
|----------------------------------|
SNC |Number of CPU stopcodes | (331)
|----------------------------------|
SND |Number of DEBUG stopcodes | (332)
|----------------------------------|
SNJ |Number of JOB stopcodes | (333)
|----------------------------------|
SJN |Job number as last stopcode | (334)
|----------------------------------|
SNM |LH = Name of last stopcode | (335)
|RH = PC+1 of last stopcode |
|----------------------------------|
SPN |Program running at last stopcode | (336)
|----------------------------------|
SPP |PPN of user at last stopcode | (337)
|----------------------------------|
STN |TTY name at last stopcode | (340)
|----------------------------------|
SUP |User PC at time of last stopcode | (341)
|----------------------------------|
Page 31
|----------------------------------|
SUU |UUO at time of last stopcode | (342)
|----------------------------------|
EJN |Job number at last parity/NXM err | (343)
|----------------------------------|
EPN |Program at last parity/NXM error | (344)
|----------------------------------|
PPI |Results of CONI PI, on parity/NXM | (345)
|interrupt |
|----------------------------------|
TPI |Results of CONI PI, on page fail | (346)
|trap |
|----------------------------------|
RSI |Number of times scheduler | (347)
| interlock was requested when |
| not owned. |
|----------------------------------|
TFI |Number of tape frames read on | (350)
| this CPU |
|----------------------------------|
TFO |Number of tape frames written on | (351)
| this CPU |
|----------------------------------|
|Response subtable | (352)
|----------------------------------|
/ Memory parity subtable /
/----------------------------------/
/ Memory NXM subtable /
/----------------------------------/
/ CPU status block subtable /
/----------------------------------/
/ SBDIAG status block subtable /
/----------------------------------/
/ Device status block subtable /
/----------------------------------/
/ KL background performance /
/ analysis subtable /
|----------------------------------|
ADR JOBADR |Same as JBTADR (J) for current job| (1055)
|----------------------------------|
REL |Highest rel addr for current user | (1056)
|----------------------------------|
PC |Job PC when scheduler is called | (1057)
| (2 words) |
|----------------------------------|
XTM |Time of last switch from monitor | (1061)
|cycle to user job or vice versa |
|----------------------------------|
LS2 |Additional lost time (fractional | (1062)
|jiffy) |
|----------------------------------|
NL2 |Additional null time (fractional | (1063)
|jiffy) |
|----------------------------------|
Page 32
|----------------------------------|
OH2 |Additional overhead time | (1064)
|(fractional jiffy) |
|----------------------------------|
TNT |Time interval since last at | (1065)
|clock level |
|----------------------------------|
HTM |Hung device time check | (1066)
|----------------------------------|
SEC |Seconds left before doing | (1067)
|once-a-minute code |
|----------------------------------|
RCU |Count of realtime CONSOs of | (1070)
|skip chain (6 words) |
|----------------------------------|
RIT |Real time initialization table | (1076)
|(6 words) |
|----------------------------------|
DMI |Real time dismiss instruction | (1104)
|----------------------------------|
CKF CLKFLG |Non-zero when CLK interrupt (PI 7)| (1105)
|requested |
|----------------------------------|
TMF TIMEF |Non-zero when APR clock ticked | (1106)
|----------------------------------|
SCF |Force scheduling from exec mode | (1107)
|----------------------------------|
CHT |Flag to remember clock has ticked.| (1110)
|Used to call queued I/O protocol |
|routines. |
|----------------------------------|
RTF SCDRTF |Non-zero when realtime reschedule | (1111)
|required |
|----------------------------------|
ISF |In scheduler flag | (1112)
|----------------------------------|
SUD |Address of scan table used during | (1113)
|last scheduler scan |
|----------------------------------|
HQU |Non-zero if current job needs to | (1114)
|be rescheduled due to an HPQ UUO |
|----------------------------------|
PLT |Flag set if current clock tick | (1115)
|is potentially lost time. |
|----------------------------------|
CLF |Flag set if current clock tick | (1116)
|is potentially lost time due to |
|the state of the stack. |
|----------------------------------|
CL2 |Low order cache lost time | (1117)
|----------------------------------|
SDA |Number cache sweeps for core | (1120)
|deallocation |
|----------------------------------|
Page 33
|----------------------------------|
CSR |Cache sweep request flag for this | (1121)
|CPU |
|----------------------------------|
AEF |APR error flag | (1122)
|----------------------------------|
SAC |Saved copy of .CPAEF | (1123)
|----------------------------------|
APC |Current PC on detecting APR error | (1124)
|(2 words) |
|----------------------------------|
MDP |Memory parity error, | (1126)
| double-word PC |
|----------------------------------|
PPD |AR/ARX double-word PC | (1130)
|----------------------------------|
NJE |Error in null job if non-zero | (1132)
|----------------------------------|
SFC |Scheduler fairness count | (1133)
|----------------------------------|
SQF |Non-zero if current job from | (1134)
|subqueues |
|----------------------------------|
APR |Current user address break cond's.| (1135)
|----------------------------------|
IPI |Interval timer PI assignment | (1136)
|----------------------------------|
CN1 |CONSO mask for APR interrupts user| (1137)
|wants to handle. |
|----------------------------------|
DTO |Last DATAO PAG done | (1140)
|----------------------------------|
SP |Place to save P on APR interrupt | (1141)
|(2 words) |
|----------------------------------|
S17 |Place to save AC17 on CLK | (1143)
|interrupt (2 words) |
|----------------------------------|
A00 |17 (octal) words to store ACs on | (1145)
|parity trap |
|----------------------------------|
A17 |20th (octal) word for storing ACs | (1164)
|on parity trap |
|----------------------------------|
LPP |Last mem par PC | (1165)
|----------------------------------|
LSB |Obsolete | (1166)
|----------------------------------|
LCI |Time of last parity/NXM interrupt | (1167)
|caused by channel reference |
|----------------------------------|
Page 34
|----------------------------------|
PIP |Pointer to real interrupt PC | (1170)
|----------------------------------|
PSP |Parity/NXM sweep in progress on | (1171)
|this CPU |
|----------------------------------|
CHE |Channel error reporting in | (1172)
|progress on this CPU |
|----------------------------------|
TCX |Results of DATAI PAG, on error trp| (1173)
|----------------------------------|
TCT |Triad counter for 60Hz leap | (1174)
|jiffies |
|----------------------------------|
PJB |Owner of performance meter (job#) | (1175)
|----------------------------------|
MJB |Measured job of PERF. UUO. | (1176)
|----------------------------------|
MJ1 |Job enable condition | (1177)
|----------------------------------|
PMR |Non-zero means PERF. meter is | (1200)
|running |
|----------------------------------|
PAE |Used to store PERF. analysis | (1201)
|enables |
|----------------------------------|
PRQ |Semaphore used in testing and | (1202)
|giving PERF meter away |
|----------------------------------|
APS |Non-zero means ACCT and PERF | (1203)
|meters should be kept in sync. |
|----------------------------------|
MM0 |"Virtual PERF meter's" high order | (1204)
|mem ref count |
|----------------------------------|
MM1 |Low order mem ref count | (1205)
|----------------------------------|
BPC |Background performance analysis | (1206)
|(B.P.A.) sample interval (ticks) |
|----------------------------------|
BPI |B.P.A. saved PACTAB index | (1207)
|----------------------------------|
BPT |B.P.A. saved RDTIME at start of | (1210)
|current interval (2 words) |
|----------------------------------|
TIM |Clock interrupt flag for KL10s | (1212)
|----------------------------------|
ETM |SOSN done on this location every | (1213)
|minute to make sure KL error |
|chunks don't remain allocated |
|----------------------------------|
EAD |LH = addr of last KL error chunk | (1214)
|RH = addr of first KL error chunk |
|----------------------------------|
Page 35
|----------------------------------|
KPB |KLINIK parameter buffer (6 words) | (1215)
|----------------------------------|
20F |LH = flags about RSX20F front end | (1223)
|RH = count of characters currently|
| being output |
|----------------------------------|
20S |Space for incoming line speeds | (1224)
|(2 words) |
|----------------------------------|
20B |Buffer for 16-bit data to RSX20F | (1226)
|(30 words) |
|----------------------------------|
PTH |Parity/NXM trap occurred during | (1256)
|sweep |
|----------------------------------|
STE |RDERA contents on sweep trap | (1257)
|----------------------------------|
PTF |Count of page table parity traps | (1260)
|allowed between clock ticks; used |
|to crash system if too many. |
|----------------------------------|
CA1 |Power fail AC block 1 save area | (1261)
|----------------------------------|
CA2 |Power fail AC block 2 save area | (1301)
|----------------------------------|
CA3 |Power fail AC block 3 save area | (1321)
|----------------------------------|
CA4 |Power fail AC block 4 save area | (1341)
|----------------------------------|
CTQ |SCNSER output queue header for CTY| (1361)
|on this CPU; for KL10, is header |
|for all RSX20F lines |
|----------------------------------|
QUE |Queue of DDBs for I/O requests on | (1362)
|other CPUs. Emptied into CPUDSQ |
|once per tick |
|----------------------------------|
SWP |Non-zero if swap request from | (1363)
|another CPU |
|----------------------------------|
QND |Address of last DDB in .CPQUE | (1364)
|----------------------------------|
SWD |Flag for FILIO cache sweeps | (1365)
|----------------------------------|
DRQ |Disks on this CPU need requeuing. | (1366)
|-1 if disk requests for this CPU |
|need to be requeued to another CPU|
|because this one is dead. |
|----------------------------------|
Page 36
|----------------------------------|
TAP |0 if no tape waiting for sweep | (1367)
|-1 if tape I/O waiting for sweep |
|0,,-1 if tape waiting, DSKTIC did |
| sweep |
|----------------------------------|
CHX |This CPU's bit in TKBSTS word of | (1370)
|MTA KDB, indicating a sweep needs |
|to be done. |
|----------------------------------|
PIB |Save PI state for NBFOFF | (1371)
|----------------------------------|
PIS |Save PI state for SYSPIN | (1372)
|----------------------------------|
DPI |Save PI state for DEVPIN | (1373)
|----------------------------------|
BTI |Save PI state for BTSOFF | (1374)
|----------------------------------|
IUT |Uptime a second ago | (1375)
|----------------------------------|
NTF |NETSER software interrupt flag | (1376)
|----------------------------------|
QTS |QUESER variables (23 words) | (1377)
|----------------------------------|
CPG |Result of DATAI PAG, done by | (1422)
|SVSETS with bits set so that DATAO|
|will restore current AC set |
|----------------------------------|
ACA |Address of 20 word block in which | (1423)
|SVSETS saved the current AC set |
|----------------------------------|
SPC |Stopcode PC stored here | (1424)
|(2 words) |
|----------------------------------|
PAT |Patch space (here to next page | (1426)
|boundary) |
+----------------------------------+
Notes:
1. CKF-CLKFLG (1105) This location takes the place of a hardware
interrupt flag.
2. TMF-TIMFF (1106) Set so clock interrupt routines will know
another jiffy has passed.
3. SCF - (1107) Normally clock interrupts are dismissed when
they interrupt exec mode. This flag is set after monitor
detects an error and desires to force rescheduling.
Page 37
Name: CDT -- Connected Device Table
Description: Used to point to DDBs of devices connected to the
Multiplexed I/O Facility (MPX). This table contains
the connected device's UDX number and DDB address and
is sorted by UDX number.
The left half of the DEVXTR word of the MPX DDB points
to the CDT table.
Defined in: MSGSER
Used by: MSGSER
Format:
+-------------------------------------+
| Size of table | No. of free slots|
|-------------------------------------|
| UDX 1 | DDB addr. |
|-------------------------------------|
| UDX 2 | DDB addr. |
|-------------------------------------|
| UDX 2 | DDB addr. |
|-------------------------------------|
| " | " |
|-------------------------------------|
| " | " |
|-------------------------------------|
| " | " |
+-------------------------------------+
. . .
Page 38
Name: CHKTAB -- UUO Check Bit Table
Description: Contains bits for checking UUOs that can be executed on
any CPU (UU.CP1), for checking effective address
(UU.EA) and for flagging LOOKUP, ENTER, and RENAME UUOs
(UU.LER).
The table is in the same order as UUOTAB so the UUOTAB
index in AC T2 serves to get the CHKTAB entry.
If a check bit is specified for the requested UUO,
UUOCON goes to the UUOCHK routine in VMSER.
Defined in: UUOCON
Format:
+-------------------------------------+
| Check bit for 40 | Check bit for 41 |
|-------------------------------------|
| 0 | 0 |
|-------------------------------------|
| 0 | 0 |
|-------------------------------------|
| 0 | Check bit for 47 |
|-------------------------------------|
| " | " |
|-------------------------------------|
| " | " |
|-------------------------------------|
. . .
Bit Definitions:
+-----------------------------------------------------+
| 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|
|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
|-----------------------------------------------------|
| U| | | | | | | U| | | | U| |
| U| | | | | | | U| | | | U| Number of |
| .| | | | | | | .| | | | .| Arguments |
| C| | | | | | | L| | | | E| |
| P| | | | | | | E| | | | A| |
| 1| | | | | | | R| | | | | |
+-----------------------------------------------------+
Bit Name Description
18 UU.CP1 UUO can be executed on any CPU
25 UU.LER Argument list is a LOOKUP/ENTER/RENAME block.
29 UU.EA Check effective address
Page 39
Name: CHKTBC -- CALL and CALLI UUO Check Bit Table
Description: Contains validity check bits for CALL and CALLI UUOs.
This table is in the same order as UCLJMP, so the
UCLJMP index in AC T2 serves to get the CHKTBC entry.
If a check bit is specified for the requested UUO,
UUOCON goes to the UUOCHK routine in VMSER.
Defined in: UUOCON
Used by: UUOCON, CPNSER
Format:
+-------------------------------------------------------+
| Check bits for CALLI 0 | Check bits for CALLI 1 |
|-------------------------------------------------------|
| Check bits for CALLI 2 | Check bits for CALLI 3 |
|-------------------------------------------------------|
| Check bits for CALLI 4 | Check bits for CALLI 5 |
|-------------------------------------------------------|
. . .
Bit Definitions:
+-----------------------------------------------------+
| 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|17|
|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
|-----------------------------------------------------|
| U| | | U| U| U| U| U| U| U| U| U| |
| U| | | U| U| U| U| U| U| U| U| U| |
| .| | | .| .| .| .| .| .| .| .| .| Length of user's|
| C| | | N| W| N| L| L| M| C| C| E| argument list |
| P| | | C| C| A| F| E| N| E| A| A| |
| 1| | | L| C| L| T| R| S| A| C| | |
+-----------------------------------------------------+
Bit Name Description
18 UU.CP1 UUO can be executed on any CPU
21 UU.NCL Negative argument (repeat) count is legal
22 UU.WCC Working set can change
23 UU.NAL Not allowed if locked
24 UU.LFT Use left half of UUO for argument count
25 UU.LER Argument list is a LOOKUP/ENTER/RENAME block
26 UU.MNS User-supplied argument list length is a negative value.
27 UU.CEA Use contents of effective address as list length
28 UU.CAC Use contents of UUO ac as list length (modifiable using
UU.LFT).
29 UU.EA Check effective address
If neither UUO.CEA nor UU.CAC is set, the list length is taken from
Page 40
the CHKTBC table.
Page 41
Name: CHTABL -- Special Character Table
Description: One table entry for each ASCII character, specifying
characteristics and, in some cases, address of a
special action routine for processing the received
character.
Indexed by the ASCII value of the character.
Defined in: SCNSER
Used by: SCNSER, PTYSER
Format:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+-------------------------------------------------------------------------+
| C| | | | C| C| C| C| C| C| C| C| C| C| C| C| C| C| |
| H| | | | H| H| H| H| H| H| H| H| H| H| H| H| H| H| |
| S| | | | P| D| E| V| C| F| D| C| C| R| A| F| U| B| Addr of routine to|
| P| | | | U| E| P| P| R| I| E| N| R| I| L| I| A| R| process character |
| O| | | | N| L| A| O| E| L| L| C| E| A| T| L| E| K| upon receipt |
| | | | | C| W| R| S| | O| | | T| | | | | | |
+-------------------------------------------------------------------------+
Bit Label Meaning
0 CHSPO Requires special checking on output
1-3 Undefined
4 CHPUNC Punctuation character
5 CHDELW Character is <CTRL/W>
6 CHEPAR Character is even parity (1)
7 CHVPOS Vertical positioning simulated with line feeds
8 CHCRE Gets CRLF after its <CTRL/x> echo
9 CHFILO Bit for output filler routine (not in table)
10 CHDEL This is delete
11 CHCNC This is <CTRL/C>
12 CHCRET This is carriage return
13 CHRIA RCV interrupt level action required (2)
14 CHALT This is an altmode
15 CHFIL Requires fillers at some speeds
16 CHUAE Echoes as <CTRL/x>
17 CHBRK This is a break character
Page 42
+---------------------------------------------------------+
| C| | C| C| C| C| C| C| C| C| C| C| C| C| C| C| Disp |
| H| | H| H| H| H| H| H| H| H| H| H| H| H| H| H| addr |
| S| | P| D| E| V| C| F| D| C| C| R| A| F| U| B| on |
| P| | U| E| P| P| R| I| E| N| R| I| L| I| A| R| RCVINT|
| O| | N| L| A| O| E| L| L| C| E| A| T| L| E| K| |
| | | C| W| R| S| | O| | | T| | | | | | |
+---------------------------------------------------------+
000| 1| | 1| | 1| | | | | | | 1| | | | | RINUL | (NUL)
|---------------------------------------------------------|
001| 1| | 1| | | | | | | | | 1| | | 1| | RICA | ^A (SOA)
|---------------------------------------------------------|
002| 1| | 1| | | | | | | | | 1| | | 1| | RICB | ^B (STX)
|---------------------------------------------------------|
003| 1| | 1| | 1| | 1| | | 1| | 1| | | 1| 1| RICC | ^C (ETX)
|---------------------------------------------------------|
004| 1| | 1| | | | | | | | | 1| | | 1| | RICD | ^D (EOT)
|---------------------------------------------------------|
005| 1| | 1| | 1| | | | | | | | | | 1| | | ^E (ENQ)
|---------------------------------------------------------|
006| 1| | 1| | 1| | | | | | | | | | 1| | | ^F (ACK)
|---------------------------------------------------------|
007| 1| | 1| | | | | | | | | | | | | 1| | ^G (BEL)
|---------------------------------------------------------|
010| 1| | 1| | | | | | | | | 1| | | | 1| RIBSP | ^H (BS)
|---------------------------------------------------------|
011| 1| | | | 1| | | | | | | | | 1| | | | ^I (HT)
|---------------------------------------------------------|
012| 1| | 1| | 1| | | | | | | | | 1| | 1| | ^J (LF)
|---------------------------------------------------------|
013| 1| | 1| | | 1| | | | | | | | 1| | 1| | ^K (VT)
|---------------------------------------------------------|
014| 1| | 1| | 1| 1| | | | | | | | 1| | 1| | ^L (FF)
|---------------------------------------------------------|
015| 1| | 1| | | | | | | | 1| 1| | 1| | | RICM | ^M (CR)
|---------------------------------------------------------|
016| 1| | 1| | | | | | | | | | | | 1| | | ^N (SO)
|---------------------------------------------------------|
017| 1| | 1| | 1| | 1| | | | | 1| | | 1| | RICO | ^O (SI)
|---------------------------------------------------------|
020| 1| | 1| | | | | | | | | 1| | | 1| | RICP | ^P (DLE)
|---------------------------------------------------------|
021| 1| | 1| | 1| | | | | | | 1| | 1| 1| | RICQ | ^Q (DC1)
|---------------------------------------------------------|
022| 1| | 1| | 1| | | | | | | 1| | 1| 1| 1| RICR | ^R (DC2)
|---------------------------------------------------------|
023| 1| | 1| | | | | | | | | 1| | 1| 1| | RICS | ^S (DC3)
|---------------------------------------------------------|
024| 1| | 1| | 1| | | | | | | 1| | 1| 1| 1| RICT | ^T (DC4)
|---------------------------------------------------------|
025| 1| | 1| | | | 1| | | | | 1| | | 1| 1| RICU | ^U (NAK)
|---------------------------------------------------------|
026| 1| | 1| | | | | | | | | | | | 1| | | ^V (SYN)
|---------------------------------------------------------|
Page 43
|---------------------------------------------------------|
027| 1| | 1| 1| 1| | | | 1| | | 1| | | 1| 1| RIDEL | ^W (ETB)
|---------------------------------------------------------|
030| 1| | 1| | 1| | | | | | | | | | 1| | | ^X (CAN)
|---------------------------------------------------------|
031| 1| | 1| | | | | | | | | | | | 1| | | ^Y (EM)
|---------------------------------------------------------|
032| 1| | 1| | | | 1| | | | | | | | 1| 1| | ^Z (SUB)
|---------------------------------------------------------|
033| 1| | 1| | 1| | | | | | | 1| 1| | | 1| RIALT | $ (ESC)
|---------------------------------------------------------|
034| 1| | 1| | | | | | | | | | | | 1| | | ^\ (FS)
|---------------------------------------------------------|
035| 1| | 1| | 1| | | | | | | | | | 1| | | ^] (GS)
|---------------------------------------------------------|
036| 1| | 1| | 1| | | | | | | | | | 1| | | ^^ (RS)
|---------------------------------------------------------|
037| 1| | 1| | | | | | | | | | | | 1| | | ^_ (US)
|---------------------------------------------------------|
040| | | | | | | | | | | | | | | | | | (Space)
|---------------------------------------------------------|
041| | | 1| | 1| | | | | | | | | | | | | |
|---------------------------------------------------------|
042| | | 1| | 1| | | | | | | | | | | | | "
|---------------------------------------------------------|
043| | | 1| | | | | | | | | | | | | | | #
|---------------------------------------------------------|
044| | | 1| | 1| | | | | | | | | | | | | $
|---------------------------------------------------------|
045| | | 1| | | | | | | | | | | | | | | %
|---------------------------------------------------------|
046| | | 1| | | | | | | | | | | | | | | &
|---------------------------------------------------------|
047| | | 1| | 1| | | | | | | | | | | | | '
|---------------------------------------------------------|
050| | | 1| | 1| | | | | | | | | | | | | (
|---------------------------------------------------------|
051| | | 1| | | | | | | | | | | | | | | )
|---------------------------------------------------------|
052| | | 1| | | | | | | | | | | | | | | *
|---------------------------------------------------------|
053| | | 1| | 1| | | | | | | | | | | | | +
|---------------------------------------------------------|
054| | | 1| | | | | | | | | | | | | | | ,
|---------------------------------------------------------|
055| | | 1| | 1| | | | | | | | | | | | | -
|---------------------------------------------------------|
056| | | 1| | 1| | | | | | | | | | | | | .
|---------------------------------------------------------|
057| | | 1| | | | | | | | | | | | | | | /
|---------------------------------------------------------|
060| | | | | 1| | | | | | | | | | | | | 0
|---------------------------------------------------------|
Page 44
|---------------------------------------------------------|
061| | | | | | | | | | | | | | | | | | 1
|---------------------------------------------------------|
062| | | | | | | | | | | | | | | | | | 2
|---------------------------------------------------------|
063| | | | | 1| | | | | | | | | | | | | 3
|---------------------------------------------------------|
064| | | | | | | | | | | | | | | | | | 4
|---------------------------------------------------------|
065| | | | | 1| | | | | | | | | | | | | 5
|---------------------------------------------------------|
066| | | | | 1| | | | | | | | | | | | | 6
|---------------------------------------------------------|
067| | | | | | | | | | | | | | | | | | 7
|---------------------------------------------------------|
070| | | | | | | | | | | | | | | | | | 8
|---------------------------------------------------------|
071| | | | | 1| | | | | | | | | | | | | 9
|---------------------------------------------------------|
072| | | 1| | 1| | | | | | | | | | | | | :
|---------------------------------------------------------|
073| | | 1| | | | | | | | | | | | | | | ;
|---------------------------------------------------------|
074| | | 1| | 1| | | | | | | | | | | | | <
|---------------------------------------------------------|
075| | | 1| | | | | | | | | | | | | | | =
|---------------------------------------------------------|
076| | | 1| | | | | | | | | | | | | | | >
|---------------------------------------------------------|
077| | | 1| | 1| | | | | | | | | | | | | ?
|---------------------------------------------------------|
100| | | 1| | | | | | | | | | | | | | | @
|---------------------------------------------------------|
101| | | | | 1| | | | | | | | | | | | | A
|---------------------------------------------------------|
102| | | | | 1| | | | | | | | | | | | | B
|---------------------------------------------------------|
103| | | | | | | | | | | | | | | | | | C
|---------------------------------------------------------|
104| | | | | 1| | | | | | | | | | | | | D
|---------------------------------------------------------|
105| | | | | | | | | | | | | | | | | | E
|---------------------------------------------------------|
106| | | | | | | | | | | | | | | | | | F
|---------------------------------------------------------|
107| | | | | 1| | | | | | | | | | | | | G
|---------------------------------------------------------|
110| | | | | 1| | | | | | | | | | | | | H
|---------------------------------------------------------|
111| | | | | | | | | | | | | | | | | | I
|---------------------------------------------------------|
112| | | | | | | | | | | | | | | | | | J
|---------------------------------------------------------|
Page 45
|---------------------------------------------------------|
113| | | | | 1| | | | | | | | | | | | | K
|---------------------------------------------------------|
114| | | | | | | | | | | | | | | | | | L
|---------------------------------------------------------|
115| | | | | 1| | | | | | | | | | | | | M
|---------------------------------------------------------|
116| | | | | 1| | | | | | | | | | | | | N
|---------------------------------------------------------|
117| | | | | | | | | | | | | | | | | | O
|---------------------------------------------------------|
120| | | | | 1| | | | | | | | | | | | | P
|---------------------------------------------------------|
121| | | | | | | | | | | | | | | | | | Q
|---------------------------------------------------------|
122| | | | | | | | | | | | | | | | | | R
|---------------------------------------------------------|
123| | | | | 1| | | | | | | | | | | | | S
|---------------------------------------------------------|
124| | | | | | | | | | | | | | | | | | T
|---------------------------------------------------------|
125| | | | | 1| | | | | | | | | | | | | U
|---------------------------------------------------------|
126| | | | | 1| | | | | | | | | | | | | V
|---------------------------------------------------------|
127| | | | | | | | | | | | | | | | | | W
|---------------------------------------------------------|
130| | | | | | | | | | | | | | | | | | X
|---------------------------------------------------------|
131| | | | | 1| | | | | | | | | | | | | Y
|---------------------------------------------------------|
132| | | | | 1| | | | | | | | | | | | | Z
|---------------------------------------------------------|
133| | | 1| | | | | | | | | | | | | | | [
|---------------------------------------------------------|
134| | | 1| | 1| | | | | | | | | | | | | \
|---------------------------------------------------------|
135| | | 1| | | | | | | | | | | | | | | ]
|---------------------------------------------------------|
136| | | 1| | | | | | | | | | | | | | | ^
|---------------------------------------------------------|
137| | | 1| | 1| | | | | | | | | | | | | _
|---------------------------------------------------------|
140| | | 1| | 1| | | | | | | | | | | | | `
|---------------------------------------------------------|
141| | | | | | | | | | | | | | | | | | a
|---------------------------------------------------------|
142| | | | | | | | | | | | | | | | | | b
|---------------------------------------------------------|
143| | | | | 1| | | | | | | | | | | | | c
|---------------------------------------------------------|
144| | | | | | | | | | | | | | | | | | d
|---------------------------------------------------------|
Page 46
|---------------------------------------------------------|
145| | | | | 1| | | | | | | | | | | | | e
|---------------------------------------------------------|
146| | | | | 1| | | | | | | | | | | | | f
|---------------------------------------------------------|
147| | | | | | | | | | | | | | | | | | g
|---------------------------------------------------------|
150| | | | | | | | | | | | | | | | | | h
|---------------------------------------------------------|
151| | | | | 1| | | | | | | | | | | | | i
|---------------------------------------------------------|
152| | | | | 1| | | | | | | | | | | | | j
|---------------------------------------------------------|
153| | | | | | | | | | | | | | | | | | k
|---------------------------------------------------------|
154| | | | | 1| | | | | | | | | | | | | l
|---------------------------------------------------------|
155| | | | | | | | | | | | | | | | | | m
|---------------------------------------------------------|
156| | | | | | | | | | | | | | | | | | n
|---------------------------------------------------------|
157| | | | | 1| | | | | | | | | | | | | o
|---------------------------------------------------------|
160| | | | | | | | | | | | | | | | | | p
|---------------------------------------------------------|
161| | | | | 1| | | | | | | | | | | | | q
|---------------------------------------------------------|
162| | | | | 1| | | | | | | | | | | | | r
|---------------------------------------------------------|
163| | | | | | | | | | | | | | | | | | s
|---------------------------------------------------------|
164| | | | | 1| | | | | | | | | | | | | t
|---------------------------------------------------------|
165| | | | | | | | | | | | | | | | | | u
|---------------------------------------------------------|
166| | | | | | | | | | | | | | | | | | v
|---------------------------------------------------------|
167| | | | | 1| | | | | | | | | | | | | w
|---------------------------------------------------------|
170| | | | | 1| | | | | | | | | | | | | x
|---------------------------------------------------------|
171| | | | | | | | | | | | | | | | | | y
|---------------------------------------------------------|
172| | | | | | | | | | | | | | | | | | z
|---------------------------------------------------------|
173| | | 1| | 1| | | | | | | | | | | | | {
|---------------------------------------------------------|
174| | | 1| | | | | | | | | | | | | | | |
|---------------------------------------------------------|
175| 1| | 1| | 1| | | | | | | 1| 1| | | | RIALT | }
|---------------------------------------------------------|
176| 1| | 1| | 1| | | | | | | 1| 1| | | | RIALT | ~
|---------------------------------------------------------|
177| 1| | 1| | | | | | 1| | | 1| | | | 1| RIDEL | (DEL)
+---------------------------------------------------------+
Page 47
Notes:
1. CHEPAR is set for entries whose ASCII character code contains
an even number of 1 bits.
2. Entries 2 and 20 will have CHRIA and the dispatch address set
only if FTMIC is non-zero.
3. Character codes 175 (}) and 176 (~) are converted to ASCII
code 33 (ESC) only if SET TTY ALTMODE is in effect.
Page 48
Name: CHN -- Channel Data Block
Description: Contains information pertaining to all devices on one
data channel.
One Channel Data Block is generated dynamically by
AUTCON for each channel when the system is started and
when a new channel comes on-line.
Defined in: COMMOD
Used by: AUTCON, ERRCON, FILFND, FILIO, KLSER, RNXKON, RPXKON,
SYSINI, T78KON, TAPUUO, TDZKON, TMXKON, TMZKON, TX1KON
Format:
LH RH
+-------------------------------------------------------+
.CHNBSY | Number pending requests on this channel ( -1 is idle) |
|-------------------------------------------------------|
.CHSYS | ADR of next CHN | Last UDB with error | .CHLUE
| 0 if last | |
|-------------------------------------------------------|
.CHICW | Initial control word on last error |
|-------------------------------------------------------|
.CHFCW | Final control word after last error |
|-------------------------------------------------------|
.CHCW2 | Command word -2 on last error |
|-------------------------------------------------------|
.CHCW1 | Command word -1 on last error |
|-------------------------------------------------------|
.CHCW0 | Command word on last error |
|-------------------------------------------------------|
.CHDWZ | Data word -2 on last error |
|-------------------------------------------------------|
.CHDW1 | Data word -1 on last error |
|-------------------------------------------------------|
.CHDW0 | Data word on last error |
|-------------------------------------------------------|
.CHMPE | Number of memory parity errors |
|-------------------------------------------------------|
.CHDPE | Number of data parity errors (from device) |
|-------------------------------------------------------|
.CHNXM | Number of non-existent memory errors or data |
| late errors (overrun) |
|-------------------------------------------------------|
Page 49
|-------------------------------------------------------|
.CHCSR | Bits to request CPU to | Last DDB Address | .CHLDE
| sweep core | |
|-------------------------------------------------------|
.CHTCW | Expected termination control word of last error |
|-------------------------------------------------------|
(The remaining words apply only to disk channels.)
|-------------------------------------------------------|
CHNECT | Error count on current data transfer |
| -1 means unit is recalibrating |
|-------------------------------------------------------|
CHNRCT | Current recalibrate count |
|-------------------------------------------------------|
CHNQUE | First DDB in TWQ | Job number of DDB |
|-------------------------------------------------------|
CHNIFP* | Initial fairness count for positioning |
|-------------------------------------------------------|
CHNCFP | Current fairness count for positioning |
|-------------------------------------------------------|
CHNIFT | Initial fairness count for transfers |
|-------------------------------------------------------|
CHNCFT | Current fairness count for transfers |
|-------------------------------------------------------|
CHNIFS | Initial swapping fairness count |
|-------------------------------------------------------|
CHNCFS | Current swapping fairness count |
|-------------------------------------------------------|
CHNNUM | Number of blocks currently being transferred |
|-------------------------------------------------------|
CHNQUL | Length of XFER wait queue (TWQ) |
|-------------------------------------------------------|
CHNTCW | Expected termination control word |
|-------------------------------------------------------|
CHNCUA | Current unit active on channel |
|-------------------------------------------------------|
CHNRSC | Number of time DX20 on this channel was restarted |
+-------------------------------------------------------+
Notes:
1. The errors referred to in the Channel Data Block are both
soft and hard errors.
2. TWQ = Transfer Wait Queue
Page 50
* Description of CHNIFP Bytes
+------------------------------------------------------+
CHNIFP |C|D|R|1|L|2| |S| Initial fairness count |
+------------------------------------------------------+
0 1 2 3 4 5 17 18 35
Word Byte
Label Bits Label Meaning
CHB22B 0 CP.22B This is a 22-bit channel
1 CP.DX1 This is a DX10 channel
2 CP.RH2 This is an RH20 channel
3 CP.R11 This is a RH11
4 CP.LP2 This is a LP20
5 CP.CD2 This is a CD20
17 CP.SWF Cache sweep must be done before
interrupt exit in FILIO
CHNIFP 18-35 Initial fairness count for
positioning
Page 51
Name: CIPWT -- Clock Request Queue
Description: Allow a monitor routine to be run after a specific time
interval. One entry for each job number plus three
more.
Position of entry in table is of no importance. Each
entry occupies 2 words.
Each count is decremented by clock-level service in the
monitor. When any ountdown reaches 0, (or goes
negative), the contents of the second word of the entry
are put into T1 and a PUSHJ is done to the address in
the left half of the first word.
CLOCK is a 36 bit byte pointer to the highest in-use
entry. Routines which make requests to be stored in
this table will reference CLOCK. When an entry is
eliminated from the table, the last entry is copied
into its place, and CLOCK is decremented.
Defined in: COMMON
Used by: CLOCK1, DISSER, DLSINT, ERRCON, FILIO, PSISER, RPXKON,
SCNSER, SYSINI, UUOCON, VBCSER
Format:
+------------------------------------------+
| Routine address | Count down timer |
|------------------------------------------|
|R|C|S| Data |
|------------------------------------------|
| | |
|------------------------------------------|
| |
|------------------------------------------|
| . |
| . |
| . |
|------------------------------------------|
| | |
|------------------------------------------|
| |
+------------------------------------------+
The bits in the second word are defined as follows:
Bit Meaning
0 Request is CPU-specific
1-3 CPU number
4 Scanned by CLOCK1
5-35 Data
Page 52
Name: COMTAB -- Command Table
Description: Specifies legal command names. There are corresponding
entries in DISP that give routine address and legality
conditions for each command.
There is one entry for each monitor command.
Position in the table is of no significance, but COMTAB
and DISP entries must be in corresponding positions.
Defined in: COMMON
Used by: UUOCON, COMCON
GETTAB Table No.: .GTCOM (30)
Format:
+-----------------------------------+
| SIXBIT / CMD1 / |
|-----------------------------------|
| SIXBIT / CMD2 / |
|-----------------------------------|
| SIXBIT / CMD3 / |
|-----------------------------------|
| . |
| . |
| . |
Page 53
Name: COMTB2 -- SET Command Table
Description: When the command interpreter has determined that a SET
command is to be executed it does a table lookup on the
SET command argument to determine the dispatch address.
The SET command argument table is named COMTB2 and is
in the same format as COMTAB. The dispatch table for
the SET commands is named DISP2. COMTB2 and DISP2
entries must be in corresponding positions.
Defined in: COMMON
Used by: UUOCON,COMCON
GETTAB Table No.: .GTCM2 (43)
Format:
+-----------------------------------+
| SIXBIT / CMD1 / |
|-----------------------------------|
| SIXBIT / CMD2 / |
|-----------------------------------|
| SIXBIT / CMD3 / |
|-----------------------------------|
| . |
| . |
| . |
Page 54
Name: Disk Cache Data Structure
Description: The data structures described in this section are used
by the monitor to implement a software disk cache.
The basic data structure consists of two doubly-linked
lists, a list header, and a hash table. Each node in
the list contains forward and backward pointers for
each of the two lists to which it is linked (the
pointers are .CBNHB, .CBPHB, .CBNAB, and .CBPAB), a UDB
address (.CBUDB), a block number (.CBBLK), and a
pointer to the address in FRECOR (.CBDAT) where the
block is stored. For statistics purposes, the node
also contains a count of the number of times this block
has been hit since it was in the cache, named (.CBHIT).
The list header points to the two linked lists. The
first linked list is the access list. The most
recently accessed block is at the head of the list;
the least recently accessed block is at the bottom of
the list. This list is linked through the
.CBNAB/.CBPAB words. The second linked list is the
free list. It contains a list of all blocks that are
not currently in use, and as such do not appear in the
hash list described below. This list is linked through
the .CBNHB/.CBPHB words.
The hash table consists of pointers into the
.CBNHB/.CBPHB list for the corresponding list for
blocks that hash to the same position. Thus, the hash
table is really a number of separate list headers for
the lists of blocks that hash to that position in the
hash table.
At initialization time (CSHINI), all the blocks are
allocated and linked into the free list. They are also
linked into the access list. The hash table entries
are linked to themselves because the table is empty.
To find an entry, given its UDB and block number, hash
the block into the hash table, and, using that entry as
a list head, follow the list until you find a match or
return to the header. This is done with the routine
CSHFND. In general, these lists are one or two blocks
in length.
The main cache handling routine is CSHIO, which
simulates I/O from the cache, doing the necessary
physical I/O to fill and write the cache. Note that
this is write-through cache, so no sweeps are required
and the data in the cache always reflects the blocks on
disk.
Page 55
Format of CBHEAD List Header:
+----------------------------------+
.CBNHB |Pointer to first block |
| in free list |
|----------------------------------|
.CBPHB |Pointer to last block in free list|
|----------------------------------|
.CBNAB |Pointer to first block |
| in access list |
|----------------------------------|
.CBPAB |Pointer to last block |
| in access list |
+----------------------------------+
Format of Two-Word CBHSHT Hash Table Entry:
+----------------------------------+
.CBNHB |Pointer to first hash block |
| in this chain |
|----------------------------------|
.CBPHB |Pointer to last hash block |
| in this chain |
+----------------------------------+
Format of Each List Entry:
+----------------------------------+
.CBNHB |Pointer to next hash block in |
| this chain |
|----------------------------------|
.CBPHB |Pointer to previous hash block |
| in this chain |
|----------------------------------|
.CBNAB |Pointer to next accessed block |
|----------------------------------|
.CBPAB |Pointer to previous accessed block|
|----------------------------------|
.CBUDB |UDB of unit containing this block |
|----------------------------------|
.CBBLK | Block number |
|----------------------------------|
.CBDAT |Pointer to 128(8) words for |
| this disk block |
|----------------------------------|
.CBHIT |Count of hits for this disk block |
+----------------------------------+
Page 56
Name: DDB -- Device Data Block
Description: Contains information needed to perform I/O operations.
One such block exists for each device or, in the case
of disk, one for each INIT or ASSIGN.
Number of entries in the DDB varies with the device.
The label of a DDB entry is defined as the location of
that entry relative to the beginning of the block.
Such labels must be indexed by an AC containing the
address of the beginning of the DDB. AC F is normally
used for this purpose in the monitor.
The start of the DDB chain is accessible as GETTAB item
%CNDEV from a user program, or in location DEVLST in
the monitor. DDBs for some peripherals have their own
tags in the monitor and some sub-chains are also
tagged:
TTYLST - Start of TTY sub-chain
PTYLST - Start of PTY sub-chain
LPxDDB - Tag for LPTx on I/O bus
CRxDDB - Tag for CDRx on I/O bus
FLxDDB - Tag for LPTx off console front end
FCxDDB - Tag for CDRx off console front end
Defined in: Device service routines and in S.MAC
Used by: Device service routines
Format:
+----------------------------------------------------+
DEVNAM | SIXBIT device name |
|----------------------------------------------------|
DEVCHR | See bit definitions |
|----------------------------------------------------|
DEVIOS | See bit definitions |
|----------------------------------------------------|
DEVSER |Adr of next DDB |Dispatch table address |
|----------------------------------------------------|
DEVMOD | See bit definitions |
|----------------------------------------------------|
DEVLOG | SIXBIT logical device name |
|----------------------------------------------------|
DEVBUF | Address of user's 3-word | Address of user's 3-word|
| output buffer header | input buffer header |
|----------------------------------------------------|
DEVIAD | See bit definitions |
|----------------------------------------------------|
DEVOAD | See bit definitions |
|----------------------------------------------------|
Page 57
|----------------------------------------------------|
DEVSTS | Word for device CONI |
|----------------------------------------------------|
DEVSTA | See bit definitions |
|----------------------------------------------------|
DEVXTR | See bit definitions |
|----------------------------------------------------|
DEVEVM | See bit definitions |
|----------------------------------------------------|
DEVPSI | Enabled PSI conditions | Pending PSI interrupts |
|----------------------------------------------------|
DEVESE | See bit definitions |
|----------------------------------------------------|
DEVHCW | See bit definitions |
|----------------------------------------------------|
DEVCPU | See bit definitions |
|----------------------------------------------------|
DEVJOB | See bit definitions |
|----------------------------------------------------|
The remainder of the DDB is different for different types of devices.
The TTY DDB is continued after the following description of the
magtape and disk DDBs. The disk and magtape DDB contain the following
words, after DEVJOB:
|-------------------------------------------------------|
DEVFIL | File name on last LOOKUP/ENTER (arg to FNDFIL) |
|-------------------------------------------------------|
DEVEXT | File extension on | Number blocks left in | DEVLFT
| last LOOKUP/ENTER | current group |
|-------------------------------------------------------|
DEVPPN | PPN on last LOOKUP/ENTER |
|-------------------------------------------------------|
DEVNBF |Number buffers swept for |Buffers not swept for |
|-------------------------------------------------------|
DEVSBF | Saved value of DEVNBF |
|-------------------------------------------------------|
DEVCSN | Cache sweep serial number |
|-------------------------------------------------------|
DEVISN | | Section no. for I/O |
|-------------------------------------------------------|
The disk DDB follows. The magtape DDB is continued after the
remainder of the disk DDB.
Page 58
|-------------------------------------------------------|
DEVDMP | Current IOWD for dump mode |
|-------------------------------------------------------|
DEVRET | 0 | Addr of current retrieval |
| | pointer in DDB |
|-------------------------------------------------------|
DEVREL | Relative block number in file to read or write next | DEVDIA
|-------------------------------------------------------|
DEVUNI | Addr of original UDB | Addr of current UDB |
|-------------------------------------------------------|
DEVUFB | | Addr of UFD data block |
|-------------------------------------------------------|
DEVSFD | | Addr of NMB for father SFD|
|-------------------------------------------------------|
DEVBLK | Logical block number in unit to read or write next |
|-------------------------------------------------------|
DEVRSU | -Num of unused pointer | Addr of access table entry| DEVACC
| positions in RIB | for user channel |
|-------------------------------------------------------|
DEVFLR | Block number of file which first in-core ptr points to|
|-------------------------------------------------------|
DEVFUN | See bit definitions |
|-------------------------------------------------------|
DEVQUE | Addr of next DDB in queue | Job number of DDB in LH |
|-------------------------------------------------------|
DEVELB | See bit definitions |
|-------------------------------------------------------|
DEVLRL | Last DEVREL | Disk priority | DEVPRI
|-------------------------------------------------------|
DEVSPN | SIXBIT spooled file name |
|-------------------------------------------------------|
DEVSPM | Pointer to spooling parameter block |
|-------------------------------------------------------|
DEVRIB | See bit definitions |
|-------------------------------------------------------|
DEVUPP | "In-your-behalf" PPN |
|-------------------------------------------------------|
DEVCUR | See bit definitions |
|-------------------------------------------------------|
DEVGEN |Generation number of UDB|Addr of core copy of RIBs |
|-------------------------------------------------------|
DEVLNM |Current SFD looking for |Logical name spec being used|
|-------------------------------------------------------|
DEVCFS | See bit definitions |
|-------------------------------------------------------|
DEVRB1 | First retrieval pointer (Same format as RIB) |
|-------------------------------------------------------|
DEVRB2 | Second retrieval pointer |
|-------------------------------------------------------|
/ Retrieval pointers (Default total number is 6) /
|-------------------------------------------------------|
DEVRBN | Last retrieval pointer in core |
+-------------------------------------------------------+
Page 59
The magtape DDB has different words following DEVISN. The magtape DDB
follows from DEVISN as follows:
|---------------------------------------------------|
TDVUDB | UDB pointer | KDB pointer (prime) | TDVKDB
|---------------------------------------------------|
TDVSTS | See bit definitions |
|---------------------------------------------------|
TDVIOR | IORB to wait for |
|---------------------------------------------------|
TDVSUL | Saved user upper limit |
|---------------------------------------------------|
TDVSLL | Saved user lower limit |
|---------------------------------------------------|
TDVSVM | Saved M for dump mode |
|---------------------------------------------------|
TDVREM | Remainder for mode 16 |
+---------------------------------------------------+
The terminal DDB differs from the disk and magtape DDBs in that it
contains the following information after the DEVJOB word:
|---------------------------------------------------|
DDBLDB | Unused | Address of attached LDB |
+---------------------------------------------------+
Notes:
1. Labels for DDBs are defined in S.MAC. Each device service
routine contains a DDB for that device. For devices with
more than one DDB, the DDBs are set dynamically as needed or
at system initialization time. The new DDBs are modeled
after the one contained in the device service routine.
2. Each DDB in use by a job is linked to that job. The job
number is in bits 27-35 of DEVJOB, accessed in the monitor by
the byte pointer PJOBN. Also the DDB address is in the job
device assignment table in the job data area for that job.
3. The unit number is in bits 18-26 of DEVJOB, accessed in the
monitor by the byte pointer PUNIT.
Page 60
DEVCHR
Device Characteristics Word
+--------------------------------------------------------------+
|D|D|D|D|D|D|D| P | | U | |
|V|V|V|V|V|V|V| D | | n | |
|L|C|D|D|C|O|C| V | PDVCNT | u | PBUFSZ |
|P|M|A|I|N|F|2| T | | s | |
|T|D|T|B|E|L|I| I | | e | |
|L|A|J|P|T|N|O| M | | d | |
|--------------------------------------------------------------|
|0|1|2|3|4|5|6|7-9|10------16|17-18|19-----------------------35|
+--------------------------------------------------------------+
Bits in Bit Label or
DEVCHR Value Byte Pointer Description
0 400000 DVLPTL Lower case LPT
1 200000 DVCMDA Device controlled by mountable
device allocator
2 100000 DVDATJ Device allocated to job in DEVJOB
3 40000 DVDIBP Device is a batch PTY
4 20000 DVCNET Device controlled by NETSER
5 10000 DVOFLN Device off-line last time service
routine polled
6 4000 PDV2IO Device can do simultaneous input
and output
7-9 3400 PDVTIM Code for hung device timeout
0 means device cannot be hung
n means hung time is 2**n-1 seconds
10-16 376 PDVCNT Countdown timer for the hung device*
17-18 Unused
19-35 377777 PBUFSZ Buffer size
* PDVCNT contains the number of seconds to go before considering device
hung. Initialized every time the device is serviced, using the hung
constant to determine the value.
Page 61
DEVIOS
Device Input/Output Status Word
+----------------------------------------------------------------------------+
| Device- | I| I| I| I| I| I| I| I| I| I| I| I| Device- | I| I| P |
|dependent | O| /| O| O| O| O| O| O| O| O| O| O| dependent | O| O| I |
| | E| O| S| F| B| W| I| D| D| B| D| A| | C| W| O |
| | N| | T| S| E| | M| E| T| K| E| C| | O| C| M |
| | D| | B| T| G| | P| R| E| T| N| T| | N| | O |
| | | | L| | | | M| R| R| L| D| | | | | D |
|----------------------------------------------------------------------------|
|--------11|12|13|14|15|16|17|18|19|20|21|22|23|24-------------29|30|31|32-35|
+----------------------------------------------------------------------------+
Bit in Bit Label or
DEVIOS Value Byte Pointer Description
0-11 Device-dependent bits (listed below)
12 40 IOEND Service routine has transmitted
last data
13 20 I/O Out = 1; in = 0
14 10 IOSTBL Device error flag
15 4 IOFST Next item will be the first item of
a buffer
16 2 IOBEG Virgin device
17 1 IOW Input/output wait
18 400000 IOIMPM Improper mode
19 200000 IODERR Device error
20 100000 IODTER Data error
21 40000 IOBKTL Block too large
22 20000 IODEND Data end encountered
23 10000 IOACT Device active
24-29 Device-dependent bits (listed below)
30 IOCON Continuous
31 IOWC Don't compute word count
32-35 PIOMOD Data mode codes:
0 A ASCII
1 AL ASCII line mode
2 PIMMOD Packed image mode
3 BYTMOD Byte mode
10 I Image mode
13 IB Image binary mode
14 B Binary mode
15 SD Scope dump mode
16 DR Dump by records mode
17 D Dump across records mode
Page 62
Notes:
Bits 0-11 and 24-29 of the DEVIOS word are defined differently for the
type of device DDB. Those bits are defined in the following lists:
o For the disk DDB, the device-dependent bits are:
Bits Value Symbol Meaning
0 400000 IOSMON Monitor I/O request (such as reading
RIB)
1 200000 IOSAU File has AU resource
2 100000 IOSUPR Super-USETI/USETO being used
3 40000 IOSDA File has DA resource
4 20000 IOSRIB RIB is in monitor buffer
5 10000 IOSRDC File has read count up
6 4000 IOSWLK File structure is software
write-locked
7 2000 IOSPBF Partial buffer done
8 1000 IOSFIR First block of group being accessed
(Compute or check retrieval pointer
checksum)
9 400 IOSSCE Software checksum error encountered
10 200 IOSHWE Hardware write error encountered
11 100 IOSHRE Hardware read error encountered
16 2 IOSHMS Hung message already typed
17 1 IOSRST RESET or RELEAS done on spooled
device
28 200 UDSX Super-USETO is formatting disk
o The following device-dependent bits are defined for magtape:
Bits Value Symbol Meaning
1 200000 OFFLIN Unit is off-line
2 100000 OFLUNH Off-line unit is not ready
3 40000 FINP First input operation
4 20000 LBLNED Labelling action needed
5 10000 LBLWAT Waiting for labelling process
6 4000 LBLSTP Stop I/O because of error
7 2000 FOUT First output operation
8 1000 LBLEOF EOF encountered
24 4000 IOBOT Beginning of tape
25 2000 IOTEND End of tape
26 1000 IOPAR Write even parity if 1 on magtape
27-28 600 PDENS Density of magtape:
00 Installation default
01 200 BPI
10 556 BPI
11 800 BPI
29 100 IONRCK Read with no reread check
Page 63
o For terminal DDBs, the following lists the device-dependent
bits:
Bits Value Symbol Meaning
0 400000 TTYOUW I/O wait is for output
1 200000 FRCEND Force EOF due to image mode timeout
2 100000 IOLBKA Saved value of IOSBKA when
<CTRL/C>ed
25 2000 IOSABS Break on characters in break mask
table
26 1000 IOSBKA Break on all characters
27 400 IOSTEC "Truth in echoing" mode
28 200 IOSNEC "No echo" mode
29 100 IOSFCS User wants all characters
o The TSK DDB contains the following device-dependent bits:
Bits Value Symbol Meaning
4 20000 IOSUSO UUOCON stopped output
(no output buffers available)
5 10000 IOSUSI UUOCON stopped input
(no input buffers available)
6 4000 IOSERR I/O can't continue due to an error
7 2000 IOSZAP Device no longer owned by job
8 1000 IOSCON Device is connected
9 400 IOSREL Device has been released
11 100 IOSDMR Disable message reassembly
Page 64
DEVMOD
Device Modes Word
+------------------------------------------------------------------------+
|D|D|D|D|T|T|T|D|D|D| D| D| D| D| D| D| D| D| A| A| I/O mode |
|V|V|V|V|T|T|T|V|V|V| V| V| V| V| V| V| V| V| S| S| |
|D|D|C|L|Y|Y|Y|D|L|P| P| D| A| M| T| D| I| O| S| S| |
|I|S|D|P|A|U|B|I|N|T| T| T| V| T| T| I| N| U| C| P| |
|R|K|R|T|T|S|I|S|G|P| R| A| A| A| Y| R| | T| O| R| |
|I| | | |C|E|U| | | | | | L| | | | | | N| G| |
|------------------------------------------------------------------------|
|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20------------------35|
+------------------------------------------------------------------------+
Bits in Bit Label or
DEVMOD Value Byte Pointer Description
0 400000 DVDIRI DECtape directory is in core
1 200000 DVDSK Disk
2 100000 DVCDR Card reader
3 40000 DVLPT Line printer
4 20000 TTYATC TTY attached to job if 1
5 10000 TTYUSE TTYDDB in use flag
6 4000 TTYBIU TTYDDB in use
7 2000 DVDIS Display (DIS) device
8 1000 DVLNG Device has long dispatch table
9 400 DVPTP Paper tape punch
10 200 DVPTR Paper tape reader
11 100 DVDTA DECtape
12 40 DVAVAL 1 if device available to this job
13 20 DVMTA Magnetic tape (rewind)
14 10 DVTTY Terminal
15 4 DVDIR Directory-oriented device
16 2 DVIN Device can do input
17 1 DVOUT Device can do output
18 400000 ASSCON Device assigned by ASSIGN command
19 200000 ASSPRG Device assigned by monitor call
20-35 177777 If data mode n is legal, bit (35-n)
is set
Page 65
DEVIAD
Input Buffer Word
+---------------------------------------------------------------------------+
| Device-dependent bits | Current input buffer address |
|---------------------------------------------------------------------------|
|0--------------------------13|14-----------------------------------------35|
+---------------------------------------------------------------------------+
Bits Value Symbol Meaning
0-13 777760 Device-dependent bits (listed below)
14-35 PDVIAD Address of current user's input buffer.
(Exec virtual address if EVM, user
virtual address if not in EVM)
Notes:
o For disk DDBs, the following device dependent bits are
defined in the DEVIAD word:
Bits Value Symbol Meaning
0-2 700000 DEYCOD File status code (from UNISTS):
0 ICOD Idle
3 PWCOD Position wait
4 PCOD Positioning
5 TWCOD Transfer wait
6 TCOD Transferring
3 400000 DEYSCN SFD scanning (/SCAN) in effect
4 200000 DEPLPC Last RIB pointer is in core
5-8 17000 DEYFNC Highest allowed function with file:
1 FNCEXC Execute only
2 FNCRED Read
3 FNCALL Allocate
4 FNCDLL Deallocate
5 FNCAPP Append
6 FNCUDP Update
7 FNCCRE Create
10 FNCSUP Supersede
11 FNCTRN Truncate
12 FNCCAT Change attributes except name,
directory, and privileges
13 FNCDEL Delete
14 FNCCNM Change name
15 FNCCPR Change privileges
9-12 740 DEYEUN Logical unit, within structure,
of error
o The DECtape DDB contains the following device-dependent bits:
Bits Value Symbol Meaning
1-2 300000 IADPTR Number of channels on which the
device is initiated.
Page 66
o For magtape DDBs, the following device-dependent bits are
defined in DEVIAD:
Bits Value Symbol Meaning
0 400000 OFLHNG Hung device
9 400 MTSNAR Set if user disabled RETRY
10 200 IOSRTY No retry on error
11 100 IOSCPZ I/O being started on a queued I/O
request
Page 67
DEVOAD
Output Buffer Word
+---------------------------------------------------------------------------+
| Device-dependant bits | Current output buffer address |
|---------------------------------------------------------------------------|
|0--------------------------13 |14---------------------------------------35 |
+---------------------------------------------------------------------------+
Bits Value Symbol Meaning
0-13 777760 Device-dependent bits (listed below)
14-35 PDVOAD Address of current user's output buffer
(Exec virtual address if in EVM, user
virtual address if not in EVM)
Notes:
o For disk DDBs, the following device-dependent bits are
defined in the DEVOAD word:
Bits Value Symbol Meaning
0 400000 DEPSWP SWPSER DDB
1 200000 DEPLIB LOOKUP from LIB/SYS
2-8 177000 DEYRLC Offset into RIB of first retrieval
pointer stored in DEVRB1
9 400 DEPUWZ USETO writing zeros to extend file
10 200 DEPPP0 Zero PPN was specified in UUO
11 100 DEPFDA FILDAE should be called on CLOSE
o For magtape DDBs, the following device-dependent bits are
defined in the DEVOAD word:
Bits Value Symbol Contents
0-13 777760 PBUFRM Maximum frame count from TAPOP. UUO
function
o For TTY DDBs, the following device-dependent bits are defined
in the DEVOAD word:
Bits Value Symbol Contents
1-12 377740 BYTCNT Remaining byte count for asynch.
output
o For DECtape DDBs, the following device-dependent bits are
defined in the DEVOAD word:
Bits Value Symbol Contents
0-6 774000 SLPNTR Dead-reckoning sleep time,
in seconds
Page 68
DEVSTA
Device Station Word
+---------------------------------------------------------------------------+
|D|D|D|D|Device | D| Spooled | D| D| D| D| D| D| D| D| D | Node |
|E|E|E|E| type | E| devices | E| E| E| E| E| E| E| E| E |number|
|P|P|P|P| | P| | P| P| P| P| P| P| P| P| V | |
|S|A|L|R| | I| | A| I| O| E| M| E| D| D| D | |
|P|D|E|A| | B| | I| N| N| C| S| V| E| E| P | |
|L|V|N|S| | C| | O| D| D| S| G| M| R| L| R | |
|---------------------------------------------------------------------------|
|0|1|2|3|4------9|10|11-------------17|18|19|20|21|22|23|24|25|26--29|30--35|
+---------------------------------------------------------------------------+
Bits in Bit Label or
DEVSTA Value Byte Pointer Description
0 400000 DEPSPL DDB is for a spooled device
1 200000 DEPADY Disk in 10/11 compatibility mode
2 100000 DEPLEN Variable length buffers
3 40000 DEPRAS Device has restricted assignment
4-9 37400 PDVTYP Device type (see UUOSYM .TYxxx)
10 200 DEPIBC Inhibit clearing output buffers
11-17 177 Spool bits:
37 .SPALL Bit mask for defined spool bits
20 .SPCDR Card reader spool bit
10 .SPCDP Card punch spool bit
4 .SPPTP Paper tape punch spool bit
2 .SPPLT Plotter spool bit
1 .SPLPT Line printer spool bit
18 400000 DEPAIO Doing asynchronous input/output
19 200000 DEPIND Input not yet done (asynch I/O)
20 100000 DEPOND Output not yet done (asynch I/O)
21 40000 DEPECS On if a non-supercede enter
22 20000 DEPMSG This device controlled by MSGSER
23 10000 DEPEVM Device doesn't need EVM
24 4000 DEPDER Disable error recovery on this device
25 2000 DEPDEL Disable error logging on this device
26-29 1700 Unused
30-35 77 PDVSTA Station number (node) of device
Page 69
DEVXTR
Extra Word
+------------------------------------------------------------+
| See bit definitions |
+------------------------------------------------------------+
Notes:
The DEVXTR contains different information for different types of DDBs.
The DDB-dependent bit definitions are:
o For the MPX: device DDB, DEVXTR contains the following:
Bits Value Contents
0-17 777777 Address of connected device table
18-35 777777 Number of connected devices
o For an MPX-controlled device's DDB, DEVXTR contains the
following:
Bits Value Contents
0-17 777777 I/O flags (same as left half of USRJDA
18-35 777777 Address of MPX: DDB to which device is
connected
o For a magtape DDB, DEVXTR contains the following
device-dependent bits:
Bits Value Symbol Contents
0-2 700000 TDYHNI Initial value of queued/asynch I/O
hung timer
3-5 70000 TDYHNG Current value of queued/asynch I/O
hung timer
6-35 Unused
The value of TDYHNG is the number of times a queued I/O or
asynchronous I/O request can get hung device errors if it has
not been actually started, before a hung device condition
actually occurs.
Page 70
DEVEVM
Exec Virtual Memory Word
+-------------------------------------------------------------------------+
| PIEVM | PIEVMS | POEVM | POEVMS |
|-------------------------------------------------------------------------|
|0----------------8 |9-----------17 |18------------26 |27---------------35|
+-------------------------------------------------------------------------+
Bits Value Symbol Contents
0-8 777000 PIEVM Page number of this device's
EVM for buffered input
9-17 777 PIEVMS Number of pages of EVM allocated for
buffered input
18-26 777000 POEVM Page number of this device's
EVM for buffered output
27-35 777 POEVMS Number of pages of EVM allocated for
buffered output
DEVESE
Device Extended Software Error Word
+-----------------------------------------------------------------------------+
| |P L| | |
| Next DDB in pending PSI chain |I e| CNDSIZ | PDVESE |
| | v| | |
| | e| | |
| | l| | |
| | | | |
|-----------------------------------------------------------------------------|
|0---------------------------------17|18 |20-----------26|27---------------35|
+-----------------------------------------------------------------------------+
Bit in Bit Label or
DEVESE Value Byte Pointer Description
0-17 777777 Address of next DDB in pending PSI chain
18-19 600000 PSI interrupt level
20-26 177000 PSI vector offset
27-35 777 PDVESE Extended software error status
Page 71
DEVJOB
Device Job Word
+--------------------------------------------------------------------------+
| Device-dependent bits | PUNIT | PJOBN |
|--------------------------------------------------------------------------|
|0-------------------------------17 |18----------------26 |27------------35|
+--------------------------------------------------------------------------+
Bits Value Symbol Contents
0-17 777777 Device-dependent bits
18-26 777000 PUNIT Unit number of device
27-35 777 PJOBN Job number of device owner
Notes:
The following device-dependent bits are defined in DEVJOB for disk
DDBs:
Bits Value Symbol Contents
0 400000 DEPFOP FILOP. in progress
1 200000 DEPFFA Inhibit Full File Access
2 100000 DEPSIM Simultaneous update enabled
3 40000 DEPSIE Synchronize on I/O error
4 20000 DEPALW Allocation is in words
5 10000 DEPNLB No load balancing on ENTER
6 4000 DEPFCU FILDAE has read count up
7 2000 DEPAUL Allow update on LIB
8 1000 DEPDSL Don't search LIB
9-17 777 DEYFSN Old file structure number
(used for CLOSE when superseding)
Page 72
DEVCPU
Device/CPU Word
+-------------------------------------------------------------------+
| D | D | D | D | | Addr of interrupt interlock |
| E | E | E | E | | |
| Y | Y | Y | Y | | |
| C | C | P | C | | |
| P | P | C | P | | |
| F | S | L | U | | |
|-------------------------------------------------------------------|
|0-2|3-5|6-8|9-11| |18-------------------------------35|
+-------------------------------------------------------------------+
Bits Value Symbol Contents
0-2 700000 DEYCPF CPU number of primary CPU owning device
3-5 70000 DEYCPS CPU number of secondary CPU owning device
6-8 7000 DEYPCL CPU number of CPU doing I/O to device
9-11 700 DEYCPU CPU number of CPU that did last IN or OUT UUO
18-35 Address of UUO/interrupt level interlock word
Note:
DEYCPF=7 when any CPU can do I/O to the device. In this case,
DEYPCL will always contain 0.
Page 73
DEVFUN
UDB Pointer
(Disk DDB only)
+-------------------------------------------------------------------+
| S | L | | UDB address to which first |
| | | | retrieval pointer points |
|-------------------------------------------------------------------|
| 0 | 1 | 2-----------------17 | 18------------------------------35 |
+-------------------------------------------------------------------+
Bits Value Symbol Contents
0 400000 DEPFFS File found by scanning (/SCAN)
1 200000 DEPFFL File found in LIB or SYS
2-17 177777 Unused
18-35 777777 Address of UDB for unit, to which
first retrieval pointer in DDB points (DEVRB1)
DEVELB
Error Information
(Disk DDBs only)
+-------------------------------------------------------------------+
| Error bits | First logical block number of bad region |
|-------------------------------------------------------------------|
|0---------8 |9--------------------------------------------------35 |
+-------------------------------------------------------------------+
Bits Value Symbol Contents
3 400000 BAPOTR Other error (neither BAPDTR nor BAPHDR)
4 200000 BAPDTR Data error
5 100000 BAPHDR Search or header compare error
9-35 Logical block number, within structure,
of start of bad region
DEVRIB
Current RIB Information
(Disk DDBs only)
+-------------------------------------------------------------------+
| E | Count | Unit | Cluster address |
|-------------------------------------------------------------------|
| 0 | 1--------8|9-----12|13--------------------------------------35|
+-------------------------------------------------------------------+
Bits Value Symbol Contents
0 400000 Extended RIB
1-8 377000 DEYRBC Count of RIBs
9-12 740 DEYRBU Unit within structure
13-35 DEYRBA Cluster address within unit
Page 74
DEVCUR
Current Unit Information
(Disk DDBs only)
+---------------------------------------------------------------------+
|D|D|D|D|D|D| DEYNB1 | DEYNBB | Address of current UDB |
|E|E|E|E|E|E| | | |
|P|P|P|P|P|P| | | |
|R|P|R|R|P|L| | | |
|A|R|R|H|H|B| | | |
|D|V|C|C|O|F: | | |
|---------------------------------------------------------------------|
|0|1|2|3|4|5|6----11 |12------17 |18-------------------------------35 |
+---------------------------------------------------------------------+
Bits Value Symbol Contents
0 400000 DEPRAD Rename in progress
1 200000 DEPPRV Don't check privileges on LOOKUP
2 100000 DEPRRC Auto-rewrite of RIB on change
3 40000 DEPRHC RIB had changed
4 20000 DEPPHO Physical-only set in INIT
5 10000 DEPLBF Use large buffers
6-11 7700 DEYNB1 Number of blocks in first buffer
12-17 77 DEYNBB Number of blocks per buffer
18-35 777777 Address of current UDB doing I/O
DEVFCS
CFP-Supplied Word
(Disk DDBs only)
+-------------------------------------------------------------------+
| |P | CFP-supplied on LOOKUP |
|-------------------------------------------------------------------|
|0---------------------------16 |17|18---------------------------35 |
+-------------------------------------------------------------------+
Bits Value Symbol Contents
17 1 DEPCFS CFP can be supplied by program
18-35 777777 CFP from LOOKUP UUO
Page 75
DEVRBn
Retrieval Pointer
(Disk DDBs only)
+-------------------------------------------------------+
| Cluster count | Checksum | Cluster adr |
+-------------------------------------------------------+
Widths of these fields are defined symbolically, and may be different
for each file structure. Byte pointer is in structure data block.
Field Byte Pointer
Cluster count STYCNP
Checksum STYCKP
Cluster address STYCLP (23 bits maximum)
If cluster count = 0, the word actually is one of the following:
1. Pointer to new unit, if bit 18 = 1. Bits 19-35 specify
logical unit number within file structure.
2. EOF flag, if whole word is zero.
Page 76
TDVSTS
Status Information Word
(Magtape DDBs only)
+---------------------------------------------------------------------+
|D|D| |D| TDYDEN | TDYMOD | | TDYMD1 | TDYDN1 |
|.|.| |.| | | | | |
|R|N| |E| | | | | |
|D|R| |P| | | | | |
|B|L| |A| | | | | |
|K|T| |R| | | | | |
|---------------------------------------------------------------------|
|0|1|2|3|4-----7 |8----10 |11--------------------28 |29---31 |32---35 |
+---------------------------------------------------------------------+
Bits Value Symbol Contents
0 400000 D.RDBK Read backwards
1 200000 D.NRLT Read next record at low threshold
2 Unused
3 40000 D.EPAR Even parity
4-7 36000 TDYDEN Tape density used
8-10 1600 TDYMOD Tape data format from TAPOP. UUO
function .TFMOD
11-28 Unused
29-31 160 TDYMD1 Tape data format from SET FORMAT command
32-35 17 TDYDN1 Tape density from TAPOP. UUO
function .TFDEN
Page 77
Name: DEVDSP -- Device Dispatch Table
Description: Table of JRSTs to routines that perform various device
dependent functions. For each device, corresponding
table entries go to routines to perform a specific
function.
The first nine entries are present in each device
service routine. Tables that contain the additional
entries are referred to as long dispatch tables.
Defined in: Device Service Routines
Used by: COMMON, COMNET, MSGSER, SYSINI, UUOCON
Format:
JRST x, where x will perform one of the following functions:
+----------------------------------------------------------+
| Label of entry | Relative | |
| (Relative to DEVDSP) | Adr | Function |
|----------------------------------------------------------|
| DOFL | -5 | Is device off line ? |
|----------------------------------------------------------|
| DDVO | -4 | DEVOP. UUO |
|----------------------------------------------------------|
| DSZ | -3 | Return buffer size |
|----------------------------------------------------------|
| DINI | -2 | Device and service |
| | | routine initialization |
|----------------------------------------------------------|
| DHNG | -1 | "Hung device" action |
|----------------------------------------------------------|
| DRL | 0 | Release (table base |
| | | adr - DEVDSP) |
|----------------------------------------------------------|
| DCL | 1 | CLOSE, CLOSE output |
|----------------------------------------------------------|
| DOU | 2 | OUTPUT operation |
|----------------------------------------------------------|
| DIN | 3 | INPUT operation |
|----------------------------------------------------------|
| DEN (1) | 4 | ENTER operation |
|----------------------------------------------------------|
Page 78
|----------------------------------------------------------|
| DLK | 5 | LOOKUP operation |
|----------------------------------------------------------|
| DDO | 6 | DUMP mode output |
|----------------------------------------------------------|
| DDI | 7 | DUMP mode input |
|----------------------------------------------------------|
| DSO | 10 | USETO operation |
|----------------------------------------------------------|
| DSI | 11 | USETI operation |
|----------------------------------------------------------|
| DGF | 12 | UGETF operation |
|----------------------------------------------------------|
| DRN | 13 | RENAME operation |
|----------------------------------------------------------|
| DCLI | 14 | CLOSE input - dump mode|
|----------------------------------------------------------|
| DCLR | 15 | UTPCLR UUO |
|----------------------------------------------------------|
| DMT (1) | 16 | MTAPE operation |
+----------------------------------------------------------+
Labels for table entries, relative to the base address, are defined in
S.MAC.
Notes:
1. Only a "long dispatch table" contains entries DEN and DMT.
The long dispatch table is used for directory-oriented
devices (DECtape, disk, and labelled magtape).
2. The actual tables are defined in the device service routines.
The base address of the device dispatch table is contained in
the corresponding Device Data Block, in the right half of
DEVSER.
3. The device dispatch table labels are normally indexed by AC
T4, which must contain the base address of the appropriate
table. The dispatch is usually performed by a PUSHJ P,
Dxxx(T4) where Dxxx represents the label of the appropriate
table entry.
4. Before attempting to dispatch to any of the long dispatch
table entries, the monitor checks the DVLNG bit of DEVMOD in
the Device Data Block for that device.
5. The actual names of the tables are xyzDSP where xyz is the
three-letter name of the device (for example, PTRDSP for the
paper tape reader).
Page 79
Name: DISP -- Command Dispatch Table
Description: Specifies routine address and legality bits for each
monitor command. Entries correspond to command names
in COMTAB.
There is one entry for each command.
Position in table is of no significance, but DISP entry
and COMTAB entry must be in same relative position.
Defined in: COMMON
Used by: COMCON
Format:
+------------------------------------------------------------------+
|N |N |N |N |C |T |T |T |N |N |N |C |N |N |I |N |N |N | |
|O |O |O |O |M |T |T |T |O |O |O |U |B |X |N |O |O |O | |
|C |J |L |M |W |Y |Y |Y |P |C |I |S |A |O |C |R |A |L | |
|O |O |O |E |R |R |R |R |E |R |N |T |T |N |O |U |C |O | |
|R |B |G |S |Q |N |N |N |R |L |C |M |C |L |R |N |T |G | |
|E |N |C |S | |W |C |U | |F |K |R |H |Y | | | |I | |
| | | | | | | | | | | | | | | | | |N | |
|------------------------------------------------------------------|
| | | | | | | | | | | | | | | | | | |Adr for cmd1|
|------------------------------------------------------------------|
| | | | | | | | | | | | | | | | | | |Adr for cmd2|
|------------------------------------------------------------------|
| | | | | | | | | | | | | | | | | | |Adr for cmd3|
|------------------------------------------------------------------|
| | | | | | | | | | | | | | | | | | | - |
| | | | | | | | | | | | | | | | | | | - |
| | | | | | | | | | | | | | | | | | | |
+------------------------------------------------------------------+
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 - 35
Page 80
Bit Label Meaning
0 NOCORE No core needed for command.
1 NOJOBN No job number needed for command.
2 NOLOGC No logical name can be substituted (before call).
3 NOMESS No command response ever.
4 CMWRQ Requeue job after command wait.
5 TTYRNW Set terminal to user level and restore I/O status.
6 TTYRNC Keep terminal in monitor mode and start job.
7 TTYRNU Set terminal to user and start job.
8 NOPER No printing of period.
9 NOCRLF No printing of CR-LF.
10 NOINCK No check for job initialization (JNA=0).
11 CUSTMR Reserved for customer definition.
12 NBATCH Not legal for batch job.
13 NXONLY Not legal if execute-only program.
14 INCORE Job must be in core if it has core.
15 NORUN Job must not be running - <CTRL/C> required.
16 NOACT Command must wait until job devices not active.
17 NOLOGIN Job need not be logged in.
Bits 0, 1, 2, and 12-17 are checked before dispatching to command.
Bits 2-11 are checked after return from command.
Page 81
Name: DSCTAB -- Dataset Control Table
Description: Contains information required for timing function on
datasets. One entry for each data set that needs
timing. Index is contained in Line Data Block, LDBBY2
word.
Defined in: COMDEV, COMMON, SCNSER
+------------------------------------------------------+
|D |D |D |D |D |D |D |D |D | | |
|S |S |S |S |S |S |S |S |S | | |
|C |C |C |C |C |C |C |C |C | | |
|H |S |F |N |B |D |D |D |E | | |
|W |W |A |C |L |L |L |L |O | | |
|C |C |I |R |I |W |F |C |N | Time |LINTAB index |
|------------------------------------------------------|
| | | | | | | | | | | |
|------------------------------------------------------|
| | | | | | | | | | | |
+------------------------------------------------------+
0 1 2 3 4 5 6 7 8 12 17 18 35
Bits Label Meaning
0 DSCHWC When last heard from, the hardware carrier was on
1 DSCSWC Software considers carrier to be on
2 DSCFAI Carrier went off, but may be brief failure
3 DSCNCR New carrier flag; on briefly for clock sync
4 DSCBLI Blind flag; ignore everything for 1 second
5 DSCDLW Dialler wait; waiting for results from dialler
6 DSCDLF Dialler fail; unsuccessful dialler attempt
7 DSCDLC Dialler complete; successful dialler action
8 DSCEON End of number; sent all digits to dialler
12-17 DSTIMP Time field for functions that require timing
18-35 Line number for this dataset (LINTAB index)
Page 82
Name: EPT -- Exec Process Table
Description: Contains information about the executive process and
points to important addresses, like page maps. This
table has been called the Exec Page Map Page (EPMP) in
the past. However, the EPT is not a page map. It
points to the appropriate page maps and other
hardware-related instructions.
Each CPU constants GETTAB table (.GTCnC) contains a
word (%CCTOS) that points to that CPU's EPT.
Defined in: COMMON.MAC
Format:
Offset Map
+-----------------------------------------------------+
0 / Eight channel logout areas (4 words each) /
|-----------------------------------------------------|
40 | I/O Page fail trap |
|-----------------------------------------------------|
41 | Unused |
|-----------------------------------------------------|
42 / Priority interrupt instructions /
/ (16 words) /
|-----------------------------------------------------|
60 / Channel fill words /
/ (4 words) /
|-----------------------------------------------------|
/ Unused /
|-----------------------------------------------------|
140 / 4 DTE control blocks /
/ (10 words each) /
|-----------------------------------------------------|
200 / Unused /
|-----------------------------------------------------|
421 | Arithmetic overflow trap instruction |
|-----------------------------------------------------|
422 | Push down list overflow trap instruction |
|-----------------------------------------------------|
423 | Trap 3 trap instruction |
|-----------------------------------------------------|
/ Unused /
|-----------------------------------------------------|
510 | Time base for high-precision runtime |
| (2 words) |
|-----------------------------------------------------|
512 | Performance analysis counter |
| (2 words) |
|-----------------------------------------------------|
Page 83
|-----------------------------------------------------|
514 | Interval timer interrupt instruction |
|-----------------------------------------------------|
/ Unused /
|-----------------------------------------------------|
540 | Address of Section 0 exec page map |
|-----------------------------------------------------|
541 / Address of Sections 1-37 exec page maps /
/ One word for each section /
|-----------------------------------------------------|
600 / Unused /
/ . . . /
/ /
+-----------------------------------------------------+
Page 84
Name: EXE Format Save Files
Defined in: S.MAC
Used by: COMCON, SEGCON
Description: The old .SAV, .LOW, .SHR, .HGH and .XPN files have been
replaced by the .EXE type in order to provide a unified
format for saved core image files. This type of file
consists of two distinct but related portions:
1. Information about the structure of the file
2. The data in the file
The file information is organized into a variable
number of chunks. Each chunk begins with a word
containing an identifier code in the left half and the
length of the chunk in the right half. At this time,
the defined codes are:
1. Directory: 1776
2. End: 1777
Other chunks may be added later as they become
necessary. The save file starts with a directory
followed by one or more pages of data. All pages of
data are stored on page boundaries in exactly the form
they will be loaded into the virtual address space.
There is no zero compression within pages; only entire
pages will be compressed.
The format of the directory is:
+---------------------------------------------------+
0 | 1776 | Size of directory |
|---------------------------------------------------|
1 | Flags | File page number |
|---------------------------------------------------|
2 | Repeat | Process page number |
|---------------------------------------------------|
/ Enough data to describe all pages /
/ /
+---------------------------------------------------+
Page 85
Word 0 has 1776 in the left half and the size of the directory in
words in the right half.
Word 1 has flag bits in the leftmost nine bits and a file page number
in the right 27 bits. If the file page number is zero then the page
is allocated but zero. The flag bits are:
Bit Symbol Meaning
0 SV%HIS Set if this is part of the hiseg
1 SV%SHR Set if this page is sharable
2 SV%WRT Set if the page may be written
3 SV%CON Page is concealed (access by PORTAL only)
Word 2 has a repeat count in its leftmost nine bits for one less than
the number of consecutive file and memory pages described by this
pointer. The rightmost nine bits describe the process address into
which this page should be loaded. Descriptors in the same format as
words 1 and 2 are provided for every contiguous piece of the process
space with identical access bits.
A typical save file directory for a program with a 2K lowseg and a 10K
hiseg would contain:
001776,,000005
100000,,000001
003000,,000000
600000,,000005
023000,,000400
001777,,000001
followed by 506 words of zeroes.
.EXE files were implemented to provide an extendable description of a
core image not limited to 256K. This is especially useful in taking
crash dumps of systems greater than 256K. Aside from this, the basic
advantages include only 1 LOOKUP to get a program as opposed to as
many as 3 previously, and the elimination of the overhead associated
with expanding zero-compressed core images and compressing them on a
SAVE. The disadvantages are that .EXE files require more disk space
because of the directory and the elimination of zero compression
within pages, and that an additional page, the directory, must be read
when the core image is fetched.
Page 86
Name: FETTBL -- Table of Bits for Monitor Features
Description: Contains bits for feature test switches.
Defined in: UUOCON (local symbol)
Used by: UUOCON
GETTAB Table No.: .GTFET (71)
Format:
+-----------------------------------------------------+
| Miscellaneous UUO features |
|-----------------------------------------------------|
| Real time and scheduling features |
|-----------------------------------------------------|
| Command features |
|-----------------------------------------------------|
| Accounting features |
|-----------------------------------------------------|
| Error control and options |
|-----------------------------------------------------|
| Non-I/O debugging features |
|-----------------------------------------------------|
| File system features |
|-----------------------------------------------------|
| Internal disk features |
|-----------------------------------------------------|
| Scanner features |
|-----------------------------------------------------|
| Miscellaneous I/O features |
|-----------------------------------------------------|
| Miscellaneous I/O features (second word) |
|-----------------------------------------------------|
| Internal disk features (second word) |
|-----------------------------------------------------|
| File system features (second word) |
|-----------------------------------------------------|
| Miscellaneous UUO features (second word) |
+-----------------------------------------------------+
Page 87
Name: Fragment Table
Description: Contains data needed in order to swap in a fragmented
core image. Set up as required when segments are
swapped out. JBTSWP points to first fragment table for
a given segment.
Used by: SCHED1, SEGCON, SWPSER, VMSER
+-------------------------------------------------------+
| Size | | U | Address |
|-------------------------------------------------------|
| | | | |
|-------------------------------------------------------|
| | | | |
|-------------------------------------------------------|
| | | | |
+-------------------------------------------------------+
0 17 21 24 35
Bits Content
0-17 Number of pages in fragment
20-22 Unit index into SWPTAB
23-35 Logical page within unit where fragment
starts
Notes:
1. A zero word indicates end of table.
2. Fragment tables are built from four-word blocks. If more
than one block is required, and they are not contiguous, the
last word of the preceding block contains -1 in the left half
and the address of the next table in the right half.
Page 88
Name: HOM -- Home Block
Description: Block on each disk unit or pack that contains vital
statistics that cannot be "built in" when a monitor is
generated. These are primarily parameters of the unit
or pack and the structure to which it belongs.
Defined in: COMMOD
Used by: MONBTS, ONCMOD, REFSTR
Format:
Symbol Map Offset
+------------------------------------------------------+
HOMNAM | SIXBIT /HOM/ Written by MAP program. | (0)
|------------------------------------------------------|
HOMHID | SIXBIT unit ID Written by MAP program. | (1)
|------------------------------------------------------|
HOMPHY |Physical disk adr this blk | Physical disk adr other | (2)
| on this unit | Home blk on this unit |
|------------------------------------------------------|
HOMSRC | Position of this structure in System Search List | (3)
| -1 means not in System Search List |
|------------------------------------------------------|
HOMSNM | SIXBIT structure name 0 = not in file structure | (4)
|------------------------------------------------------|
HOMNXT |Unit ID for next unit in STR 0 = last or only unit | (5)
|------------------------------------------------------|
HOMPRV |Unit ID for previous unit in STR 0=last or only unit | (6)
|------------------------------------------------------|
HOMLOG | SIXBIT logical unit name within structure | (7)
|------------------------------------------------------|
HOMLUN | Logical unit # within structure |(10)
|------------------------------------------------------|
HOMPPN | PPN that refreshed structure under timesharing or 0 |(11)
|------------------------------------------------------|
HOMHOM | Logical blk # for HOME | Logical blk # within unit |(12)
| block within unit | for extra HOME block |
|------------------------------------------------------|
HOMGRP |No blocks per group to try for on output(not clusters)|(13)
|------------------------------------------------------|
HOMBSC | No blocks per supercluster on this unit |(14)
|------------------------------------------------------|
HOMSCU | No superclusters per unit |(15)
|------------------------------------------------------|
HOMCNP | Byte ptr for cluster count in retrieval pointers |(16)
|------------------------------------------------------|
HOMCKP | Byte ptr for checksum in retrieval pointers |(17)
|------------------------------------------------------|
HOMCLP | Byte ptr for cluster adr in retrieval pointers |(20)
|------------------------------------------------------|
HOMBPC | No. blocks per cluster for this structure |(21)
|------------------------------------------------------|
Page 89
|------------------------------------------------------|
HOMK4S | No. K words for swapping on this unit |(22)
| 0 means no swapping |
|------------------------------------------------------|
HOMREF | Non-zero if file structure must be refreshed |(23)
|------------------------------------------------------|
HOMSIC | No. SAT blocks in core |(24)
|------------------------------------------------------|
HOMSID | Unit ID of next unit in active swapping list |(25)
| 0 if last or not in active swapping list |
|------------------------------------------------------|
HOMSUN | Logical unit # in active swapping list |(26)
| -1 if not in swapping list
|------------------------------------------------------|
HOMSLB | First logical block # for swapping on this unit |(27)
|------------------------------------------------------|
HOMCFS | Swapping class for unit |(30)
|------------------------------------------------------|
HOMSPU | No. SAT blocks per unit |(31)
|------------------------------------------------------|
HOMOVR | Overdraw limit per user on this structure |(32)
|------------------------------------------------------|
HOMGAR | Upper bound on total reserved blocks guaranteed |(33)
| to users |
|------------------------------------------------------|
HOMSAT | SAT.SYS* |(34)
|------------------------------------------------------|
HOMHMS | HOME.SYS* |(35)
|------------------------------------------------------|
HOMSWP | SWAP.SYS* |(36)
|------------------------------------------------------|
HOMMNT | MAINT.SYS* |(37)
|------------------------------------------------------|
HOMBAD | BADBLK.SYS* |(40)
|------------------------------------------------------|
HOMCRS | CRASH.EXE* |(41)
|------------------------------------------------------|
HOMSNP | SNAP.SYS* |(42)
|------------------------------------------------------|
HOMRCV | RECOV.SYS* |(43)
|------------------------------------------------------|
HOMSUF | SYS [1,4].UFD* |(44)
|------------------------------------------------------|
HOMPUF | PRINTR [3,3].UFD* |(45)
|------------------------------------------------------|
HOMMFD | MFD [1,1].UFD* |(46)
|------------------------------------------------------|
HOMPT1 | First retrieval ptr for MFD for structure this |(47)
| unit is in |
|------------------------------------------------------|
HOMUN1 | Logical unit # where MFD starts |(50)
|------------------------------------------------------|
HOMLEN |Table of lengths of files created by refresh (6 words)|(51)
| Needed by CRS, SNP, RCV, and UFDs (in that order) |
|------------------------------------------------------|
Page 90
|------------------------------------------------------|
HOMUTP | Unit type on which HOME block was written |(57)
| (see UNYUTP) |
|------------------------------------------------------|
HOMRIP | Reserved for use by RIPOFF |(60)
|------------------------------------------------------|
HOMKLB | 20 words used by console front end in KL10 systems |(61)
|------------------------------------------------------|
HOMFEA | FE-file address for KS10 |(101)
|------------------------------------------------------|
HOMFES | FE-file size for KS10 |(102)
|------------------------------------------------------|
HOMTCS | Tracks/cylinder/sector for KS10 |(103)
|------------------------------------------------------|
HOMKLE | Used to find files for bootstrap/dump |(104)
|------------------------------------------------------|
HOMK4C | K for CRASH.EXE |(105)
|------------------------------------------------------|
HOMPVS | Word containing bit which says private structure |(106)
|------------------------------------------------------|
HOMSDL | Position of structure in system dump list |(107)
|------------------------------------------------------|
HOMOPP | PPN of structure owner |(110)
|------------------------------------------------------|
HOMMSU | Reserved for use by DIGITAL |(111)
|------------------------------------------------------|
HOMCUS | Reserved for customer definition (4 words) |(112)
|------------------------------------------------------|
HOMVID | Volume-ID (12 PDP-11 bytes, or 3 words) |(165)
|------------------------------------------------------|
HOMOWN | Owner name |(170)
|------------------------------------------------------|
HOMVSY | System type (TOPS-10) |(173)
|------------------------------------------------------|
HOMCOD | 0 | (Unlikely code) 707070 |(176)
|------------------------------------------------------|
HOMSLF | 0 | This blk # in unit |(177)
| | (not cluster) |
+------------------------------------------------------+
* Logical block number within structure of first RIB
Page 91
HOMPHY Byte Definitions
+-----------------------------------------------------------------+
| C | S | A | C | S | A |
+-----------------------------------------------------------------+
0 7 8 12 13 17 18 25 26 30 31 35
Byte Meaning
C Cylinder address
S Surface
A Sector address
Notes:
1. HOMSNM (structure name) is ignored by the monitor when the
structure is mounted.
2. HOMSNM, HOMNXT, HOMPRV, and HOMLUN are checked by the monitor
at system startup; and by PULSAR when the unit comes on
line, to determine whether a complete structure is available
that can be mounted.
3. An extra copy of the home block is maintained on each unit in
case the original becomes unreadable. These two home blocks
which must be at specific places known to the software.
Currently, they are blocks 1 and 10 (decimal) of each unit.
4. Each file structure has one home file HOME.SYS. It is a
"Sparse File" with retrieval information in first block of
each group. However, only the second block of each group (1
cluster) has data, the remaining blocks (if any) are 0. The
home file is constructed so that each group is on a separate
unit.
5. Note the restriction that home blocks limited to the first
262,000 blocks on a unit. Knowing logical block address of
home blocks is useful only to recovery programs when file
structure has been clobbered. Most programs will read home
blocks using HOME.SYS.
6. HOMREF is set when some parameter for this unit has been
changed. Set by ONCE-Only code, checked when system is
started and by PULSAR when pack is mounted.
Page 92
Name INTTAB -- Interrupt Routine Table
Description: Contains descriptive information about each interrupt
routine. One entry, of two words, for each interrupt
routine.
Position of an entry in the table is of no
significance.
Defined in: COMMON
Used by: COMMON, ONCE
Format:
+-------------------------------------+
| Dev 1 entry |
|-------------------------------------|
| |
|-------------------------------------|
| Dev 2 entry |
|-------------------------------------|
| . |
| . |
| . |
|-------------------------------------|
| Dev n entry |
+-------------------------------------+
Format of each entry:
Word 0
+-------------------------------------------------------+
| |DDB count | CPU | PI channel | Interrupt routine adr|
+-------------------------------------------------------+
0 1 11 12 14 15 17 18 35
Bit 0 = 1 for any type of DECtape routine.
Word 1
+-------------------------------------------------------+
| | Station | DDB Length | Prototype DDB address|
+-------------------------------------------------------+
0 2 3 8 9 17 18 35
Page 93
Notes:
1. INTTAB entries are set up by the ASGINT and ASGSV1 macros in
COMMON according to parameters specified in HDWCNF.MAC.
2. Table is used by INTLOP in ONCE to build the interrupt
routine chain for each channel.
3. Used by ONCE-only code in COMMON to set up multiple Device
Data Blocks.
4. The interrupt routine address is the address of the CONSO in
the skip chain.
Page 94
Name: JBTADR -- Job Address Table
Description: Tells core address and length for each segment in core.
One entry for each job number and each high segment
number.
Defined in: COMMON
Used by: CDPSER, CLOCK1, COMCON, CORE1, CPNSER, DISSER, DTASRN,
ERRCON, FILIO, KLSER, LOKCON, METCON, REFSTR, SCHED1,
SEGCON, SWPSER, SYSINI, UUOCON, VMSER
GETTAB Table No.: .GTADR (1)
Format:
+-------------------------------------+
Job 0 | | |
|-------------------------------------|
1 | Length -1 | Core address |
|-------------------------------------|
2 | " | " " |
|-------------------------------------|
. . .
|-------------------------------------|
n | | |
|-------------------------------------|
High seg n+1 | " | " " |
|-------------------------------------|
n+2 | | |
|-------------------------------------|
. . .
+-------------------------------------+
Notes:
1. The entry for a job that is swapped out is zero.
2. JBTDAT is the same table.
3. For low segments, the right half of JBTADR contains 371000
(the exec's way of seeing user virtual page 0), unless the
segment is locked. JBTADR then contains the core address of
the first user page. For high segments, this field contains
372000, unless the segment is locked.
Page 95
Name: JBTAD2 -- Second Job Address Table
Description: This table contains the first physical page number for
each job's low segment. This table is kept so that the
monitor can obtain the page number when the job is not
currently mapped or the UPT is in error. There is one
entry per job.
Defined in: COMMON
Used by: CORE1, ERRCON, KLSER, LOKCON, VMSER
Format:
+-------------------------------------------+
Job 0 | | JBYLSS | First phys. page |
+-------------------------------------------+
Job 1 | | | |
|-------------------------------------------|
| | |
| | |
| | |
|-------------------------------------------|
Job n | | | |
+-------------------------------------------+
0 8 9 17 18 35
Notes:
Bits 9-17 (JBYLSS) contain the number of pages in the low segment,
less one, the last time the map was set up.
Page 96
Name: JBTCHK -- Segment Checksum Table
Description: Used to assure correct read-in of swapped segments.
One entry for each job number and high seg number.
Indexed by job number or high segment number.
Each entry contains the first word of the corresponding
segment when that segment is swapped out.
Defined in: COMMON
Used by: SWPSER
Format:
+-------------------------------------+
Job 0 | |
|-------------------------------------|
Job 1 | Checksum 1 |
|-------------------------------------|
Job 2 | Checksum 2 |
|-------------------------------------|
| |
| |
|-------------------------------------|
Job n | Checksum n |
|-------------------------------------|
High seg n+1 | Checksum n+1 |
|-------------------------------------|
High seg n+2 | Checksum n+2 |
|-------------------------------------|
| |
| " |
| |
+-------------------------------------+
Page 97
Name: JBTCQ -- Job Queues Table
Description: Contains the master job queues. Each queue is an
ordered list of job numbers corresponding to all the
jobs in some particular status. There are two sets of
queues, one for jobs that are in core and one set for
jobs that are swapped out.
The index in the positive direction relative to JBTCQ
is by job number. The index in the negative direction
is the queue number for the in-core master queues and
the queue number offset by the maximum number of queues
for the out-of-core master queues.
Each queue is an ordered list of job numbers. In
JBTCQ, each queue is represented by a forward and
backward linked ring of table entries. Each ring
begins and ends with a "queue header" entry at the
position equal to the negative queue number. A job
number in the queue is represented by the entry at the
position equal to the job number. This entry contains
pointers to the preceding entry and the following
entry, thus establishing a unique position for that job
number within the queue.
Defined in: COMMON
Used by: SCHED1, SYSINI
Page 98
Format:
+-------------------------------------------------------+
-MAXQ -3 | | |
|-------------------------------------------------------|
-MAXQ -2 | | |
|-------------------------------------------------------|
-MAXQ -1 | | |
|-------------------------------------------------------|
-MAXQ . . .
|-------------------------------------------------------|
-3 | Last job in queue | First job in queue |
|-------------------------------------------------------|
Queue -2 | " | " |
|-------------------------------------------------------|
Number -1 | " | " |
|-------------------------------------------------------|
JBTCQ 0 | | |
|-------------------------------------------------------|
1 | # of prev job | # of next job |
|-------------------------------------------------------|
Job 2 | " | " |
|-------------------------------------------------------|
Number 3 | " | " |
|-------------------------------------------------------|
4 | " | " |
|-------------------------------------------------------|
5 | " | " |
+-------------------------------------------------------+
Notes:
1. Every job number will be in one and only one queue.
2. It is possible for a queue to contain no job numbers. In
this case, the queue header entry contains a pointer to
itself, the negative queue number, in both halves.
Page 99
Name: JBTCSQ -- Subqueues Table
Description: Contains the PQ2 subqueues that partition PQ2 into a
number of ordered classes. Each subqueue (or subclass)
is an ordered subset of PQ2 job numbers, all of the
same class.
Defined in: COMMON
Used by: SCHED1, SYSINI
+-------------------------------------------------------+
Format: -SQN | Last job in subqueue | First job in subqueue |
|-------------------------------------------------------|
| | |
| | |
|-------------------------------------------------------|
-SQ1 | | |
Subqueue |-------------------------------------------------------|
Number -SQ0 | | |
|-------------------------------------------------------|
JBTCSQ | |
|-------------------------------------------------------|
1 | # of prev. job | # of next job |
|-------------------------------------------------------|
Job 2 | |
Number |-------------------------------------------------------|
3 | |
| |
+-------------------------------------------------------+
Notes:
1. Every job number in PQ2 will be in one and only one subqueue.
2. It is possible for a subqueue to contain no job numbers. In
this case, the subqueue header entry contains a pointer to
itself, the negative subqueue number, in both halves.
3. The number of classes partitioning PQ2 is specified at MONGEN
time.
4. When the scheduler scans these subqueues, it does so in
order, starting with SQ0 (class 0).
Page 100
Name: JBTDEV -- High Segment Device Table
Description: One entry for each high segment.
The entry is the high segment's physical device name or
file structure name.
Defined in: COMMON
Used by: SEGCON, UUOCON
GETTAB Table No.: .GTDEV (24)
Format:
+-------------------------------------------------------+
Job 0 | |
|-------------------------------------------------------|
| (Job number entries are not used, |
| and overlap the high end of the |
| JBTPPN table.) |
| |
|-------------------------------------------------------|
Job n | |
|-------------------------------------------------------|
High seg n+1 | Physical device name |
|-------------------------------------------------------|
n+2 | " " " |
|-------------------------------------------------------|
| |
| |
+-------------------------------------------------------+
Page 101
Name: JBTJIL -- Just-Swapped-In List
Description: Special queue containing jobs in PQ2 that have just
been swapped in and have not expired their time slice.
The format of the queue table is similar to JBTCQ, that
is indexed in the positive direction by job number and
the negative direction by queue number. The two queue
headers are regular (timesharing) and background batch.
Defined in: COMMON
Used by: SCHED1, SYSINI
Format:
+----------------------------------------------+
JBTBBQ | | |
|----------------------------------------------|
JBTJIQ | Last job in queue | First job in queue |
|----------------------------------------------|
JBTJIL | | |
|----------------------------------------------|
1 | | |
|----------------------------------------------|
2 | | |
|----------------------------------------------|
3 | No. of previous job | No. of next job |
|----------------------------------------------|
n | | |
+----------------------------------------------+
Notes:
The scheduler will search the timesharing queue for job selection
ahead of PQ2 a certain percentage of the time. This percentage is
called the response fairness factor and may be modified from the
default value of 10% by the SCHED. UUO.
Page 102
Name: JBTJRQ -- Requeue List
Description: A singly linked first in last out list of jobs waiting
to be requeued. The right half of JBTJRQ points to the
first entry in the queue. The remainder of the table
is indexed by job number with each entry containing the
job number of the next job in the queue.
Defined in: COMMON
Used by: CLOCK1, SCHED1
Format:
+-----------------------------------+
JBTJRQ | No. of 1st job in the list |
|-----------------------------------|
1 | |
|-----------------------------------|
2 | |
|-----------------------------------|
3 | |
|-----------------------------------|
| |
|-----------------------------------|
| |
|-----------------------------------|
Jobn | |
+-----------------------------------+
Page 103
Name: JBTLIM -- Job Time Limit Table
Description: One entry per job, indexed by job number. Bit
definitions are found in S.MAC. JBTLIM is assembled
only if FTTLIM is non-zero.
Defined in: COMMON
Used by: CLOCK1, COMCON, CORE1, FILFND, IPCSER, SCNSER, UUOCON
GETTAB Table No.: .GTLIM (40)
Format:
+-------------------------------------------------------+
| | | | | | Job 0
|-------------------------------------------------------|
| | | | | | Job 2
|-------------------------------------------------------|
| | | | | | Job 3
|-------------------------------------------------------|
| | | | | |
| | | | | |
| | | | | | Job n
+-------------------------------------------------------+
0 1 9 10 11 12 35
Bit Mask Pointer Content
0 JB.LTL Set if time limit set by
forced DETACH.
1-9 JB.LCR JBYLCR User core limit (in pages).
10 JB.LBT Batch job.
11 JB.LSY Set when program came from
SYS.
12-35 JB.LTM JBLTM Time limit in jiffies.
(0 = infinite)
Page 104
Name: JBTLOC -- Job Location Table
Description: One entry per job number; indexed by job number.
The first entry in the table is the central station
number.
The table is used by the LOCATE command and by the
NEWJOB routine in COMMON to locate a job at the station
number of its controlling terminal.
JBTLOC is assembled only if FTNET is non-zero.
Defined in: COMMON
Used by: AUTCON, COMCON, COMDEV, IPCSER, NETSER, PTYSER, SYSINI,
UUOCON
GETTAB Table No.: .GTLOC (26)
Format:
+-------------------------------------+
| Central site station number |
|-------------------------------------|
| Job location | Job 1
|-------------------------------------|
| Job location | Job 2
|-------------------------------------|
| Job location | Job 3
|-------------------------------------|
| |
| |
|-------------------------------------|
| Job location | Job n
+-------------------------------------+
Page 105
Name: JBTNAM -- Job Name Table
Description: Tells SIXBIT name of each segment; typically, this is
the file it came from. One entry for each job number
or high segment number. Indexed by job number or high
segment number. JBTPRG is the same table.
Defined in: COMMON
Used by: CLOCK1, COMCON, ERRCON, FILFND, IPCSER, KLSER, LPTSER,
NETSER, PTYSER, SCNSER, SEGCON, TAPUUO, TSKSER, UUOCON
GETTAB Table No.: .GTPRG (3)
Format:
+-------------------------------------+
Job 0 | |
|-------------------------------------|
Job 1 | Segment name 1 |
|-------------------------------------|
Job 2 | Segment name 2 |
|-------------------------------------|
Job 3 | Segment name 3 |
|-------------------------------------|
| - |
| - |
|-------------------------------------|
Job n | Segment name n |
|-------------------------------------|
High seg n+1 | Segment name n+1 |
|-------------------------------------|
High seg n+2 | Segment name n+2 |
|-------------------------------------|
. | . |
+-------------------------------------+
Page 106
Name: JBTOLS -- Job Output List
Description: Special queues containing jobs in PQ2 which have
exceeded their time slice and consequently have become
eligible for swap out. The format of the queue table
is similar to that of JBTCQ, in that the table is
indexed in the positive direction by job number, and
the negative direction by queue number. The two queue
headers are regular output (timesharing) and background
batch.
Defined in: COMMON
Used by: SCHED1, SYSINI
Format:
+----------------------------------------------+
JBTOBQ | | |
|----------------------------------------------|
JBTOLQ | Last job in queue | First job in queue |
|----------------------------------------------|
JBTOLS | | |
|----------------------------------------------|
| Previous job # | Next job # |
|----------------------------------------------|
2 | | |
|----------------------------------------------|
3 | | |
|----------------------------------------------|
4 | | |
+----------------------------------------------+
Notes:
Once a job enters JBTOLS it has a higher priority for swap out.
Page 107
Name: JBTPC -- User Mode PC
Description: Contains user program counter for each job in the
system.
Defined in: COMMON
Used by: CLOCK1, COMCON, ERRCON, UUOCON
GETTAB Table No.: .GTPC (152)
Format:
+-------------------------------------+
| | | Job 0
|-------------------------------------|
|Addr of DDB that | PC |
| job is in I/O | | Job 1
| wait for | |
|-------------------------------------|
| | | Job 2
|-------------------------------------| . . .
| | | Job n
+-------------------------------------+
Page 108
Name: JBTPDB -- Process Data Block Table
Description: One entry per job, indexed by job number. The right
half contains the address of this job's Process Data
Block.
Defined in: COMMON
Used by: CLOCK1, COMCON, DATMAN, ERRCON, IPCSER, KLSER, MOSSER,
NETSER, SCHED1, SCMUUO, UUOCON, VMSER
GETTAB Table No.: .GTPDB (162)
Format:
+--------------------------------------------+
| | | | | Job 0
|--------------------------------------------|
|Unused | IFYPGS | NFYPGS | PDB Address | Job 1
|--------------------------------------------|
| | | | | Job 2
|--------------------------------------------| . . .
| | | | | Job n
+--------------------------------------------+
0 5 6 11 12 17 18 35
Notes:
1. NFYPGS is the byte pointer to the number of funny pages
allotted to the user.
2. IFYPGS is the byte pointer to the number of funny pages to
allocate on swap-in.
Page 109
Name: JBTPIA -- Software Program Interrupt Table
Description: Contains flags and pointers to program interrupt table
for each job that is using the programmed software
interrupt facility.
Defined in: COMMON
Used by: IPCSER, PSISER, UUOCON
Format:
0 1 2 17 18 35
+-------------------------------------------------------+
| | | | | Job 0
|-------------------------------------------------------|
| | | | Adr. of program interrupt table | Job 1
|-------------------------------------------------------|
| | | | | Job 2
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
| | | | | Job n-1
|-------------------------------------------------------|
| | | | | Job n
+-------------------------------------------------------+
Notes:
1. If bit 0 is set, the PI system is turned on.
2. If bit 1 is set, the PI system is turned off until a
DEBRK by the current job.
Page 110
Name: JBTPPN -- Project Programmer Number Table
Description: Contains the project programmer number for each logged
in
job. if the high segment came from disk, this table
contains the PPN for
path pointer of the directory from which the high
segment came.
Defined in: COMMON
Used by: CLOCK1, COMCON, ERRCON, FILFND, FILIO, FILUUO, IPCSER,
KLSER, LPTSER, NETSER, SCLINK, SCNSER, SEGCON, TAPUUO,
TSKSER, UUOCON,
GETTAB Table No.: .GTPPN (2)
Format:
+-------------------------------------+
Job 0 | | |
|-------------------------------------|
Job 1 | Project no. | Programmer no. |
|-------------------------------------|
| | |
|-------------------------------------|
| | |
|-------------------------------------|
Job n | | |
|-------------------------------------|
Hi seg 0 | Project no. | Programmer no. |
|-------------------------------------|
| 0 or path pointer |
|-------------------------------------|
. . .
|-------------------------------------|
Hi seg m | | |
|-------------------------------------|
Page 111
Name: JBTPRV -- Job Privilege Bits
Description: Tells privileges allowed each job. One entry for each
job number, indexed by job number. Bits are set by
LOGIN from ACCT.SYS File as modified by customer for
his particular installation.
Defined in: COMMON. Bits defined in S.UNV.
Used by: CLOCK1, COMCON, COMMOD, CPNSER, FILFND, IPCSER, RTTRP,
UUOCON
GETTAB Table No.: .GTPRV (6)
Format:
+----------------------------------------------+
|J|J|J|J|J|P |P|J| |P|P|P|P|P| |
|P|P|P|P|P|V |V|P| |V|V|V|V|V| |
|.|.|.|.|.|H |N|.| |R|L|T|S|S| |
|I|D|M|P|C|P |S|E| |T|O|R|P|P| |
|P|P|E|O|C|Q |P|N| |T|C|P|Y|Y| |
|C|R|T|K|C| |L|Q| | |K|S|A|M| |
| | | | | | | | | | | | | | | |
|----------------------------------------------|
Job 0 | | | | | | | | | | | | | | | |
|----------------------------------------------|
Job 1 | | | | | | | | | | | | | | | |
|----------------------------------------------|
Job 2 | | | | | | | | | | | | | | | |
|----------------------------------------------|
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
Job N | | | | | | | | | | | | | | | |
+----------------------------------------------+
0 3 4 5 6-9 11 13 15 17 18 35
Bits Symbol Meaning
0 JP.IPC Job allowed to use IPCF priv. functions
1-2 JP.DPR Highest disk priority allowed to the job
3 JP.MET Job allowed to use METER UUO
4 JP.POK Job allowed to use POKE UUO
5 JP.CCC Job allowed to change CPU specifications
6-9 PVHPQ Largest HPQ run queue for this job
10 PVNSPL Job allowed to unspool devices
11 JP.ENQ Job allowed to use ENQ/DEQ
12 Unused
13 PVRTT Job allowed to use RTTRP UUO
14 PVLOCK Job allowed to use LOCK UUO
15 PVTRPS Job allowed to use TRPSET UUO
16 PVSPYA Job allowed to spy at all of core using
SPY/PEEK UUOs
17 PVSPYM Job allowed to spy at monitor using SPY/PEEK UUOs
18-35 Reserved for customer-defined privileges
Page 112
Name: JBTRQT -- Job Run-Queue Time Table
Description: One entry per job number. Contains a count of the
number
of ticks a job was in PQ1 or PQ2.
Defined in: COMMON
Used by: CLOCK1, SCHED1, UUOCON
GETTAB Table No.: .GTTRQ (53)
Format:
+-------------------------------------+
| "Want to run" time | Job 0
|-------------------------------------|
| | Job 1
|-------------------------------------|
| | Job 2
|-------------------------------------|
| | Job 3
|-------------------------------------|
| . |
| . |
| . |
|-------------------------------------|
| | Job n
+-------------------------------------+
Notes:
JBTRQT is assembled only if FTRSP is non-zero, and is also updated
only if the monitor is patched at location RQTPAT to enable it.
Page 113
Name: JBTRSP -- Response Time Table
Description: This table contains one entry per job number, including
the null job. The null job entry is not referenced.
Defined in: COMMON. Bits are defined in S.UNV.
Used by: CLOCK1, UUOCON
GETTAB Table No.: .GTRSP (50)
Format:
0 1 2 3 4 35
+------------------------------------------------+
|J|J|J|J|J| |
|R|R|R|R|R| |
|.|.|.|.|.| |
|R|R|R|R|R| |
|C|O|I|R|X| |
|R|R|R|R|R| |
|------------------------------------------------|
| | | | | | | Job 0
|------------------------------------------------|
| | | | | | Time job started waiting | Job 1
|------------------------------------------------|
| | | | | | | .
|------------------------------------------------|
| | | | | | | .
| | | | | | | Job N
+------------------------------------------------+
Bit Name Description
0 JR.RCR Recorded first CPU use
1 JR.ROR Recorded TTY output UUO
2 JR.RIR Recorded TTY input UUO
3 JR.RRR Recorded CPU quantum exceeded requeue
4 JR.RXR Recorded first of above 3 responses
(JR.ROR, JR.RIR, or JR.RRR)
Bits set to 1 when type of response is recorded, to 0 when user types
in.
Notes:
1. The entries in the right half of this table are the up times
at which the user began to wait for system response. If
zero, the user is not waiting. Entries are made in the table
when the user's job comes out of TTY Input Wait or types a
command that runs a job. The entries are used by the
scheduler to calculate entries in each CPU's response
subtable.
Page 114
2. JBTRSP is assembled only if FTRSP is non-zero.
Page 115
Name: JBTRTD -- Real Time Devices
Description: Contains real time status bits in the left half for
HPQs and hibernate-wake. The right half contains a
count of the real time devices owned by the job.
Defined in: COMMON
Used by: CLOCK1, IPCSER, PTYSER, RTTRP, SCMUUO, SCNSER, SYSINI,
UUOCON
GETTAB Table No.: .GTRTD (37)
Format:
0 26 27 35
+-------------------------------------+
| | | Job 0
|-------------------------------------|
| | | Job 1
|-------------------------------------|
| Status bits | Count | Job 2
|-------------------------------------|
| | | .
| | | .
|-------------------------------------|
| | | Job n
+-------------------------------------+
Bit Symbol Meaning
0 MONHBR Only an exec process can wake job
1 IPCACE IPCF event enable
2-5 HPQSPT Console command setting of HPQ for job
6-9 HPQPNT Current HPQ position of job
10 WAKEB Wake bit - set if wake job by HIBER
11 IOACE I/O activity enable
12 PTYWUE PTY activity enable
13 TTIALE TTY activity enable - line mode
14 TTIACE TTY activity enable - character mode
15-17 HIBPRT Hibernate protection code for job
27-35 Count of number of realtime devices
owned by job
Page 116
Name: JBTSCD -- Subqueue (Class) Table
Description: Contains each job's class type, indexed by job number;
one entry for each job.
Defined in: COMMON
Used by: CLOCK1, SCHED1, UUOCON
GETTAB Table No.: .GTJTC (120)
Format:
0 1 13 17 35
+-------------------------------------------------------+
Job 0 |X| | Class # | JS.TYP |
|-------------------------------------------------------|
Job 1 | | | | |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
Job n | | | | |
+-------------------------------------------------------+
Bit Symbol Meaning
0 JS.PQ2 Job is in PQ2
13-17 JS.CLS Job's scheduler class JBYCLS
27-35 JS.TYP Job's scheduler type
Page 117
Name: JBTSFD -- Sub-File Directory Table
Description: One entry per job holding search list and SFD
information.
Defined in: COMMOD
Used by: COMMON, FILFND, FILUUO
Format:
+-------------------------------------------------------+
Job 0 | | | | | | |
|-------------------------------------------------------|
Job 1 | | | | Default SFD NMB | | |
|-------------------------------------------------------|
Job 2 | | | | | | |
|-------------------------------------------------------|
| | | | | | |
| | | | | | |
| | | | | | |
|-------------------------------------------------------|
Job n | | | | | | |
+-------------------------------------------------------+
0 15 18 33 34 35
Bits Label Meaning
0-15 Address of library PPN PPB
16 JBPXSY Search NEW before SYS
17 JBPSYS Search SYS after DSK
18-33 High-order 16 bits of address
of default SFD NMB or 0.
The NMB must be on a
four-word boundary;
therefore, bits 34-35 of
the address must be zero.
34 JBPUFB Bits 18-33 point to a PPB.
35 JBPSCN Scanning is on.
Page 118
Name: JBTSGN -- Segment Table
Description: Tells which high segment, if any, each job is using, or
which job that high segment was last or is being
swapped in for. One entry for each segment number.
Indexed by job number or segment number.
Defined in: COMMON
Used by: CLOCK1, COMCON, CORE1, CPNSER, ERRCON, IPCSER, KLSER,
LOKCON, METCON, SCHED1, SEGCON, UUOCON, VMSER
GETTAB Table No.: .GTSGN (14)
Format:
0 1 2 3 4 5 17 18 35
+------------------------------------------------+
|S|S|U|M|C|L| | |
|P|H|W|E|O|O| | |
|Y|R|P|D|R|K| | |
|S|S|O|D|C|S| | |
|E|E|F|L|N|E| | |
|G|G|F|E|T|G| | |
|------------------------------------------------|
Job 0 | | | | | | | |High seg _# for this job |
|------------------------------------------------|
Job 1 | | | | | | | | |
|------------------------------------------------|
Job 2 | | | | | | | | |
|------------------------------------------------|
. . .
|------------------------------------------------|
Job n | | | | | | | | |
|------------------------------------------------|
High seg n+1 | 0 |Last low seg for which this|
| |segment was swapped in |
|------------------------------------------------|
High seg n+2 | | |
|------------------------------------------------|
. . .
+------------------------------------------------+
Page 119
Bit Label Meaning
0 SPYSEG High segment is physical core (see SPY UUO).
1 SHRSEG High segment is sharable. The SHRSEG bit is also kept
in the JBTSTS entry for that high segment.
2 UWPOFF User mode write protect is off.
3 MEDDLE User has meddled with sharable program.
4 CORCNT High segment's in-core count has been incremented
5 LOKSEG The high segment this job is sharing is locked in core.
6 NCSH High segment is not cached.
7 SEGMB UPT needs updating because the high segment locked by
another job.
8 NOCSH High segment is not cached because it is not writeable.
9 REDOMP High segment is part of UPT needs to be rewritten
10 GTSSEG High segment was obtained with a GETSEG UUO.
13-17 Zero, so can read "@JBTSGN" to compare right half.
18-35 If SPYSEG set, highest physical address user may see.
If no high segment, zero. Otherwise, high segment
number associated with this job.
For high segment entries, the left half is 0 and bits 18-35 contain
the low segment for which the high segment was/is being swapped in.
Page 120
Name: JBTSPL -- Spool Control Table
Description: Contains input file name counter, devices being
spooled, and disk priority for the job.
Defined in: COMMON
Used by: CLOCK1, COMCON, COMMOD, FILUUO, IPCSER, UUOCON
GETTAB Table No.: .GTSPL (36)
Format:
+-----------------------------------------------+
| | | | Job 0
|-----------------------------------------------|
| Input file name counter | DSK pri | Spool dev | Job 1
|-----------------------------------------------|
| | | | Job 2
|-----------------------------------------------| . . .
| | | | Job n
+-----------------------------------------------+
Bits Symbol Meaning
0-17 JB.SIN Spooled input name counter.
24-26 JS.DPR Current disk priority
JBYPRI
27-35 JB.SPL Spooling bits:
27 JB.DFR Deferred spooling
31 JB.CDR Card reader spooling
32 JB.CDP Card punch spooling
33 JB.PTP Papertape punch spooling
34 JB.PLT Plotter spooling
35 JB.LPT Line printer spooling
Page 121
Name: JBTSPS -- Second Processor Status
Description: Assembled in multiprocessor systems to indicate second
processor status. One entry per job number.
Defined in: COMMON
Used by: COMDEV, CPNSER, UUOCON
GETTAB Table No.: .GTSPS (54)
Format:
+-------------------------------------------------------+
| Bits set by monitor | GETTAB bits for 6 CPUs | Job 0
|-------------------------------------------------------|
| | | Job 1
|-------------------------------------------------------|
| | | Job 2
|-------------------------------------------------------|
/ . . . /
+-------------------------------------------------------+
Bits are defined on the following page.
Page 122
Bit Label Meaning
0 Not runnable on CPU5
1 Not runnable on CPU4
2 Not runnable on CPU3
3 Not runnable on CPU2
4 SP.NR1 Not runnable on CPU1
5 SP.NR0 Not runnable on CPU0
6 Current job on CPU5
7 Current job on CPU4
8 Current job on CPU3
9 Current job on CPU2
10 SP.CJ1 Current job on CPU1
11 SP.CJ0 Current job on CPU0
12 SP.ROP Job forced to policy CPU when policy
CPU dies
14 SP.CC1 Set if <CTRL/C> was typed or if
<CTRL/D> breakpoints are enabled, and
job is running on another CPU to
force context switch to policy CPU
24 SET CPU command bit for CPU5
25 SET CPU command bit for CPU4
26 SET CPU command bit for CPU3
27 SET CPU command bit for CPU2
28 SP.SC1 SET CPU command bit for CPU1 (OK as far
as user is concerned to run on this CPU
even if stopped or not scheduling)
29 SP.SC0 SET CPU command bit for CPU0
30 Can run on CPU5
31 Can run on CPU4
32 Can run on CPU3
33 Can run on CPU2
34 SP.CR1 Can run on CPU1
35 SP.CR0 Can run on CPU0
Page 123
Name: JBTSTS -- Status Table
Description: Contains status information about each job and high
segment. One entry for each job number and each high
segment number. Indexed by job number or high segment
number.
See also: AVALTB, QBITS, Job Queues and Wait State
Codes
Defined in: COMMON. Bits defined in S.UNV.
Used by: CLOCK1, COMCOM, CORE1, CP1SER, DISSER, ERRCON, FILFND,
FILIO, FILUUO, IPCSER, KILOCK, KISER, KLSER, KSSER,
METCON, MTXSER, NULSEG, PSISER, PTYSER, REMDSX, RTTRP,
SCHED1, SCNSER, SEGCON, SYSINI, UUOCON, VBCSER, VMSER
GETTAB Table No.: .GTSTS (0)
Format:
+----------------------------------------+
Job 0 | |
|----------------------------------------|
Job 1 | Status bits |
|----------------------------------------|
Job 2 | " " " " " " |
|----------------------------------------|
- | |
- | |
|----------------------------------------|
Job n | " " " " " " |
|----------------------------------------|
High seg n+1 | Status bits |
|----------------------------------------|
High seg n+2 | " " " " " " |
|----------------------------------------|
High seg n+3 | " " " " " " |
|----------------------------------------|
- | |
- | |
|----------------------------------------|
High seg m | |
+----------------------------------------+
See bit definitions on following pages.
Page 124
LH of Job Number Entries
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
+--------------------------------------------+
| | | | | | | | | | | | | | |
|--------------------------------------------|
|R|C|J|J|J|N|S|S|N|C| | J| J| J |
|U|M|X|N|E|S|H|W|S|N| Wait | L| R| A |
|N|W|P|A|R|W|F|P|H|T| State | O| Q| C |
| |B|N| |R|P| | |F|R| code | G| | C |
| | | | | | | | | |L| | | | T |
| | | | | | | | | |C| (PJBSTS) | | | |
+--------------------------------------------+
RH of Job Number Entries
+------------------------------------------------------+
| 18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
|------------------------------------------------------|
| | | | | | | | | | | | | | | | | | |
|------------------------------------------------------|
| C| L| J| U| J| J| | J| J| J| | J| J| J| J| J| J| J|
| L| O| D| T| D| S| | S| S| S| | S| S| S| S| S| S| S|
| K| K| C| R| C| .| | .| .| .| | .| .| .| .| .| .| .|
| R| | | P| O| D| | X| R| M| | D| A| X| R| S| N| N|
| | | | | N| E| | O| U| P| | P| S| O| Q| F| X| T|
| | | | | | P| | | U| E| | M| A| R| R| L| M| O|
+------------------------------------------------------+
Bits Label Meaning
0 RUN Set if user wants job to run.
1 CMWB Job in Command Wait
2 JXPN Job must be swapped out because it
is expanding, and there is not
enough room in core.
3 JNA This job number is assigned.
4 JERR Monitor detected error has occurred.
5 NSWP Job is not to be swapped.
6 SHF Monitor is waiting to shuffle or swap
out this job.
7 SWP 1 if job swapped out or in transit.
8 NSHF Job is not to be shuffled.
9 CNTRLC <CTRL/C> typed while in monitor mode and
not in TTY input wait - delay stopping
job.
Page 125
Bits Label Meaning
10-14 PJBSTS Specifies transfer table to requeue job
for current conditions. See AVLQTB,
QBITS for the names of the tables. These
are system dependent values as not all
queues will be assembled for all systems.
The value here may be used to count 12-bit
bytes into STSTBL to get the SIXBIT queue
name. See also Job Queues and Wait State
Codes.
15 JLOG Job logged in.
16 JRQ Job has changed state and must be queued
at clock level before rescheduling can
take place.
17 JACCT Privileged system CUSP which cannot be
interrupted.
18 CLKR Job has clock request in.
19 LOK Job is being locked in core.
20 JDC Job has typed "DCORE."
21 UTRP Trap to USER on UUO exit (reenter DDT).
22 JDCON Job in <CTRL/C> state waiting to continue
from error.
23 JS.DEP DAEMON error pause.
24 Reserved for use by DIGITAL.
25 JS.XO Execute-only core image.
26 JS.RUU RUN UUO or command in progress.
27 JS.MPE Memory parity error for job.
28 JS.BPT <CTRL/D> DDT breakpoint is enabled.
29 JS.DPM DAEMON problem message needed.
30 JS.ASA Use shadow AC's for UUO args instead of
user AC's.
31 JS.XOR Run UUO or command in progress on
execute-only file.
32 JS.RQR Reset quantum run time.
33 JS.SFL Stop job if disk is full.
34 JS.NXM Some page in user's address space is
contained in non-existent memory.
35 JS.NTO Non-blocking terminal output.
Page 126
LH of High Seg Entries
+-----------------------------------------------------+
|S|S|J|S|S|N| |S|N| Hiseg |J|In-core|
|N|H|X|S|E|S| |W|S| Access privilege bits |S| count |
|A|R|P|.|R|W| |P|H|-------------------------|.| |
| |S|N|S|R|P| | |F| Owner |Project|Universe |S| |
| |E| |Y| | | | | |-------------------------|F| |
| |G| |S| | | | | | | | | | | | | | |E| |
|-----------------------------------------------------|
| | | | | | | | | | | | | | | | | | | | |
+-----------------------------------------------------+
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 35
Bit Symbol Meaning
0 SNA This high seg number assigned.
1 SHRSEG Sharable segment (also kept in JBTSGN).
2 JXPN High segment is expanding and must be swapped out.
3 SS.SYS Hiseg came from SYS.
4 SERR High segment swap read error.
5 NSWP This high seg is not to be swapped.
7 SWP 1 if segment swapped out or in transit.
8 NSHF High segment cannot be shuffled.
9-17 Segment access privilege bits - same as disk file.
18 JS.SFE Hiseg came from an EXE file.
19-35 JBYICC In-core count of jobs using this high segment.
Page 127
Name: JBTST2 -- Job Status Table 2
Description: Contains status information about each job.
(Extensions to the JBTSTS table.) Indexed by job
number.
Defined in: COMMON. Bits defined in S.MAC.
Used by: CLOCK1, COMCON, FILFND KASER, KISER, KLSER, KSSER,
SCHED1, SEGCON, UUOCON
GETTAB Table No.: .GTST2 (117)
Format:
0 16 17 18 19 20 24 25 26 27 32 33 34 35
+-----------------------------------------------------------+
| |E | M| A| |E | R| Job |O | R| S|
| |X | I| B| EW code |W | P| Queue |O | R| C|
| |E | G| P| |A | C| # |O | Q| N|
| | | | | |K | | | | | |
| | | | | |E | | | | | |
|-----------------------------------------------------------|
Job 0 | |
|-----------------------------------------------------------|
Job 1 | |
|-----------------------------------------------------------|
Job 2 | |
|-----------------------------------------------------------|
| |
| |
| |
Job n | |
+-----------------------------------------------------------+
Bit Label Meaning
0 JS.IPQ On if job is in a processor queue.
Must be sign bit.
2-3 JS.DEB Deferred echo bits
4 JS.OLS Job owns locked structure
5 JS.SIP On if swapping I/O is in progress for this job
6 JS.FPS On if long KA-10 floating point instructions
should be simulated
FORCE was JXPN to avoid forgetting
FORCE was cleared.
7 JS.NNQ On if not to assign new quantum value on
swap-in. Set when job GETSEGs a
swapped segment.
8 JS.BBJ On if job is from background batch.
9 JS.CSQ On if job is changing subqueue due to
SCHED. UUO.
Page 128
Bit Label Meaning
10 JS.IGS In GETSEG (doing a GETSEG UUO).
11 JS.HNG Job stayed in FORCE too long, causing
temporary or permanent system hang.
Cleared when swapped in or out.
12 JS.BPR Bypass program to run checking if set.
The current RUN command is allowed
despite .PDPGM (used for KJOB).
13 JS.FXO File daemon made this core image
execute-only.
14 JS.CFX Call file daemon on program exit.
15 JS.HIB This job is hibernating
16 JS.NCS On if the cache bits are not to be
turned on in this job's map.
17 JS.EXE A new save (EXE file) is underway,
or on a GET, the LOOKUP on the
EXE file failed. (Prevents EXE
file from being read in again for
the low segment.)
18 JS.MIG Job has migrated to another swapping
unit when a disk controller is being
taken off-line (FTDHIA).
19 JS.ABP An address break page fault occurred
because of a reference to this user's
virtual address space during UUO
processing.
20-24 JBYEWT ESLEEP reason:
1 EV.TKW Tape controller
2 EV.REW Rewind
3 EV.LBL Label processing
4 EV.NET Network device
5 EV.NTC Network terminal connect
6 EV.STC Network station control
7 EV.DTE DTE I/O
10 EV.KDP KDP I/O
11 EV.IPC IPCF system process receive
12 EV.FEI Front end device input
13 EV.FEO Front end device output
14 EV.D60 DN60 device
15 EV.DCN DECnet connect I/O
16 EV.DMR DMR I/O
25 EWAKEB EWAKE called (wakeup waiting)
26 JS.RPC If = 1, run program in .PDPGM on <CTRL/C>
27-32 PJBST2 Queue number. Also called PJBST1 (for
indexing by T1).
33 JS.OOO User ran out of order. Stop when gives
up last resource.
34 JS.TFO Job forced out by timer.
35 JS.SCN Job was scanned to run by at least one
CPU during last tick.
Page 129
Name: JBTSWP -- Job Segment Swap Area
Description: Contains information used when swapping segments.
There is one entry for each job number and high segment
number. It is indexed by the job number or high
segment number.
Defined by: COMMON
Used by: COMCON, KISER, KLSER, KSSER, SCHED1, SEGCON, SWPSER,
UUOCON, VMSER
GETTAB Table No.: .GTSWP (7)
Format:
+--------------------------------------------------------+
|F| |S| | |
|R| |W| | |
|G| |P| | |
|S| |C| | |
|E| |L| | |
|G| |R| | |
|--------------------------------------------------------|
Job 0 | | | Out-core size | In-core size |
|--------------------------------------------------------|
Job 1 | | Disk address (3) | " " " | " " " |
|--------------------------------------------------------|
Job 2 | | | " " " | " " " |
|--------------------------------------------------------|
| | | | |
|--------------------------------------------------------|
| | | | |
| | | | |
|--------------------------------------------------------|
HSEG+n | | High seg. size | " " " | " " " |
+--------------------------------------------------------+
0 1 18 26 27 35
Bit Name Description
0 FRGSEG 1 if low or high segment is fragmented
on the swapping device.
18 SWPCLR 1 if job data area should be cleared
after swapping.
Page 130
Notes:
1. Fragment table documented separately.
2. For swapped out segments, Out-Core Size is the size of the
area in which the segment is written on the swapping device,
in 1K blocks; In-Core Size is the size of the core area into
which it should be read when it is swapped in. These are
usually, but not always, the same. One case in which they
would be different is when a segment is expanding in size.
3. Disk Address Bit Definitions:
Bits Meaning
3-5 Index of unit in SWPTAB (JBYSUN)
6-17 First logical K on unit (JBYLKN)
1-17 Core address of fragment table if
fragmented
Page 131
Name: JBTUPM -- UPT Address Table
Description: Contains the address for the user page map page for
each job and high segment that is in core. This table
is also called JBTHSA.
Defined in: COMMON
Used by: KILOCK, KISER, KLSER, SCHED1, SEGCON, SWPSER, SYSINI
UUOCON, VMSER
GETTAB Table No.: .GTUPM (100)
Format:
0 8 9 17 18 22 23 35
+-------------------------------------+
| HSO | 0 | HSS | UPT addr | Job 0
|-------------------------------------|
| | | | | Job 1
|-------------------------------------|
| | | | | Job 2
|-------------------------------------|
| . | .
| . | .
|-------------------------------------|
| | | | | Job n
|-------------------------------------|
| | | | Seg n + 1
|-------------------------------------|
| . | .
| . | .
|-------------------------------------|
| HSO | | HSA | Seg m
+-------------------------------------+
0 8 23 35
Description for Low Segment Entry
Bit Pointer
0-8 JBYHSO Virtual page number of hi-seg. origin
18-22 JBYHSS Number of pages less one in high segment
23-35 Physical page number of UPT
Description for High Segment Entry
0-8 JBYHSO Virtual page number of high-seg origin
23-35 JBYHSA Physical page number of first page of
high segment
Page 132
Name: JBTVRT -- Paging Rate Table
Description: Virtual memory per job paging rates are contained in
this table.
Defined in: COMMON
Used by: UUOCON, VMSER
Format:
+-------------------------------------+
| Page rate | Job 0
|-------------------------------------|
| " | Job 1
|-------------------------------------|
| | .
| | .
| | .
|-------------------------------------|
| " | Job n
+-------------------------------------+
Page 133
Name: JBTWCH -- Watch Table
Description: This table is assembled if FTWATCH is assigned a
non-zero value in S.MAC. It determines the specific
watch parameters to be displayed. There is one entry
per job number including the null job. The null job
entry is not referenced.
Defined in: COMMON
Used by: COMCON, MTXSER, UUOCON
GETTAB Table No.: .GTWCH (35)
Format:
0 1 12 13 35
+-------------------------------------------------------+
JBTWCH | | Conditions | Time of day | Job 0
|-------------------------------------------------------|
| | | | Job 1
|-------------------------------------------------------|
| | Job 2
|-------------------------------------------------------|
| |
| |
| |
| |
|-------------------------------------------------------|
| | Job n-1
|-------------------------------------------------------|
| | Job n
+-------------------------------------------------------+
Bit Name Description
1 JB.WDY Watch time of day started to wait.
2 JB.WRN Watch runtime when return to command level.
3 JB.WWT Watch waiting time when return to command
level.
4 JB.WDR Watch number of 128 word disk block read.
5 JB.WDW Watch number of 128 word disk blocks written.
6 JB.WVR Watch versions.
7 JB.WMT Watch number MTA performace statistics.
8 JB.WFL Watch file activity.
9 JB.WLM Long error messages.
10 JB.WNM Normal error messages.
11 JB.WPM Prefix error messages.
13-35 Time of day (in jiffies) user started to wait.
Page 134
Name: JDA -- Device Assignment Table
Description: Associates a device or file with each active channel in
a user job, and tells which UUOs have been done on that
channel.
The JDA is part of the job's UPT. Each JDA contains 16
entries corresponding to the 16 software channels of a
user job.
Indexed by channel number.
Defined in: COMMON
Used by: COMCON, CORE1, DTASRN, FILIO, FILUUO, MSGSER, PTYSER,
SEGCON, UUOCON, VMSER
Format:
+------------------------------------------------------+
|I|I|O|L|E|I|O|I|O|I|O|S|R|R| | |
|N|B|B|O|N|N|U|C|C|N|U|Y|E|E| | |
|I|U|U|O|T|P|T|L|L|B|T|S|N|S| | |
|T|F|F|K|R|B|P|O|O|F|B|D|M|E| | |
|B|B|B|B|B| |B|S|S|B|F|E|B|T| | |
| | | | | | | |B|B| |B|V| |B| | |
|------------------------------------------------------|
Channel 0 | | | | | | | | | | | | | | | | Device Data Blk adr |
|------------------------------------------------------|
1 | | | | | | | | | | | | | | | | " |
|------------------------------------------------------|
2 | | | | | | | | | | | | | | | | " |
|------------------------------------------------------|
- | | | | | | | | | | | | | | | | |
- | | | | | | | | | | | | | | | | |
17 | | | | | | | | | | | | | | | | |
+------------------------------------------------------+
0 13 18 35
Page 135
Bit Label Meaning
0 INITB INIT or OPEN has been done
1 IBUFB Input ring header specified (by INIT)
2 OBUFB Output ring header specified (by INIT)
3 LOOKB A LOOKUP has been done
4 ENTRB An ENTER has been done
5 INPB An INPUT has been done
6 OUTPB An OUTPUT has been done
7 ICLOSB An input CLOSE has been done
8 OCLOSB An output CLOSE has been done
9 INBFB An input buffer ring has been set up
10 OUTBFB An output buffer ring has been set up
11 SYSDEV This is the system tape device or SYSPPN on
DSK
12 RENMB RENAME UUO in progress
13 RESETB RESET UUO in progress
18-35 Address of Device Data Block for I/O on this
software channel
Notes:
1. If both LOOKB and ENTRB are on, the file is being accessed in
update mode.
2. Extended channel information is kept in a 64-word table in
funny space pointed to by the .UPCTA word in the UPT. If
extended channels are not in use, the word is zero. Each
entry in the table is formatted the same as entries in the
JDA table.
Page 136
Name: JOBDAT -- Data Area
Description: Storage area for items of interest to both the monitor
and the user.
There is one Job Data Area for each job that has a
non-zero core allocation. It occupies the first 140
locations of the job's core area, and is swapped out
along with the job.
Defined in: COMMON
Used by: COMMON
Format:
Relative
Location Label
+---------------------------------------------+
0 - 17 .JBBAC | User ACs during UUO (16 words) |
|---------------------------------------------|
20 - 37 .JBBAC | Hardware ACs while job inactive (16 words) |
|---------------------------------------------|
40 .JBUUO | User UUO stored here |
|---------------------------------------------|
41 .JB41 | User UUO branch instruction |
|---------------------------------------------|
42 .JBERR | Unused | Error cnt for RPG |
|---------------------------------------------|
43 .JBENB | Unused | User APR trap flags |
|---------------------------------------------|
44 .JBREL | 0 | Length of low seg |
|---------------------------------------------|
45 .JBPD1 | Push down list (21 words) |
|---------------------------------------------|
72 .JBHCU | Highest I/O channel in use |
|---------------------------------------------|
73 .JBPC | Job PC when job inactive |
|---------------------------------------------|
74 .JBDDT | Unused | Start addr of DDT |
|---------------------------------------------|
76 .JBBPT | Address of unsolicited breakpoint |
| entry into DDT |
|---------------------------------------------|
Page 137
|---------------------------------------------|
114 .JBSDD | JOBDDT here on SAVE/Protected from I/O |
|---------------------------------------------|
115 .JBHRL | First free loc | Length of high |
| in high seg | seg |
|---------------------------------------------|
116 .JBSYM | Symbol table pointer |
|---------------------------------------------|
117 .JBUSY | Undefined symbol table pointer |
|---------------------------------------------|
120 .JBSA | First free loc | Program start |
| in low seg- | address |
| when loaded | |
|---------------------------------------------|
121 .JBFF | Current first free location in low seg. |
|---------------------------------------------|
122 .JBS41 | .JB41 here on SAVE |
|---------------------------------------------|
123 .JBEXM | Address of last D or E command |
|---------------------------------------------|
124 .JBREN | Address for REENTER command |
|---------------------------------------------|
125 .JBAPR | Branch loc on user enabled APR error |
|---------------------------------------------|
126 .JBCNI | APR conditions on APR trap |
|---------------------------------------------|
127 .JBTPC | PC stored here on APR trap |
|---------------------------------------------|
130 .JBOPC | Old PC stored here on START, DDT, REENTER, |
| & CSTART commands |
|---------------------------------------------|
131 .JBCHN | Used for FORTRAN job chaining (root link) | .JBOVL
|---------------------------------------------|
132 .JBFDV | DDB addr for FINISH command |
|---------------------------------------------|
133 .JBCOR | Highest loc in low | Low seg core |
| seg actually loaded | assignment |
|---------------------------------------------|
134 .JBINT | | Data block adr for |
| | error intercept |
|---------------------------------------------|
135 .JBOPS | Reserved for runtime operating system |
|---------------------------------------------|
136 .JBCST | Reserved for customer |
|---------------------------------------------|
137 .JBVER | Job version number |
|---------------------------------------------|
140 | First loc in user's program area |
+---------------------------------------------+
Page 138
Notes:
1. The actual tables are included at the beginning of each
user's area.
2. Many of these words contain different values while a SAVE or
GET is in progress, and therefore have several different
labels.
3. System-sensitive locations for all machines are stored in the
UPT instead of the user's core image. If .JBxxx is stored in
location yyy, VJBDAT will define the value of the symbol as
-1000+yyy (octal).
Page 139
Name: Job -- Queues and Wait State Codes
Defined in: (See JBTCQ and JBTSTS)
Used In: (See JBTCQ and JBTSTS)
Job queues keep track of a job's priority to run and to be in core and
are maintained in table JBTCQ. Wait State Codes keep track of the
runnability of a job and are defined in parallel so that a queue
number and a wait state code that have the same meaning will also have
the same numeric value. Values will differ at different sites due to
conditional assembly.
Symbol Value Usage Feature Meaning
RNQ 00 N Ready to run
WSQ 01 U I/O Wait Satisfied
TSQ 02 U TTY I/O Wait Satisfied
DSQ 03 U Disk I/O Wait Satisfied
PSQ 04 U Paging I/O Wait Satisfied
AUQ 05 R Alter UFD Wait
DAQ 06 R Disk Space Allocation Wait
CBQ 07 R Disk core block scan wait
D1Q 11 R DECtape Controller 1 Wait (DTA)
D2Q 12 R DECtape Controller 2 Wait (DTB)
D3Q 13 R DECtape Controller 3 Wait (DTC)
D4Q 14 R DECtape Controller 4 Wait (DTD)
D5Q 15 R DECtape Controller 5 Wait (DTE)
D6Q 16 R DECtape Controller 6 Wait (DTF)
D7Q 17 R DECtape Controller 7 Wait (DTG)
D8Q 20 R DECtape Controller 8 Wait (DTH)
DCQ 21 R DECtape/Magtape Control Wait
MMQ 22 R FTMP Memory Management Wait
CAQ 23 R FTLOCK Semi-permanent core Wait (LOCK)
EVQ 24 R FTKI|FTKL Exec virtual memory Wait
EQQ 25 R FTEQDQ Enqueue-Dequeue Wait
IOWQ 26 C I/O Wait
TIOWQ 27 CQ TTY I/O Wait
DIOWQ 30 C Disk I/O Wait
PIOWQ 31 C Paging I/O Wait
SLPQ 32 CQ Sleeping (>= 1 second)
EWQ 33 CQ Event Wait (see JBTST2)
NAPQ 34 C Napping (sleep < 1 second)
NULQ 35 CQ Unassigned Jobs
JDCQ 36 CQ FTDAEM Job Waiting for DAEMON
STOPQ 37 CQ Job Stopped (^C State)
PQ1 40 Q Jobs Starting Up or coming
out of TTY I/O wait
PQ2 41 Q Non interactive jobs
CMQ 42 Q Command Wait for Swapper
(^W State)
Page 140
Symbol Value Usage Feature Meaning
HPQ1 43 Q FTHPQ High Priority (Realtime) Jobs
HPQ2 44 Q FTHPQ Higher Priority (Realtime) Jobs
HPQ3 45 Q FTHPQ Highest Priority (Realtime) Jobs
The number of HPQs is determined by the MONGEN dialogue.
Key to Usage:
N No queue header for this WSC. (JBTCQ+0 contains
0). Defined in QUEUES macro.
U Wait State Codes for jobs that have become unblocked
but need to be processed by QREQ in SCHED1 before
being considered to run. Defined in QUEUES macro.
R Wait State Codes for jobs that blocked at UUO
level requiring a sharable resource that was unavail-
able (see REQTAB). Jobs will be unblocked by the
scheduler when the resource becomes available (see
AVALTB). Defined in RWAITS macro.
C Wait State Codes for jobs that are blocked waiting
for a monitor event, such as I/O complete, clock ticks,
command input, or DAEMON activity, before they will be
runnable. Defined in CODES macro.
Q These queues in JBTCQ actually hold jobs. Other
symbols have queue headers reserved for them, but
jobs are never placed in them. RNQ has no queue
header at all.
Notes:
1. RNQ, IOWQ, DIOWQ, PIOWQ, WSQ, TSQ, DSQ, and PSQ never
actually hold jobs. The queues are defined only to define
the corresponding Wait State Codes.
2. The values of PQ1, PQ2, CMQ, and STOPQ are never used as wait
state codes. Jobs in any of the PQs have wait state codes of
000. When jobs are put into CMQ or STOPQ they retain their
previous codes, so that they can be returned to their
previous queues.
Page 141
Name: KON -- Kontroller Data Block
Description: There is one KON per disk controller. It contains
information specific to that controller, for example,
dispatch addresses into the controller dependent
routines. Controller data blocks are generated
dynamically by AUTCON when the system is started.
Defined in: COMMOD
Used by: FILIO, ONCE, ONCMOD, RPXKON, RNXKON, SYSINI, VMSER
Format:
+-------------------------------------------------------+
xxnINT | CONSO skip chain entry for this controller* |
|-------------------------------------------------------|
KONTAB | UDB Address Table - contains address of each UDB |
| associated with this controller - 8 words |
| |
| |
|-------------------------------------------------------|
KONCOM | Negative of CCWMAX | KONLST |
|-------------------------------------------------------|
KONLST | Channel command list for this controller |
| Length is CCWMAX |
| (KA) |
| |
|-------------------------------------------------------|
| 0,,0 (end of command list) |
|-------------------------------------------------------|
KONRED | Table of controller-dependent dispatch instructions |
| |
| |
|-------------------------------------------------------|
KONCUA | UDB address of unit doing transfer (or last one) |
|-------------------------------------------------------|
KONIOC | Address of controller-channel pair in low core |
|-------------------------------------------------------|
KONCHN | Address of channel data block for this controller |
|-------------------------------------------------------|
KONPTR | Indirect pointer to index KONTAB (P3) |
|-------------------------------------------------------|
KONDMP | Holds DEVDMP during dump-mode I/O |
|-------------------------------------------------------|
KONERR | Dispatch to controller-dependent error-recovery prog. |
|-------------------------------------------------------|
KONECC | Used for ECC mask and position |
|-------------------------------------------------------|
Page 142
|-------------------------------------------------------|
KONRRG | Used to hold drive registers |
|-------------------------------------------------------|
KONECR | Control register on error |
|-------------------------------------------------------|
KONEDB | Data buffer register on error |
|-------------------------------------------------------|
KONREG | Length of KONEBK |
|-------------------------------------------------------|
KONEBK | Place to save drive registers on error |
+-------------------------------------------------------+
* The format of these instructions is:
xxnINT: CONSO xxn,xx'INF ;SKIP IF INTERRUPT FROM THIS KON
JRST ;RESOLVED AT ONCE TIME
IFN FTDHIA,<
CONSO xxn,7 ;IF NO PI UP,
JRST .-2 ;PROBABLY DIAG FIDDLING WITH KON
>;END DTDHIA
JSR ssn'SAV :SAVE INTERRUPT AC'S
JSP J,xx'xINT ;BRANCH INTO CONTROLLER-
;DEPENDENT CODE
Page 143
KONRED Controller-Dependent Dispatch Addresses
+--------------------------------------------------+
KONRED | PI| Address of read program |
|--------------------------------------------------|
KONRDS | Address of read, stop-on-error program |
|--------------------------------------------------|
KONRDF | Read header and data |
|--------------------------------------------------|
KONRDC | Read in 10/11 compatibility mode |
|--------------------------------------------------|
KONWRT | Entry point to write program |
|--------------------------------------------------|
KONWTS | Entry point to write, stop on error |
|--------------------------------------------------|
KONWTF | Write format |
|--------------------------------------------------|
KONWTC | Write in 10/11 compatibility mode |
|--------------------------------------------------|
KONUNL | Unload drive |
|--------------------------------------------------|
KONPOS | F|Position heads-entry zero for fixed-head disk |
|--------------------------------------------------|
KONLTM | Compute rotational latency time |
|--------------------------------------------------|
KONUPA | U| Test if controller is on-line |
|--------------------------------------------------|
KONCPY | Determine type and capacity of unit |
|--------------------------------------------------|
KONRCL | Recalibrate |
|--------------------------------------------------|
KONSTP | Stop on hung unit |
+--------------------------------------------------+
Word Bit Function
KONRED 0-2 PI level for controller
KONPOS 0 1 - implies fixed-head devices
KONUPA 0 1 - implies controller is down
1 1 - controller can seek during transfer
The following notation is used in expressing some of the KON symbols:
x - Controller number (which is really a letter) - A,B,...
xx - Controller type - RN, RP
xxn - Controller symbol - for example, RP0.
Page 144
Name: KONTAB -- UDB Address Table Within KON
Description: Contains UDB address for each unit on this controller.
There is one entry for each unit on the controller.
Indexed by physical unit number with controller.
+-------------------------------------+
| | 0 | UDB 1 |
|-------------------------------------|
| | 0 | UDB 2 |
|-------------------------------------|
| | 0 | UDB 3 |
|-------------------------------------|
| | 0 | UDB 4 |
|-------------------------------------|
| | 0 | UDB 5 |
|-------------------------------------|
| | 0 | UDB 6 |
|-------------------------------------|
| | 0 | UDB 7 |
|-------------------------------------|
| | 0 | UDB 10 |
+-------------------------------------+
0 13 18 35
Notes:
1. Bit 0 of first word set when controller is busy.
2. If controller has fewer than eight units, the additional
entries are present, but blank.
Controller-dependent instructions:
The four word block preceding a Controller Data Block contains the
Controller-dependent instructions used to link the controller to a PI
CONSO skip chain.
x - CONTROLLER number (for example, A,B,...)
xx - CONTROLLER type (for example, RN, RP)
xxn - KNOTROLLER symbol (for example, RP0)
xxn'INT: CONSO xxn,xx'INF
JRST
JSR xxn'SAV
JSP J,xx'xINT
Page 145
Name: LDB -- Line Data Block
Description: Contains data pertaining to one terminal line. One LDB
per line; including scanner lines, PTYs, and CTY.
LINTAB serves as directory.
Defined in: SCNSER
Used by: CLOCK1, COMCON, COMMON, D76INT, MSGSER, NETSER, PSISER,
PTYSER, SYSINI, UUOCON, XTCSER
Format:
+-------------------------------------------------------+
LDBDDB | See LDBDDB word |Address of line's attached |
| | DDB |
|-------------------------------------------------------|
LDICLR | Start clearing here on restart |
LDBBKU | Copy of LDBTIP at last break RECINT |
|-------------------------------------------------------|
LDBTIP | T2 to put characters in input buffer |
|-------------------------------------------------------|
LDBTIT | T2 to take characters from input buffer |
|-------------------------------------------------------|
LDBTIC | Count of echoed characters in input buffer |
|-------------------------------------------------------|
LDBBKC | Count of break characters in input buffer |
|-------------------------------------------------------|
LDBTOP | T3 to put characters in output buffer |
|-------------------------------------------------------|
LDBTOT | T2 to take characters from output buffer |
|-------------------------------------------------------|
LDBTOC | Count of characters from output buffer |
|-------------------------------------------------------|
LDBECT | T2 to take characters from input for echoing |
|-------------------------------------------------------|
LDBECC | Count of characters to echo |
|-------------------------------------------------------|
LDBXNP | XON class character pointer for output |
|-------------------------------------------------------|
LDBFLP | Filler character pointer for output |
|-------------------------------------------------------|
LDBPBK | Up to 4 break characters for Packed Image Mode (PIM) |
|-------------------------------------------------------|
LDBHPS | Horizontal Position Counter |
LDICLE(1)| Clear through here on restart |
|-------------------------------------------------------|
LDBDCH | See LDBDCH word |
|-------------------------------------------------------|
Page 146
|-------------------------------------------------------|
LDBOFL | |
LDBBYT | See LDBBYT word |
|-------------------------------------------------------|
LDBBY2 | See LDBBY2 word |
|-------------------------------------------------------|
LDBPAG | See LDBPAG word |
|-------------------------------------------------------|
LDBISR | See LDBISR word |
|-------------------------------------------------------|
LDBQUE | See LDBQUE word |
|-------------------------------------------------------|
LDBTTW | See LDBTTW word |
LDBBCD(2)| Flags for 2741 support |
|-------------------------------------------------------|
LDBREM(3)| See LDBREM+0 word |
|-------------------------------------------------------|
LDBREM(3)| See LDBREM+1 word |
|-------------------------------------------------------|
LDBREM(3)| See LDBREM+2 word |
|-------------------------------------------------------|
LDBREM(3)| See LDBREM+3 word |
|-------------------------------------------------------|
LDBREM(3)| See LDBREM+4 MCR word |
LDBREM(3)| See LDBREM+4 VTM word |
|-------------------------------------------------------|
LDBTTD(4)| See LDBTTD word |
|-------------------------------------------------------|
LDBLAR(4)| Current line allocation remaining |
|-------------------------------------------------------|
LDBSS1(4)| First word of line speed message sent to front-end |
|-------------------------------------------------------|
LDBSS2(4)| Second word of line speed message |
|-------------------------------------------------------|
LDBMIC(5)| See LDBMIC word |
|-------------------------------------------------------|
LDBLOT(6)| Log taker |Count of characters to log |
|-------------------------------------------------------|
LDBLOC(6)| Count of characters to log |
|-------------------------------------------------------|
LDBBKM | See LDBBKM word |
|-------------------------------------------------------|
LDBLEN | Size of a data block for a line |
+-------------------------------------------------------+
Page 147
(1) If FTRSP (measure user TTY input response times) and
FTACCT (include support for accounting) are set, the
following three words would come directly after LDBHPS
and be cleared on a restart:
+-------------------------------------------------------+
LDBBCT | Total break character count since system (re)start |
|-------------------------------------------------------|
LDBICT | Total input character count since system (re)start |
|-------------------------------------------------------|
LDBOCT | Total output character count since system (re)start |
+-------------------------------------------------------+
(2) If FTD10H (2741 lines on a DC10 -- Reassemble DLSINT) the
flags are for 2741 support
(3) If FTNET (include NCL network software) then five words
containing network related LDB fields for remote station
terminal status
(4) If FTKL10 (include KL10 support) the definitions in this
word are for support of RSX-20F terminals
(5) If FTMIC (include Macro Command Processor) this word for
MIC use
(6) If FTMLOG (include MIC Log File Support) two words for
MIC logging
Page 148
LDBBKM
+-------------------------------------------------------------------------+
| | Reserved |@ | Index | Break Mask Addr. |
|-------------------------------------------------------------------------|
|0 |2---------12|13|14------------17|18---------------------------------35|
+-------------------------------------------------------------------------+
Bits in LDBBKM:
Bit Symbol Meaning
0 LDLBKM Break masks are enabled.
2-12 Reserved
13 Indirect addressing
14-17 Index value
18-35 Pointer to four-word bit mask,
indexed by character
Page 149
LDBDDB
+-------------------------------------------------------------------------+
|L|L|L|L| | L | | |
|D|D|D|D| | D | | |
|B|B|B|B| | P | | Address of line's attached DDB |
|C|C|C|D| | C | | |
|M|M|M|E| | M | | |
|R|F|K|T| | X | | |
|-------------------------------------------------------------------------|
|0|1|2|3|4------8|9-----12|13-----17|18---------------------------------35|
+-------------------------------------------------------------------------+
Bits in Bit Label or
LDBDDB Value Byte Pointer Description
0 400000 LDBCMR Command request bit
1 200000 LDBCMF Command forced
2 100000 LDBCMK Forcing KJOB command
3 40000 LDBDET Job detached from this line during command
processing
4-8 Reserved
9-12 LDPCMX Pointer index for forced command
13-17
18-35
Page 150
LDBDCH
+-----------------------------------------------------------------------+
|L|L|L|L|L|L|L|L|L|L| L| L| | L| L| L | L| L| |
|D|D|D|D|D|D|D|D|D|D| D| D| | D| D| D | D| D| |
|L|L|L|L|L|L|L|L|L|L| L| L| LDPVR1 | R| R| P | R| R| LDPLNO |
|I|F|S|P|S|M|D|N|F|I| C| B| | P| C| V | R| S| |
|D|C|T|I|S|I|L|E|C|M| O| K| | T| T| R | E| H| |
|L|P|P|M|O|C|R|C|S|I| M| A| | Y| Y| 2 | M| C| |
|-----------------------------------------------------------------------|
|0|1|2|3|4|5|6|7|8|9|10|11|12------17|18|19|20---24|25|26|27----------35|
+-----------------------------------------------------------------------+
Bits in Bit Label or
LDBDCH Value Byte Pointer Description
0 400000 LDLIDL Line is idle. If clear, we are expecting
a transmit interrupt
1 200000 LDLFCP A force character or fillers are pending
2 100000 LDLSTP Output was stopped by <CTRL/S>
3 40000 LDLPIM Terminal was opened in PIM mode
4 20000 LDLSSO SCNSER stopped output
5 10000 LDLMIC LDBMIC is non-zero
6 4000 LDLDLR Suppress dollar sign
7 2000 LDLNEC No echo, due to program
8 1000 LDLFCS Line inited in full character set mode
9 400 LDLIMI Image input
10 200 LDLCOM Line is at command level
11 100 LDLBKA Break on all characters (DDTIN, TTCALL)
12-17 LDPVR1 4 of 6 bits pointed to by GETLP1 for GETLIN*
12 40 LDLSLV Slave; this terminal may be assigned
13 20 LDLLCT (1) Lowercase translate to upper
14 10 LDLTAB (2) Line accepts tabs, not spaces
15 4 LDLLCP Local copy (no echo)
16 2 LDLFRM (3) Line accepts FF and VT (else use LFs)
17 1 LDLNFC No free carriage return at 72 columns
18 400000 LDRPTY Pseudo-terminal
19 200000 LDRCTY Console terminal
20-24 LDPVR2 Bits pointed to by LDPVR2
20 100000 LDROSU (4) Output suppress (<CTRL/O>)
21 40000 LDRDSD Dataset line
22 20000 LDR274 Line is a 2741
23 10000 LDRHLF Half duplex line (TWX or DC10C)
24 4000 LDRRMT Remote non-dataset line
25 2000 LDRREM Terminal at remote station
26 1000 LDRSHC Suppress hung check
27-35 LDPLNO Pointer to hardware line number
Page 151
* Bits for GETLIN UUO:
Value Label Description
100 GTLRDY Bit for GETLIN to indicate waiting break
character
20 GTLT37 Model 37 bit (copy of LDLLCT)
10 GTLT35 Model 35 bit (copy of LDLTAB)
4 GTLLCP Local copy (copy of LDLLCP)
2 GTLXON XON is true
LDPLCT (1) Pointer to lower case bit
LDPTAB (2) Pointer to hardware tabs bit
LDPFRM (3) Pointer to hardware form feed bit
LDPOSU (4) Pointer to output suppression bit
Page 152
LDBBYT
+-----------------------------------------------------------------------+
|L| L | P | | L | L| L| L | L| L| L| |
|D| D | O | | D | 1| 1| D | 1| 1| 1| |
|B| P | H | LDPSVC | P | R| R| P | R| R| R| LDPECK |
|O| F | P | | T | M| C| C | D| D| D| |
|F| L | O | | I | I| H| P | E| E| E| |
|L| C | S | | M | F| P| U | L| C| M| |
|-----------------------------------------------------------------------|
|0|1 2|3--5|6------------14|15-----19|20|21|22-24|25|26|27|28---------35|
+-----------------------------------------------------------------------+
Bits in Bit Label or
LDBBYT Value Byte Pointer Description
0 LDBOFL (1) -1 if front end for this line is down
1-2 LDPFLC Count of number of fillers by class
3-5 POHPOS Old horizontal position. Needed for tab
simulation
6-14 LDPSVC Save character during free CRLF
15-19 LDPTIM Timeout on image input
20 L1RMIF MIC interlock flag
21 L1RCHP Change hardware parameters queue bit
22-24 LDPCPU CPU number
25 L1RDEL (3) Echo may echo 1 line if deferred
26 L1RDEC (3) Echo may echo 1 character if deferred
27 L1RDEM (2) Deferred echo bit. Set by SET TERMINAL DEFER
28-35 LDPECK (4) Echo check for half-duplex lines
(1) 400000 L1LOFL The off-line bit
(2) LDPDEM Pointer to L1RDEM
(3) LDPDEB Pointer to deferred echo bits
(4) LDPECK If FTHDPX (support certain half-duplex
terminals) or FTTRACK (leaves useful
information in locations in COMMON to
aid in debugging crash)
Page 153
LDBBY2
+--------------------------------------------------------------------------+
|L|L|L|L|L|L|L|L|L| | L| L| | |
|2|2|2|2|2|2|2|2|2| | 2| 2| | |
|L|L|L|L|L|L|L|L|L| LDPDSC | R| R| LDPWID | LDPRCS |
|D|C|H|H|H|H|H|S|T| | X| E| | |
|E|C|D|D|D|D|D|N|A| | O| C| | |
|L|S|1|2|3|4|5|D|P| | N| S| | |
|--------------------------------------------------------------------------|
|0|1|2|3|4|5|6|7|8|9--------------17|18|19|20-----------27|28------------35|
+--------------------------------------------------------------------------+
Bits in Bit Label or
LDBBY2 Value Byte Pointer Description
0 400000 L2LDEL Last character in was a delete
1 200000 L2LCCS Last character in was a <CTRL/C>
2 100000 L2LHD1 XMT done flag seen this character on HDX line
3 40000 L2LHD2 RCV done flag seen this character on HDX line
4 20000 L2LHD3 Ignoring RCV interrupts due to echo check
error on HDX line
5 10000 L2LHD4 Next RCV interrupt will be queued after echo
check
6 4000 L2LHD5 Receive echo was in fact not same as
transmitted character
7 2000 L2LSND Send allowed while busy
8 1000 L2LTAP <CTRL/Q> from keyboard turns on L2RXON
9-17 LDPDSC (1) Dataset Control Table Index back pointer
18 400000 L2RXON XON is true (paper tape input)
19 200000 L2RECS Eat command sync
20-27 LDPWID Width of terminal carriage
28-35 LDPRCS (2) Most recent received character
(1) LDPDSC If modem control code (FTMODM)
(2) LDPRCS If FTTRACK (leaves useful information in
locations in COMMON to aid in debugging crash)
Page 154
LDBPAG
+-------------------------------------------------------------------------+
|L|L|L|L|L|L|L|L|L| | | | | |
|P|P|P|P|P|P|P|P|P| | | | | |
|L|L|L|L|L|L|L|L|L| | LDPACR | LDPPFF | LDPPSZ | LDPPCT |
|I|P|X|A|B|S|S|D|P| | | | | |
|R|A|O|L|L|L|A|I|O| | | | | |
|M|G|F|T|K|F|P|S|K| | | | | |
|-------------------------------------------------------------------------|
|0|1|2|3|4|5|6|7|8|9|10----------17|18--------23|24--------29|30--------35|
+-------------------------------------------------------------------------+
Bits in Bit Label or
LDBPAG Value Byte Pointer Description
0 400000 LPLIRM Terminal not heard from this second
1 200000 LPLPAG Set terminal page command was executed
2 100000 LPLXOF Sent XOFF, always send XON later
3 40000 LPLALT (1) Altmode conversion bit
4 20000 LPLBLK Suppress blank lines
5 10000 LPLSLF Suppress line feeds
6 4000 LPLSAP Send all pending
7 2000 LPLDIS (2) Set if this is a display terminal
8 1000 LPLPOK Forcing XMIT start using TOPOKE
9 Reserved
10-17 LDPACR Auto-CRLF counter
18-23 LDPPFF Number LFs remaining on VT and FF simulation
24-29 LDPPSZ Page size
30-35 LDPPCT Page counter
(1) LDPALT Pointer to altmode conversion bit
(2) LDPDIS Pointer to display terminal bit
Page 155
LDBISR
+------------------------------------------------------------------------+
|L| L | L |L| L| L| L| | |
|I| D | D |D| D| D| D| | |
|L| P | P |P| P| P| P| | |
|C| T | R |A| D| R| T| | |
|F| S | S |P| B| T| D| | |
|E| P | P |L| K| C| Y| | |
|------------------------------------------------------------------------|
|0|1---4|5---8|9|10|11|12|13----17|18----------------------------------35|
+------------------------------------------------------------------------+
Bits in Bit Label or
LDBISR Value Byte Pointer Description
0 LILCFE 1 if front end is clever, 0 if dump
1-4 LDPTSP (1) Transmit speed
5-8 LDPRSP (1) Receive speed
9 LDPAPL APL mode
10 LDPDBK Line has debreak
11 LDPRTC <CTRL/R>/<CTRL/T> compatibility
12 LDPTDY User said SET TERMINAL TIDY
13-17 T1 for @LDBISR(U)
18-35 Address of ISR dispatch table
400000 LILCFE Clever front end
360000 LILTSP Transmit speed
017000 LILRSP Receive speed
000400 LILAPL APL mode
000200 LILDBK Line has debreak
000100 LILRTC <CTRL/R>/<CTRL/T> passed to program
000040 LILTDY Do not expand output
(1) LDPSPD Both speeds (If FTCAFE, support the DC76)
Page 156
LDBQUE
+-----------------------------------------------------------------------+
| | |
| | |
| Queue header | Next line in queue |
| | |
| | |
| | |
|-----------------------------------------------------------------------|
|0--------------------------------17|18-------------------------------35|
+-----------------------------------------------------------------------+
LDBTTW
+--------------------------------------------------------------------------+
| | L| L| L| | | |
| | D| D| D| | | |
| | L| L| L| LDPFCT | PRPOS | LDPTTT |
| | U| U| N| | | |
| | A| A| A| | | |
| | R| W| N| | | |
|--------------------------------------------------------------------------|
|0----------------9|10|11|12|13-----------20|21-----------28|29----------35|
+--------------------------------------------------------------------------+
Bits in Bit Label or
LDBTTW Value Byte Pointer Description
0-9 Free
10 200 LDLUAR On if processing <CTRL/R>
11 100 LDLUAW On if processing <CTRL/W>
12 40 LDLNAN On if alpha-numeric seen while processing
<CTRL/W>
13-20 LDPFCT Filler repeat counter
21-28 PRPOS Position off prompt
29-35 LDPTTT Terminal type as specified by TTY TYPE command
LDBREM+0
Page 157
LDBREM
+------------------------------------------------------------------------+
| | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | LDPSTS |
| | | | | | | | | | | | | | | | | | | | | |
|------------------------------------------------------------------------|
|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20------------------35|
+------------------------------------------------------------------------+
Bits in Bit Label or
LDBREM Value Byte Pointer Description
0 400000 LRLVTM (1) If set, then this is a "local terminal"
that has been "SET HOSTed" to another host
1 200000 LRLCON (1) If set, then terminal is "connected"
(NCL connect sequence is complete)
2 100000 LRLSTS (1) If set, then a "STATUS" message is required.
Same bit, but different messages for
VTM & MCR
3 40000 LRLSCH (2) If set, then a "CHARACTERISTICS" message is
required (works like LRLSTS)
4 20000 LRLDST (2) A "delayed" status message is required (used
to optimize traffic. Has priority over
LRLSTS)
5 10000 LRLQED (2) If set, then VTM line has been "queued" by
VTMENQ
3 40000 LRLTTO LDPCHR has the next character to output
4 20000 LRLTTW Line is waiting for a data request
5 10000 LRLSCG <CTRL/O> action requested (send
character gobbler)
6 4000 LRLEPW Echo pipeline marker waiting to go
7 2000 LRLIMO Indicates that remote is in image mode output
8 1000 LRLADR Use of the auto-dialer has been requested
9 400 LRLXOF An XOFF (<CTRL/S>) message has been
requested
10 200 LRLCHR This terminal has received at least 1
CHARACTERISTICS message
11 100 LRLDTR Ring/carrier bit (set and cleared by STATUS
messages from the -11)
12 40 LRLDSR The -10's copy of what it thinks LRLDTR
should be
13 20 LRLDSL This line is a dataset line
14 10 LRLATO Indicates this line possesses the auto-baud
capability (set or cleared by the attribute
field of the CONNECT message)
15 4 LRLADL Indicates this line possesses an auto-dialer
(also set by CONNECT message)
16 2 LRL741 Indicates this is a 2741 line
17 1 LRLTIW We are in TTY input wait (we should
unlock the 2741's keyboard)
18 400000 LRRSHC The line at the other end has "SET HOST
capability." (it can respond to
DISCONNECT messages)
Page 158
(1) Bits used by both NETVTM (local SET HOST) and NETMCR (remote terminals)
(2) Bits used only by NETVTM (local SET HOST)
(3) Bits used only by NETMCR ("normal" remote terminals, like DN87)
LDBREM+1
+---------------------------------------------------------------------------+
| |
| |
| Last characteristics message sent |
| |
| |
| |
|---------------------------------------------------------------------------|
|0------------------------------------------------------------------------35|
+---------------------------------------------------------------------------+
LDBREM+2
+--------------------------------------------------------------------------+
| | | |
| | | |
| LDPSLA | LDPDLA | LDPRLN |
| | | |
| | | |
| | | |
|--------------------------------------------------------------------------|
|0----------------------12|13-----------------------25|26----------------35|
+--------------------------------------------------------------------------+
Bits in Bit Label or
LDBREM Byte Pointer Description
0-12 LDPSLA Our source link address
13-25 LDPDLA Our destination link address
26-35 LDPRLN Line number at remote station
Page 159
LDBREM+3
+--------------------------------------------------------------------------+
| L | | | |
| D | | | |
| P | LDPDRQ | LDPEPM | LDPRNN |
| E | | | LDPRNF |
| L | | | |
| E | | | |
|--------------------------------------------------------------------------|
|0-----3|4--------------11|12--------------19|20-------------------------35|
+--------------------------------------------------------------------------+
Bits in Bit Label or
LDBREM Value Byte Pointer Description
0-3 LDPELE 2741 element number
4-11 LDPDRQ Number of data requests from remote
12-19 LDPEPM Serial number of last EPM from remote
20-35 LDPRNN (U) Number of node owning this TTY
20-35 LDPRNF (F) Same as LDPRNN except indexed by "F"
LDBREM+4
(MCR)
+--------------------------------------------------------------------+
| | | | |
| | | | |
| LDPCHR | LDPADT | LDPJOB | |
| | | | |
| | | | |
| | | | |
|--------------------------------------------------------------------|
|0--------------8|9-------------17|18------------26|27-------------35|
+--------------------------------------------------------------------+
Bits in Bit Label or
LDBREM Value Byte Pointer Description
0-8 LDPCHR If LRLTTO=1, contains the next output
character
9-17 LDPADT Auto-disconnect timer
18-26 LDPJOB Pointer to job (only for connects)
27-35 Unused
Page 160
LDBREM+4
(VTM)
+----------------------------------------------------------------------+
| | |
| | |
| LDPDST | LDBVTQ |
| | |
| | |
| | |
|----------------------------------------------------------------------|
|0-------------------------------17|18-------------------------------35|
+----------------------------------------------------------------------+
Bits in Bit Label or
LDBREM Byte Pointer Description
0-17 LDPDST Delayed-status-message for VTM
18-35 LDBVTQ VTM-queue-link
LDBTTD
+----------------------------------------------------------------------+
| |
| |
| Line information for support of RSX-20F terminals |
| |
| |
| |
|----------------------------------------------------------------------|
|0-------------------------------------------------------------------35|
+----------------------------------------------------------------------+
Bits in Bit Label or
LDBTTD Value Byte Pointer Description
740000 Remembered transmit speed
36000 Remembered receive speed
1000 LTLXOF Sent XOFF to -20F
400 LTLRBS Remote bit sent for -20F datasets
200 LTLCTO Need to send flush output to -20F
Page 161
LDBMIC
+----------------------------------------------------------------------+
| | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | |
|----------------------------------------------------------------------|
|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15-------21|22-------28|29-------35|
+----------------------------------------------------------------------+
Bits in Bit Label or
LDBMIC Value Byte Pointer Description
0 400000 LDLCHK Set if any bit 1-14 set
1 200000 LDL.CC Set if <CTRL/C> has been typed
2 100000 LDL.OP Set if operator character seen in column 1
3 40000 LDL.ER Set if error character seen in column 1
4 20000 LDL.CP Set if <CTRL/P> has been typed
5 10000 LDL.CB Set if <CTRL/B> has been typed
6 4000 LDL.XX Silence this line
7 2000 LDL.MM Line in monitor mode
8 1000 LDL.TI Line in user mode and TI wait or in
monitor mode and can accept commands
9 400 LDL.TO Line is in column 1 on output
9 400 LDLCL1 Column 1 bit
10 200 LDL.CA Set if <CTRL/A> has been typed (abort)
11 100 LDL.RS Error response
12 40 LDL.SY Response code sync
13 20 LDL.LG MIC is logging
14 Reserved
15-21 ASCII character to be treated as operator
character
22-28 ASCII character to be treated as error
character
29-35 MIC master job numbers -- allows more
than one MIC to run
Page 162
Name: LINTAB -- Line Table
Description: Contains data pertaining to each TTY Line One entry per
line (including scanner, CTY, and PTY lines.) Indexed
by line number
Defined: COMDEV
Used in: CLOCK1, COMCON, COMMON, CPNSER, D76INT, DL0INT DL1INT,
DTESER, ERRCON, MSGSER, NETMCR, ONCE, PTYSER SCNSER,
SYSINI, TTDINT, UUOCON
Format:
+-------------------------------------------------------+
Line 0 | Characteristics | 0 | LDB address |
|-------------------------------------------------------|
Line 1 | Bits* | | |
|-------------------------------------------------------|
Line 2 | | | |
|-------------------------------------------------------|
- | | | |
- | | | |
- | | | |
| | | |
| | | |
|-------------------------------------------------------|
Line N | | | |
+-------------------------------------------------------+
0 12 13 - 17 18 35
* Details on following page
Notes:
The device characteristics bits in 0-12 are copied into various bytes
of the LDBDCH word of the corresponding LDB during initialization.
LINTAB is located in COMDEV; bit definitions are in SCNSER and
COMDEV.
Page 163
LINTAB Byte Definitions
+--------------------------------------------------+
| ||L|L|L|L|L|L||L|L|L|L|L|| |
| ||D|D|D|D|D|D||D|D|D|D|D|| |
|Filler ||L|L|L|L|L|L||R|R|R|R|R|| |
| ||S|L|T|L|F|N||D|D|I|H|R|| |
| Class ||L|C|A|C|R|F||I|S|N|L|M|| |
| ||V|T|B|P|M|C||S|D|I|F|T|| |
|--------------------------------------------------|
| || | | | | | || | | | | ||/////////////////|
+--------------------------------------------------+
0 1 2 7 8 12 17
Bits Meaning
0-1 Copied into bits 1-2 of LDBBYT
2-7 Copied into bits 12-17 of LDBDCH
8-12 Copied into bits 20-24 of LDBDCH
Notes:
These bits are used to initialize the specified areas of Line Data
Block. The bits may be changed in the Line Data Block, but not in
LINTAB.
See LDBBYT and LDBDCH for bit definitions.
Page 164
Name: LOGTAB -- LOGIN JBTTAB Pointer Table
Description: Table of pointers to those job tables in which the
LOGIN UUO stores statistics.
Defined in: UUOCON (local symbol)
Used by: UUOCON
Format:
+-------------------------------------+
| AC J | JBTPPN## | ; PPN
|-------------------------------------|
| AC J | JBTPRV## | ; Privilege bits
|-------------------------------------|
| AC W | PDNM1## | ; 1st half user name
|-------------------------------------|
| AC W | PDNM2## | ; 2nd half user name
|-------------------------------------|
| AC W | PDCNO## | ; Charge no. this job
+-------------------------------------+
0 17 18 35
Notes:
1. LOGIN UUO used only by LOGIN and LOGOUT programs.
2. User program does:
LOGIN AC,
or
CALLI AC,15
where AC contains:
XWD no.-of-entries,location
which is a list of job statistics to be stored in the
monitor tables listed in LOGTAB.
Page 165
Name: LVDTBL -- Level D Disk Parameter Table
Description: Contains parameters for the Level D disk routines.
Each entry accessed by its own label.
Defined in: COMMOD
Used by: CLOCK1, COMCON, COMMON, FILFND, FILIO, FILUUO, ONCMOD,
REFSTR, SCNSER, SYSINI, UUOCON
GETTAB Table No.: .GTLVD (16)
Format:
+---------------------------------------------------------------+
MFDPPN | PPN for MFDS [1,1] |
|---------------------------------------------------------------|
SYSPPN | PPN for device SYS [1,4] |
|---------------------------------------------------------------|
FSFPPN | PPN for FAILSAFE [1,2] |
|---------------------------------------------------------------|
HELPPN | PPN for HELP and SYSTAT [2,5] |
|---------------------------------------------------------------|
PNTPPN | PPN for printer spooling [3,3] |
|---------------------------------------------------------------|
SYSPPB | First PPB in system | PPB to start scan for obtainable NMB |
|---------------------------------------------------------------|
SYSSTR | First STR in system | Index in structure data block for |
| | pointer to next structure data block |
|---------------------------------------------------------------|
SYSUNI | First UDB in system | Index in unit data block for pointer |
| | to next unit data block |
|---------------------------------------------------------------|
SWPUNI | First swapping UDB | Index in unit data block for pointer |
| | to next swapping unit data block |
|---------------------------------------------------------------|
CORNUM | Number of 4 word blocks |
|---------------------------------------------------------------|
STNPRT | Standard privilege | |
|---------------------------------------------------------------|
UFDPRT | Standard | |
| UFD privilege | |
|---------------------------------------------------------------|
MBFNUM | Number of monitor buffers |
|---------------------------------------------------------------|
QUESTR | SIXBIT name of structure for queuing programs |
|---------------------------------------------------------------|
CRUPPN | UFD for dumping crashes |
|---------------------------------------------------------------|
Page 166
|---------------------------------------------------------------|
SFDLVL | Number of nested SFD levels allowed |
|---------------------------------------------------------------|
SPLPRT | Protection for spooled output | |
|---------------------------------------------------------------|
SYSPRT | Protection for most system files | |
|---------------------------------------------------------------|
SYSPRY | Protection for system .SYS files | |
|---------------------------------------------------------------|
MUSTMX | Negative maximum extended RIB argument for USETI |
|---------------------------------------------------------------|
MAXTRN | Maximum number of blocks to transfer in one operation |
|---------------------------------------------------------------|
XSYPPN | PPN of experimental system (NEW) [1,5] |
|---------------------------------------------------------------|
OLDPPN | PPN of old system (OLD) [1,3] |
|---------------------------------------------------------------|
UMDPPN | User-mode diagnostics PPN [6,10] |
|---------------------------------------------------------------|
NUMBF | Default number of disk buffers |
|---------------------------------------------------------------|
MAXSWP | Maximum number of units in active swapping list |
|---------------------------------------------------------------|
ALGPPN | ALGOL library PPN [5,4] |
|---------------------------------------------------------------|
BLIPPN | BLISS library PPN [5,5] |
|---------------------------------------------------------------|
FORPPN | FORTRAN library PPN [5,6] |
|---------------------------------------------------------------|
MACPPN | MACRO library PPN [5,7] |
|---------------------------------------------------------------|
UNVPPN | Universal library PPN [5,17] |
|---------------------------------------------------------------|
PUBPPN | User-maintained SYS [1,6] |
|---------------------------------------------------------------|
TEDPPN | Text editor library PPN [5,10] |
|---------------------------------------------------------------|
RELPPN | REL file library PPN [5,11] |
|---------------------------------------------------------------|
RNOPPN | RUNOFF library PPN [5,11] |
|---------------------------------------------------------------|
SNOPPN | SNOBOL library PPN [5,13] |
|---------------------------------------------------------------|
DOCPPN | DOC file library PPN [5,14] |
|---------------------------------------------------------------|
FAIPPN | FAIL library PPN [5,15] |
|---------------------------------------------------------------|
MUSPPN | Music library PPN [5,16] |
|---------------------------------------------------------------|
DECPPN | Library for DEC-distributed software PPN (DEC) [10,7] |
|---------------------------------------------------------------|
Page 167
|---------------------------------------------------------------|
TABSWP | Pointer to active swap list |
|---------------------------------------------------------------|
BASPPN | BASIC library PPN [5,1] |
|---------------------------------------------------------------|
COBPPN | COBOL library PPN [5,2] |
|---------------------------------------------------------------|
MXIPPN | PDP-11 library PPN [5,3] |
|---------------------------------------------------------------|
NELPPN | NELIAC library PPN [5,20] |
|---------------------------------------------------------------|
DMPPPN | Dump library PPN [5,21] |
|---------------------------------------------------------------|
POPPPN | POP2 library PPN [5,22] |
|---------------------------------------------------------------|
TSTPPN | Test library PPN [5,23] |
|---------------------------------------------------------------|
ALLOVR | If non-zero, log soft errors if recover from overrun on 1 try |
|---------------------------------------------------------------|
MASERR | DAEMON's pointers to massbuss error locations |
|---------------------------------------------------------------|
BATCHN | DAEMON's pointers to BAT block and channel error info |
|---------------------------------------------------------------|
DBSPPN | DBMS library PPN [5,24] |
|---------------------------------------------------------------|
EXPCHN | Offset of the expected channel terminal word in CHN |
|---------------------------------------------------------------|
MICPPN | MIC library PPN [5,25] |
|---------------------------------------------------------------|
TPSPPN | Text processing system library PPN [5,26] |
|---------------------------------------------------------------|
CTLPPN | CTL file library PPN [5,27] |
|---------------------------------------------------------------|
GAMPPN | Game library PPN [5,30] |
|---------------------------------------------------------------|
ACTPPN | System accounting library PPN [1,7] |
|---------------------------------------------------------------|
APLPPN | APL library PPN [5,31] |
|---------------------------------------------------------------|
RIBECT | RIB error threshold |
|---------------------------------------------------------------|
RIBTOT | Total RIB errors |
|---------------------------------------------------------------|
SYSDOR | Dormant access table pointer |
|---------------------------------------------------------------|
SYSCOR | Free core pointer |
|---------------------------------------------------------------|
INTFNC | Number of times front end (RSX20F) had disk |
|---------------------------------------------------------------|
D60PPN | DAS60 log file area [5,32] |
|---------------------------------------------------------------|
ERTLOC | Starting location of the queue table for DAEMON error reports |
|---------------------------------------------------------------|
Page 168
|---------------------------------------------------------------|
ERTPT1 | Starting pointer for DAEMON error extract |
|---------------------------------------------------------------|
ERTPT2 | Starting pointer for DAEMON error insert |
|---------------------------------------------------------------|
ERTLTH | Length of DAEMON error table |
|---------------------------------------------------------------|
ERTCDA | Offset of UNICDA in UDB |
|---------------------------------------------------------------|
ERTDES | Offset of UNIDES in UDB |
|---------------------------------------------------------------|
SYSPTR | Pointer to in-core copies of retrieval ptrs |
|---------------------------------------------------------------|
MAXSSL | Max. # in system search list | MAX # in job search list |
|---------------------------------------------------------------|
ERTSLB | Offset of UINSLB into UDBs |
|---------------------------------------------------------------|
UTPPPN | UETP area |
|---------------------------------------------------------------|
INIPPN | Initialization area [5,34] |
|---------------------------------------------------------------|
ERPSIZ | Length of entry in Daemon error report table |
|---------------------------------------------------------------|
SYSKON | Core addr of first KDB | Offset in KDB of next KDB |
|---------------------------------------------------------------|
NUMLBF | Default number of large disk buffers |
|---------------------------------------------------------------|
| Offset into DEVUNI for SYSTAT |
|---------------------------------------------------------------|
%LDCSZ | Size of disk cache, in blocks |
|---------------------------------------------------------------|
%LDRDC | Monitor cache read calls |
|---------------------------------------------------------------|
%LDRDH | Monitor cache read hits |
|---------------------------------------------------------------|
%LDWRC | Monitor cache write calls |
|---------------------------------------------------------------|
%LDWRH | Monitor cache write hits |
|---------------------------------------------------------------|
%LDHSF | CSHFND calls |
|---------------------------------------------------------------|
%LDHSC | CSHFND collisions in hash table |
|---------------------------------------------------------------|
%LDHSL | Length of cache hash table |
|---------------------------------------------------------------|
%LDHST | Addr of cache hash table |
|---------------------------------------------------------------|
%LDCHD | Addr of cache list header |
|---------------------------------------------------------------|
/ Offsets into cache list header /
/ . . . /
|---------------------------------------------------------------|
UPSPPN | Area for mailers (UPS) [5,35] |
+---------------------------------------------------------------+
Page 169
Note:
If the right half of SYSPPB = 0, the core grabber starts over at the
beginning of the PPB list.
Page 170
Name: Magtape Controller Data Block
Description: Controller-dependent information. One KDB for each
tape controller on a system. Tags for magtape KDB's
are MTxKDB, where x is the controller number. Tags for
the CONSO instructions are MTxINT.
See also: Magtape Device Data Block, Magtape Unit Data
Block
Defined in: COMDEV
Used by: TAPUUO, TM1KON, TMXKON
Format:
+---------------------------------------------------+
TKBCSO | CONSO MTxS,0 |
|---------------------------------------------------|
| JRST .-1 |
|---------------------------------------------------|
| JSR MT'x'SAV |
|---------------------------------------------------|
| JSP W,TAPINT |
|---------------------------------------------------|
TKBNAM | SIXBIT Controller Name |
|---------------------------------------------------|
TKBCNT | Number of records done on this operation |
|---------------------------------------------------|
TKBKDB | Link to next magtape KDB, 0 if none |
|---------------------------------------------------|
TKBIUN | Initial Unit AOBJN Pointer |
|---------------------------------------------------|
TKBCUN | Current Unit AOBJN Pointer |
|---------------------------------------------------|
TKBDSP | Controller dispatch |
|---------------------------------------------------|
TKBSTS | Controller status | Consecutive ops remaining |
|---------------------------------------------------|
TKBICP | Pointer to ICPC/CHL info |
|---------------------------------------------------|
TKBTIM | Timer for spacing operations |
|---------------------------------------------------|
TKBCDB | Pointer to channel (0 if TM11A) |
|---------------------------------------------------|
TKBJOB | Job # of maintenance mode owner |
|---------------------------------------------------|
TKBCCL | Channel command list |
| (5 words long) |
|---------------------------------------------------|
TKBERB | IORB for error recovery |
| (4 words long) |
|---------------------------------------------------|
Page 171
|---------------------------------------------------|
TKBFCT | Fairness count for queued I/O |
|---------------------------------------------------|
TT2CO1 | CONO MTxS,(T1) (TM02 only) |
|---------------------------------------------------|
TT2CI2 | CONI MTxS,T2 (TM02 only) |
|---------------------------------------------------|
TT2CO3 | CONO MTxS,(T3) (TM02 only) |
|---------------------------------------------------|
TT2DI2 | DATAI MTxS,T2 (TM02 only) |
|---------------------------------------------------|
TT2DO2 | DATAO MTxS,T2 (TM02 only) |
|---------------------------------------------------|
TKBUDB | Pointers to units on this Controller |
| (8 words long, found by TKBIUN) |
+---------------------------------------------------+
Dispatch offsets for TKBDSP:
Value Symbol Meaning
0 TPKINI Initialization code
1 TPKRES Reset active transfer
2 TPKSIO Start I/O
3 TPKINT Interrupt routine
4 TPKCMD Set device command in list (DX10 only)
5 TPKIDL Set device idle
6 TPKONL Skip if controller online
7 TPKSCH Cause schedule cycle
TKBSTS Bits:
(These bits are also defined for TUBSTS in the UDB)
Bit Symbol Meaning
12 TKSMNT Controller is in maintenance mode
13 TKSSIL Request silence about offline condition
14 TKSSCH Requested scheduled interrupt
15 TKSSTD Started
16 TKSSEL Selected
17 TKSOFL Offline
Page 172
Name: Magtape Unit Data Block
Description: Tape unit dependent information. One UDB for each tape
unit on each controller on a system. UDBs can be found
by tracing them
through the pointers in their KDB's (TKBUDB pointed to
by TKBIUN) or by
tags formed by concatenating "..U" with controller
number and unit number,
for example, ..U12 for the third unit on the second
controller (MTB2).
See also: Magtape Device Data Block, Magtape
Kontroller Data Block
Defined in: COMDEV
Used by: COMMON, TAPUUO
Format:
+---------------------------------------------------+
TUBNAM | SIXBIT Unit Name |
|---------------------------------------------------|
TUBKDB | | Pointer to controller |
|---------------------------------------------------|
TUBADR | | Unit addr on controller |
|---------------------------------------------------|
TUBAKA | Current unit address | Current controller |
|---------------------------------------------------|
TUBDDB | Pointer to DDBs |
|---------------------------------------------------|
TUBCUR | Pointer to current DDB |
|---------------------------------------------------|
TUBSTS* | Unit status | Configuration info | TUBCNF
|---------------------------------------------------|
TUBQUE | Queue pointer for IORBs |
|---------------------------------------------------|
TUBERR | Error recovery info |
|---------------------------------------------------|
TUBRID | Reelid |
|---------------------------------------------------|
TUBFIL | # of files from BOT |
|---------------------------------------------------|
TUBREC | # of records from EOF |
|---------------------------------------------------|
TUBCRD | # of characters read since unload |
|---------------------------------------------------|
TUBCWR | # of characters written since unload |
|---------------------------------------------------|
TUBSRE | # of soft read errors |
|---------------------------------------------------|
TUBHRE | # of hard read errors |
|---------------------------------------------------|
Page 173
|---------------------------------------------------|
TUBSWE | # of soft write errors |
|---------------------------------------------------|
TUBHWE | # of hard write errors |
|---------------------------------------------------|
TUBTME | Total media errors since unload |
|---------------------------------------------------|
TUBTDE | Total device errors since reload |
|---------------------------------------------------|
TUBTUN | Total unloads |
|---------------------------------------------------|
TUBTRY | Retries to resolve error |
|---------------------------------------------------|
TUBCCR | Character count on last record |
|---------------------------------------------------|
| File | Record |
TUBPBE | position before error |
|---------------------------------------------------|
TUBFES | Final error state word |
|---------------------------------------------------|
TUBCHR | Statistics for MTCHR. UUO |
|---------------------------------------------------|
TUBDDA | Shadow area for DAEMON |
| 12 (octal) words | TUBDDE
|---------------------------------------------------|
TUBPGM | Program name on error |
|---------------------------------------------------|
TUBUID | PPN using drive on error |
|---------------------------------------------------|
TUBCNI | Error status for next record | FTRDBA
|---------------------------------------------------|
TUBMSG | Label message length | Label message function code| FTTLAB
|---------------------------------------------------|
TUBPHY | Physical name for label PCS | FTTLAB
|---------------------------------------------------|
TUBLBL | Label status word | FTTLAB
|---------------------------------------------------|
TUBRFM | Record format (for labels only) | FTTLAB
|---------------------------------------------------|
TUBRCC | Record size (for labels only) | FTTLAB
|---------------------------------------------------|
TUBBKL | Block size (for lables only) | FTTLAB
|---------------------------------------------------|
TUBEXP | Expiration date (for labels only) | FTTLAB
|---------------------------------------------------|
TUBPRT | Protection (for labels only) | FTTLAB
+---------------------------------------------------+
Page 174
TUBSTS Bits:
Bit Symbol Meaning
0 TUSNS Do not schedule this unit (sign bit)
1 TUSBOT Beginning of tape
2 TUSWTL Write locked
3 TUSREW Tape rewinding
12 TKSMNT Controller is in maint mode
(also in TKBSTS)
13 TKSSIL Req. silence about offline cond.
(also in TKBSTS)
14 TKSSCH Requested scheduled interrupt
(also in TKBSTS)
15 TKSSTD Started (also in TKBSTS)
16 TKSSEL Selected (also in TKBSTS)
17 TKSOFL Offline (also in TKBSTS)
TUBCNF Bits:
Bit Symbol Meaning
18 TUC7TK Seven track
19 TUCIRD Interrupts when rewind done
20 TUCDMS Diagnostic mode set
21 TUCSNS Force sense
23 TUCD62 Drive can do 6250 BPI
24 TUCD16 Drive can do 1600 BPI
25 TUCD80 Drive can do 800 BPI
26 TUCD55 Drive can do 556 BPI
27 TUCD20 Drive can do 200 BPI
Page 175
Name: MEMTAB -- Virtual Memory Page Table
Description: Contains one word per page of core. It is unsed during
swap/page requests in conjunction with the UPT to keep
track of where pages
end up on the swapping area, and which page to transmit
next.
Under KL-paging, MEMTAB is in Section 3.
Defined in: S.MAC
Used by: VMSER
Format:
0 5 17 21 35
+-------------------------------------------------------+
| | |Nxt vir pg | | Disk address |
|-------------------------------------------------------|
| | | | | (Unit # - pg # ) |
|-------------------------------------------------------|
| | | | | |
| | | | | |
| | | | | |
+-------------------------------------------------------+
Notes:
Bit 0 is on for the last page in a fragment
Bits 5-17 - next virtual page in this fragment
Bits 21-23 - unit number in active swapping list
Bits 24-35 - Page number on unit.
Page 176
Name: MFD -- Master File Directory
Description: Disk file which tells location of each UFD (User File
Directory) in a file structure. There is one MFD
included in each file
structure.
There is one entry in the MFD for each UFD that has
files in the structure.
Position of an entry is of no significance.
Defined in: COMMOD
Used by: FILFND, FILIO, FILUUO
Format:
+-------------------------------------+
| Entry for user A |
|-------------------------------------|
| Entry for user B |
|-------------------------------------|
| . |
| . |
| . |
|-------------------------------------|
| Entry for user Z |
+-------------------------------------+
Format of each entry
+-------------------------------------+
| Project | Programmer |
|-------------------------------------|
| SIXBIT/UFD/ | CFP |
+-------------------------------------+
Notes:
1. The MFD is actually the UFD for [1,1]. PPN [1,1] is used
only for this purpose.
2. The CFP (Compressed File Pointer) specifies the relative
supercluster within the structure where the RIB of the
corresponding file can be found.
3. The first entry in the MFD is a pointer to itself (to
[1,1].UFD).
Page 177
Relative Number of Relative Number
CFP= Unit # x Superclusters + Block # . Blocks
within per within - per
STR Unit that unit . Supercluster
The number of clusters in a "supercluster" is determined by:
number-clusters-in-structure
-----------------------------
2(18)
rounded up by 1. Hence, every structure will have fewer than 2**18
superclusters, and the CFP will fit in 18 bits. The concept of a
supercluster is used only in connection with Compressed File Pointers.
Page 178
Name: NMB -- File Name Block
Description: Used to remember file name in a project programmer
number across all file structures. There is one NMB
for each open file of each PPN regardless of how many
versions of the files are in existence. This table is
linked into the list for each PPN.
Defined in: COMMOD
Used by: FILIO, FILFND, FILUUO
Format:
+------------------------------------------------+
NMBNAM |File name in SIXBIT |
|------------------------------------------------|
NMBPPB |Next NMB |X|X| |
|------------------------------------------------|
NMBRNG | Ptr to SFD NMB lst | Compressed File Pointer | NMBCFP
|------------------------------------------------|
NMBACC |First ACC block | File ext in SIXBIT | NMBEXT
|------------------------------------------------|
NMBFSN |FSN | |
|------------------------------------------------|
NMBKNO |Know bits for this file |
|------------------------------------------------|
NMBYES |Yes bits for this file |
|------------------------------------------------|
NMBCNT | Use Count |
+------------------------------------------------+
Notes:
1. If a file is being superseded, there are Access Blocks
corresponding to each existing version of the file, but only
one NMB.
2. The compressed file pointer in NMBEXT is copied from the
second word of the UFD entry for this file. Its value is the
logical super-cluster number within the structure of the
file's RIB (see UFD).
3. If this NMB is for an SFD (NMPSFD (bit 34) set in NMBSFD),
NMBRNG is a pointer to a NMB list of files under the SFD and
the extension is assumed to be 'SFD'.
4. NMBKNO - Bit 36-n set if we know whether or not file exists
in structure n (can be either way, and NMBYES tells which is
true).
5. NMBYES - Bits 36-n set if file definitely exists in structure
n.
Page 179
6. Access tables are linked into a ring for each file, starting
and ending at NMBACC. All addresses that point to ACC blocks
are even multiples of 4; the link back to NMBACC is not. If
there are no ACC blocks in the ring at some time, the left
half of NMBACC does not contain zero, but rather its own
address.
7. NMBFSN holds the file structure number in bits 0-5.
Page 180
NMBPPB Byte Definitions.
+-------------------------------------------------------+
| | | | |
+-------------------------------------------------------+
0 15 17 35
Word Bit
Label Bits Label Content
NMBPPB 0-15 Address of next NMB for this
directory (low order 2 bits=0)
16 NMPUPT If this bit is on, NMBPPB is
the location of the father SFD
for this list of NMB's (only
set in the last NMB in the
list)
17 NMPSFU Bit on in AC, never in core.
if the location returned (by
UFORSF) is an SFD ACC. Off if
the location is a UFB.
NMBACC Byte Definitions
+-------------------------------------------------------+
| | |
+-------------------------------------------------------+
0 17 35
Word Bit
Label Bits Label Contents
NMBACC 0-17 First ACC in access ring with this
filename/PPN. If ring is empty,
the bit is not 0, instead it
points to itself. In this way no
special checking is needed to add
or delete access blocks from ring.
NMBEXT 18-35 Holds the left-justified SIXBIT
file extension
Page 181
Name: NUMTAB -- Table of GETTAB Tables
Description: Contains monitor table address and bits that indicate
whether there may be segment data or process data.
This is the table that is referenced by the GETTAB UUO
to pass back the information requested.
Defined in: UUOCON
Used by: COMMON, UUOCON
GETTAB Table No.: .GTSLF (23)
Format:
Bits* GETTAB Table Address
+-------------------------------------+
| | JBTSTS |
|-------------------------------------|
| | JBTADR |
|-------------------------------------|
| | JBTPPN |
|-------------------------------------|
| " | " |
+-------------------------------------+
Notes:
1. ABSTAB (loc 410) in COMMON contains absolute address of
NUMTAB
2. Bits 0-8 hold the maximum size of the table if it is a
regular table
3. Bits 9-11 are interpreted as follows:
0 - undefined in this monitor
1 - index by item type
2 - index by job number
3 - index by job or segment
4 - index by job data in PDB
5 - index by negative and positive offsets
Page 182
Name: PAGTAB -- Page Table
Description: This table is used to keep track of user core. It
contains one word for each page of physical core.
PAGPTR, defined in COMMON, contains the starting
address for the linked list of free pages. In
addition, each segment in core has its own linked list
of pages and is addressed through the EPT at location
412.
Under KL-paging, PAGTAB is in Section 3.
Defined in: S.MAC
Used by: KILOCK, KISER, KLSER, SYSINI, VMSER
Format:
Physical
Page 0 1 2 3 4 5 6 7 17 18 35
+-------------------------------------------------------+
0 |Pg bits | |Ptr to next phys pg of list|
|-------------------------------------------------------|
1 | |
|-------------------------------------------------------|
2 | |
|-------------------------------------------------------|
| . |
| . |
+-------------------------------------------------------+
Bit definitions:
Bits Label Meaning
0 FREPAG On if page is not in some job's
addressing space.
1 LOKPAB On if this page is contained in a
segment that is locked in physically
contiguous memory
2 LOKEVB On if this page is contained in
segment that is locked virtually
contiguous in the exec addressing
space
3 LOKIPB On if this page is contained in a
segment that is locked in place
4 NXMBIT On if this page is below MEMSIZ
but is non-existent.
5 MONTRB On if this page is contained in the
monitor
6 IPCBIT On if this page is owned by IPCF
7 TNCSHB On if this page is temporarily uncached
Page 183
Name: PDB -- Process Data Block
Description: One PDB for each active job. Setup by CREPDB routine
in DATMAN when the job is initialized.
Defined in: DATMAN (modify and find routines)
COMMON (prototype)
Used by: CLOCK1, COMCON, COMMOD, COMMON, CORE1, FILFND, IPCSER,
KISER, KLSER, NETSER, QUESER, SCHED1, SEGCON, UUOCON,
VMSER
Format: Conditional
Assembly
+-----------------------------------------------+
.PDIPT |* |ICPT (MCU) |Quantum run time |.PDQNT
|-----------------------------------------------|
.PDCNO |User's charge number | FTCNO
|-----------------------------------------------|
.PDKCT |Kilo-core ticks for the job | FTKCT
|-----------------------------------------------|
.PDNM1 |First half of user's name in SIXBIT | FTUNAME
|-----------------------------------------------|
.PDNM2 |Second half of user's name in SIXBIT | FTUNAME
|-----------------------------------------------|
.PDRTM |Job's incremental runtime | FTTIME
|-----------------------------------------------|
.PDTTM |Job's total runtime | FTTIME
|-----------------------------------------------|
.PDTT2 |Additional runtime in fractional jiffies | FTTIME
|-----------------------------------------------|
.PDEBT |Total EBOX time in jiffies | FTKL10,FTTIME
|-----------------------------------------------|
.PDEB2 |Remainder in EBOX counts | FTKL10,FTTIME
|-----------------------------------------------|
.PDMBT |Total MBOX time in jiffies | FTKL10,FTTIME
|-----------------------------------------------|
.PDMB2 |Remainder in MBOX counts | FTKL10,FTTIME
|-----------------------------------------------|
.PDPGM |Program to run on Control-C or RUN | FTSET
|-----------------------------------------------|
.PDABS |Addr. break settings | Break address |
|-----------------------------------------------|
.PDCVL | CVPL | CPPL |
|-----------------------------------------------|
.PDMVL | MVPL | MPPL |
|-----------------------------------------------|
Page 184
|-----------------------------------------------|
.PDDVL |Pointer to table of DDBs with log. names | FTHSLN
|-----------------------------------------------|
.PDIPC |First packet | Send/receive ctrs | FTIPCF
|-----------------------------------------------|
.PDIPA |IPCF statistics | FTIPCF
|-----------------------------------------------|
.PDIPQ |Flags and quotas | FTIPCF
|-----------------------------------------------|
.PDIPI |PID of this job's [SYSTEM]INFO | FTIPCF
|-----------------------------------------------|
.PDIPN | Last entry in IPCFQ | | FTIPCF
|-----------------------------------------------|
.PDEQJ | 0 |Pointer to job queue | FTEQDQ
|-----------------------------------------------|
.PDEQQ |Flags |ENQ quota | FTEQDQ
|-----------------------------------------------|
.PDJSL |Job search list | FTSTR
|-----------------------------------------------|
.PDNET |DDB with active CON/DIS|Addr of saved context |.PDSCX
|-----------------------------------------------|
.PDSCX | Job's saved context word |
|-----------------------------------------------|
.PDEPA | | Addr of exec IPCF pack | FTIPCF
|-----------------------------------------------|
.PDDIA | Location of DIAG. DDB for job | FTDHIA
|-----------------------------------------------|
.PDSTR | Structure the program came from |
|-----------------------------------------------|
.PDNAM | Name of the program |
|-----------------------------------------------|
.PDDIR | Directory the program came from |
|-----------------------------------------------|
.PDSPD | Path to program |
|-----------------------------------------------|
.PDDFL | Word containing user-defined defaults | FTSET
|-----------------------------------------------|
.PDCAP | Maximum privileges allowed | FTPRV
|-----------------------------------------------|
.PDACS | Account string | FTACCT
| Eight words |
|-----------------------------------------------|
.PDVKC | Virtual time-core interval | FTKCT,FTACCT
|-----------------------------------------------|
.PDUUC | Count of UUOs done by this job | FTACCT
|-----------------------------------------------|
.PDHZF | HPQ fit flag | FTHPQ
|-----------------------------------------------|
Page 185
|-----------------------------------------------|
.PDPST | Negative of swapout time | FTPSCD
|-----------------------------------------------|
.PDOBI | Operator/batch information |
|-----------------------------------------------|
.PDSTM | Time of last reset |
|-----------------------------------------------|
.PDLBS | Default size of large disk buffer |
| LH is set by UUO, RH is set by command |
|-----------------------------------------------|
.PDSAC | Address of alternate context block |
|-----------------------------------------------|
.PDQSN | Monitor IPCF sequence numbers |
| LH is set by FILDAE, RH is set by QUEUE. UUO |
|-----------------------------------------------|
.PDOSL | Old-style LIB PPN |
|-----------------------------------------------|
.PDCMN | AOBJN pointer to user-defined command list |
|-----------------------------------------------|
.PDUNQ | User-defined command pointers |
| LH is user UNQTAB |
| RH is address of user command block |
+-----------------------------------------------+
Notes:
1. Bit 0 of .PDIPT is the PDMSWP bit that is set to indicate the
expiration of the MCU (minimal care utilization).
2. .PDABS - Address Break Settings:
1B0 OC.BCI Break on instruction fetch
1B1 OC.BCD Break on data fetch
1B2 OC.BCW Break on write
1B3 OC.BCM Break on MUUO reference to
address (software)
1B4 OC.ABE Address break enabled
1B5 OC.FEP Follow exec paging
1B6 OC.FUP Follow user paging
1B7 OC.BSU Break address and conditions
set by UUO.
3. .PDCVL - Bit 18 is set if the CPPL is a limit rather than a
guideline.
4. .PDDVL - Pointer to table of pointers to DDBs owned by this
job and having logical names, or zero if no such DDBs, or -1
if too many to fit in the table (4 words = 8 DDBs).
5. .PDIPC - LH 0-17 Pointer to first packet
RH 18-26 Packets sent and not received
RH 27-35 Packets waiting to be received
Page 186
6. .PDIPA - LH Count of sends since LOGIN
RH Count of receives since LOGIN
Page 187
7. .PDIPQ 1BO IP.DBS Receiver is disabled
1B1 IP.HBS Quotas have been set
1B2 IP.DPR At least 1 PID dropped on RESET
1B3 IP.DPL At least 1 PID dropped on LOGOUT
1B4 IP.LOK Interlock bit for this job's IPCF
receive queue
777B17 IP.JOB Job whose IPCF queue has been locked
18-26 Send quota
27-35 Receive quota
8. .PDEQQ 1B0 EQ.HBS The quota has been set
9. .PDJSL - The number of words in the PDB is a function of the
maximum number of file structures in a search list (.SLMXJ=
D10). For each file structure there will be a 9-bit byte
plus an additional two bytes for the fence and stop markers.
For file structure bytes, the following definitions exist:
Value Symbol Use
400 Spare bit
200 FS.NCR No-create
100 FS.WLK Software write-lock
77 File structure number
System search list is maintained in COMMOD starting at
location SYSSL and also consists of 9 bit bytes.
The fence marker will have a value 1 greater than the maximum
file structure number. The stop marker will have a value 1
greater than the fence marker.
10. .PDDFL contains the following fields:
Bits Description
0-8 Default file protection
9 Non-zero if default protection was specified
10 Non-zero if file daemon specified protection
11 Use default file specification on RUN and GET
12 Don't ask about detached jobs on LOGIN
18-26 File protection from FILDAE
27-35 Default number of disk buffers
11. Bits for .PDOBI are:
Bits Description
0-1 Write to operator values
2-4 Operator privilege type
10 Batch stream number set
12-17 Batch stream number
Page 188
12. For the values for .PDCAP, see JBTPRV.
Page 189
Name: PPB -- Project Programmer Number Data Block
Description: Contains information pertaining to all files belonging
to one PPN. There is one PPB for each PPN with any
active files; it is linked into a list for the system,
starting at SYSPPB, and is also available through
JBTPPB.
Defined in: COMMOD
Used by: FILFND, FILUUO
Format:
+------------------------------------------+
PPBNAM | Project Number | Programmer number |
|------------------------------------------|
PPBSYS | Next PPB in system | |
|------------------------------------------|
PPBUFB | First UFB | |
|------------------------------------------|
PPBNMB | First NMB | | PPBNLG
|------------------------------------------|
PPBCNT | Use count for the PPB |
|------------------------------------------|
PPBKNO | KNO bits for UFD |
|------------------------------------------|
PPBYES | YES bits for UFD |
|------------------------------------------|
PPBLOK | Bits n+1=1 if UFD for FSN is interlocked|
+------------------------------------------+
Notes:
1. Bit 35 PPBNMB is the PPPNLG bit; PPN is not logged in. This
bit, when set, indicates the PPN is logged in. Used to flush
PPB immediately when last file becomes dormant in PPB.
2. PPBKNO - Bit 36-n set if monitor knows whether or not UFD for
this PPN exists in structure n.
3. PPBYES - Bit 36-n is set if the UFD for this PPN definitely
exists in structure n.
Page 190
Name: PTYTAB -- Pseudo-Terminal DDB Table
Description: Table of pseudo-terminal (PTY) DDBs. There is one
entry for each PTY in the system. (See TTYTAB also.)
Defined in: COMMON
Used by: PTYSER, SCNSER, SYSINI
Format:
+-------------------------------------+
PTYTAB: | | DDB address | PTY0
|-------------------------------------|
| | " " | PTY1
|-------------------------------------|
| | " " | PTY2
|-------------------------------------|
/ . . . /
|-------------------------------------|
| | DDB address | PTYn
+-------------------------------------+
Page 191
Name: QBITS -- Wait State Code Requeue Table
Description: Specifies a requeue dispatch address and a transfer
table address for requeueing a job as a function of its
wait state code. There is one entry for each wait
state code, and the value of the wait state code is the
index factor of the table.
Defined in: SCHED1
Used by: SCHED1
Format:
Wait Dispatch Transfer Table
State Address Address
+---------------------------------+
0 | QRNT | QRNW |
|---------------------------------|
1 | QWST | QWSW (-1) |
|---------------------------------|
2 | QTST | QTSW |
|---------------------------------|
3 | QDST | QDSW (-1) |
|---------------------------------|
4 | QPST | QPSW (-1) |
|---------------------------------|
5 | QAUT | QAUW (-1) |
|---------------------------------|
6 | QDAT | QDAW (-1) |
|---------------------------------|
7 | QCBT | QCBW (-1) |
|---------------------------------|
10 | QD1T | QD1W (-1) |
|---------------------------------|
11 | QD2T | QD2W (-1) |
|---------------------------------|
12 | QDCT | QDCW (-1) |
|---------------------------------|
13 | QCAT | QCAW (-1) |
|---------------------------------|
14 | QMMT | QMMW |
|---------------------------------|
15 | QEVT | QEVW |
|---------------------------------|
Page 192
|---------------------------------|
16 | QEQT | QEQW |
|---------------------------------|
17 | QIOWT | QIOWW (-1) |
|---------------------------------|
20 | QTIOWT | QTIOWW |
|---------------------------------|
21 | QDIOWT | QDIOWW (-1) |
|---------------------------------|
22 | QPIOWT | QPIOWW (-1) |
|---------------------------------|
23 | QSLPT | QSLPW |
|---------------------------------|
24 | QEWT | QEWW |
|---------------------------------|
25 | QNAPT | QNAPW (-1) |
|---------------------------------|
26 | QNULT | QNULW |
|---------------------------------|
27 | QJDCT | QJDCW |
|---------------------------------|
30 | QSTOPT | QSTOPW |
|---------------------------------+
Notes:
A transfer table address of -1 implies that the code at the dispatch
address will only modify the wait state code, and no physical queue
transfer will take place (that is, a short term state change).
Page 193
Name: Queue Transfer Table
Description: Contains input parameters for Queue Transfer routine.
There is one such table for each different type of
queue transfer.
Defined in: SCHED1
Format:
+-------------------------------------+
| Place | Function |
|-------------------------------------|
| Quant | Dest |
+-------------------------------------+
Notes:
Place>0 Transfer to beginning of destination queues.
Place<0 Transfer to end of destination queue.
Function is the address of the QXFER routine to be used. It
defines the type of transfer. There are three possible
values:
1. QFIX - Destination queue specified in this table
2. QLINK - Destination queue is a function of source
queue
3. QJSIZ - Destination queue is a function of job size
Dest specifies the destination queue.
1. If Function is QFIX, Dest is the destination queue
number.
2. If Function is QLINK, Dest is the address of a Job
Size-Queues Progression Table that specifies
destination queue as a function of source queue.
3. If Function is QJSIZ, Dest is the address of a
Job-Size-Queue Table which specifies destination
queue as a function of job size.
Quant specifies the change to the job's quantum run time as
follows:
If Quant<0, no change to quantum runtime.
Page 194
If Quant>0, reset the quantum run time as follows:
1. If Function is QFIX, set quantum run time to the
value of Quant.
2. If Function is QLINK or QJSIZ, Quant is the address
of a Quantum Time Table, which has entries
corresponding to the entries in the table used to
determine the destination queue. The entry in the
same position as the selected destination queue is
used to reset the quantum run time.
See BQFIX and following in SCHED1.
Page 195
Name: Queue Table - Job Scanning (ISCAN, OSCAN, SSCAN, SSCAN1)
Description: Determines manner in which job queues are scanned by
routine QSCAN in SCHED1. There is one entry for each
queue to be considered, and entries are in the order
that the corresponding queues are to be considered.
Defined in: COMMON
Used by: SCHED1
Format:
+-------------------------------------+
| Queue | Scan code |
|-------------------------------------|
| " | " |
|-------------------------------------|
| " | " |
|-------------------------------------|
| " | " |
|-------------------------------------|
| 0 |
+-------------------------------------+
The Scan Code is the address of a scanning routine in QSCAN. There
are four possible values:
QFOR Scans whole queue forward, first in-core then out-core
QBAK Scans whole queue backward, first out-core then in-core
IQFOR Scans in-core queue forward
IQBAK Scans in-core queue backward
IQFOR1 Scans in-core queue for first member
IQBAK1 Scans in-core queue backward (all but first member)
OQFOR Scans out-core queue forward
OQBAK Scans out-core queue backward
OQFOR1 Scans out-core queue for first member
OQBAK1 Scans out-core queue backward (all but first member)
SQFOR Scans out-core subqueues (PQ2 class swap-in scan)
BGFOR Scans out-core background batch subqueue (PQ2 class swap-in)
ISSFOR Scans in-core subqueues (PQ2 class scheduling scan)
IBBFOR Scans in-core background batch subqueue (PQ2 class
scheduling)
OSSFOR Scans out-core subqueues (PQ2 class lost-time scan)
IRRFOR Scans just swapped in queue, then QP2 in-core queue
IGFOR Scans just swapped in queue and jobs waiting for high
segment
OLFOR Scans background batch, B.B. JIL, regular output queue, PQ2
in-core
Queues are scanned, in specified manner, in the order in which their
entries appear in the table, and a zero entry terminates the table.
See SSCAN, ISCAN, and OSCAN, in COMMON.
Page 196
Name: QQSTAB -- Quantum Time Queue Table
Description: Specifies value to which a job's quantum run time is
reset on certain types of queue transfers.
Defined in: COMMON
Used by: SCHED1
Format:
+-------------------------------------+
| Quantum time 1 |
|-------------------------------------|
| Quantum time 2 |
|-------------------------------------|
| - |
|-------------------------------------|
| - |
|-------------------------------------|
| - |
|-------------------------------------|
| 0 |
+-------------------------------------+
Quantum time is in jiffies (power line frequency).
A 0 entry indicates end of table.
Page 197
Name: QTTAB -- Queue Progression Queue Table
Description: Specifies the queue for a job to be put into as a
function of the queue it is in.
A Queue Progression Table is specified in the Transfer
Table for link-type queue transfers. (Refer to
Transfer Table.)
Defined in: COMMON
Used by: SCHED1
Format:
+-------------------------------------------------------+
| Source queue 1 | Destination queue 1 |
|-------------------------------------------------------|
| Source queue 1 | Destination queue 2 |
|-------------------------------------------------------|
| - | - |
|-------------------------------------------------------|
| - | - |
|-------------------------------------------------------|
| - | - |
|-------------------------------------------------------|
| 0 | 0 |
+-------------------------------------------------------+
Each entry is a queue number.
A 0,,0 entry indicates end of table.
Page 198
Name: REQTAB -- Sharable Device Request Table
Description: Tells how many jobs require use of each sharable
device. Each entry is referenced by its own label.
An entry contains -1 if no job wants that resource. If
a job uses the device, the entry is incremented to 0.
Each additional job that asks for the device while it
is in use increments the entry by one, and must be
requeued to the corresponding sharable resource wait
queue.
Defined in: SCHED1
Used by: CLOCK1, SYSINI
Format:
+-------------------------------------+
AUREQ | |
|-------------------------------------|
DAREQ | |
|-------------------------------------|
CBREQ | |
|-------------------------------------|
D1REQ | |
|-------------------------------------|
D2REQ | |
|-------------------------------------|
D3REQ | |
|-------------------------------------|
D4REQ | |
|-------------------------------------|
D5REQ | |
|-------------------------------------|
D6REQ | |
|-------------------------------------|
D7REQ | |
|-------------------------------------|
D8REQ | |
|-------------------------------------|
DCREQ | |
|-------------------------------------|
CAREQ | |
|-------------------------------------|
MMREQ | |
|-------------------------------------|
EVREQ | |
|-------------------------------------|
EQREQ | |
+-------------------------------------+
Page 199
Notes:
1. Entries in this table may be tested and incremented
simultaneously, as follows:
AOSE XXREQ
PUSHJ P, XXWAIT
-
-
-
If the resource was available, the routine may continue.
Otherwise, the job must be requeued to wait for it.
2. Table AVALTB has entries corresponding to the entries in
REQTAB.
3. The AVALTB entries are built by the conditionally assembled
RWAITS MACRO entries in S.MAC; therefore, some of the above
listed entries will not be present in all systems.
Page 200
Name: RIB -- Retrieval Information Block
Description: Disk block containing descriptive information about a
file. There is one prime RIB for each file. If a file
needs more retrieval pointers than can fit in a single
RIB, a second (extended) RIB block is allocated to hold
the additional pointers (and so on). The last block(s)
of a file is (are) a copy of the prime RIB, called the
redundant RIB.
Defined in: COMMOD
Used by: FILFND, FILIO, FILUUO, ONCMOD, REFSTR
Format:
+-------------------------------------------------------+
RIBFIR | -Number of retrieval pointers | First pointer address |
|-------------------------------------------------------|
RIBPPN | Project # | Programmer # |
|-------------------------------------------------------|
RIBNAM | File name in SIXBIT |
|-------------------------------------------------------|
RIBEXT* | File extension | Access date |
|-------------------------------------------------------|
RIBPRV* | Access |Mode|Creation time| Creation date |
|-------------------------------------------------------|
RIBSIZ | File length in words |
|-------------------------------------------------------|
RIBVER | Version number (as in .JBVER) |
|-------------------------------------------------------|
RIBSPL | Possible user file name when spooled |
|-------------------------------------------------------|
RIBEST | Estimated length of file in blocks |
|-------------------------------------------------------|
RIBALC | Number of blocks allocated for file |
| (Including RIB's) |
|-------------------------------------------------------|
RIBPOS | Logical block # in structure |
|-------------------------------------------------------|
RIBFT1 | Word for future use by DEC |
|-------------------------------------------------------|
RIBNCA | Non-privileged word for customer to define |
|-------------------------------------------------------|
RIBMTA | Tape label if file on magtape |
|-------------------------------------------------------|
RIBDEV | Name of structure containing file |
|-------------------------------------------------------|
RIBSTS* | Status bits |
|-------------------------------------------------------|
Page 201
|-------------------------------------------------------|
RIBELB | Logical block # where bad region begins |
|-------------------------------------------------------|
RIBEUN | Err unit # in structure | Number bad blks in |
| | region |
|-------------------------------------------------------|
RIBQTF | FCFS quota for this PPN in this structure (UFD only) |
|-------------------------------------------------------|
RIBQTO | Logged out quota this PPN in this STR (UFD only) |
|-------------------------------------------------------|
RIBQTR | Reserved quota this PPN in this STR (UFD only) |
|-------------------------------------------------------|
RIBUSD |No. of blocks used when job was logged out (UFD only) |
|-------------------------------------------------------|
RIBAUT | Author PPN writing the file |
|-------------------------------------------------------|
RIBNXT | Next STR for this file |
|-------------------------------------------------------|
RIBPRD | Prev STR for this file |
|-------------------------------------------------------|
RIBPCA | Privileged argument for customer use |
|-------------------------------------------------------|
RIBUFD | Blk # in STR of UFD Data Block with ptr to this RIB |
|-------------------------------------------------------|
RIBFLR | Relative block # of 1st block in RIB |
|-------------------------------------------------------|
RIBXRA | Address of next RIB in chain |
|-------------------------------------------------------|
RIBTIM | Creation date and time in new format |
|-------------------------------------------------------|
RIBLAD | Last accounting date (UFD only) |
|-------------------------------------------------------|
RIBDED | Directory expiration date (UFD only) |
|-------------------------------------------------------|
RIBACT | AOBJN pointer for accounting string |
|-------------------------------------------------------|
| Retrieval Pointers |
| (details on following pages) |
|-------------------------------------------------------|
RIBACS | Account string (pointer in RIBACT) |
|-------------------------------------------------------|
RIBCOD | 0 | 777777 |
|-------------------------------------------------------|
RIBSLF | 0 | Self block number |
+-------------------------------------------------------+
Page 202
RIBEXT Byte Definitions
+-------------------------------------------------------+
| Extension | | Access Date |
+-------------------------------------------------------+
0 17 18 23 24 35
Bits Contents
0-17 File extension in SIXBIT
24-35 Last access date
RIBPRV Byte Definitions
+-------------------------------------------------------+
| Access |Mode | Creation time | Creation date |
+-------------------------------------------------------+
0 8 12 23 35
0-8 Access code
9-12 Data mode of file
13-23 File creation time
24-35 Low-order twelve bits of file creation date
Access Codes:
Bits 0-2 Apply to any job with matching programmer number.
Bits 3-5 Apply to any job with matching project number.
Bits 6-8 Apply to all other jobs.
Privilege Codes for User Files:
Code Highest Privileges
7 None (but owner may read)
6 Execute-only (but owner may read)
5 Read
4 Append (allocate, deallocate)
3 Update
2 Write (supersede, truncate)
1 Rename (change attributes)
0 Change privileges
Privilege Codes for Directories:
Code Privilege
4 Allow LOOKUPs in this directory
2 Allow creates
1 Allow directory to be read as a
a data file
Any combination of these bits may be set.
Page 203
1. RIBPRV is maintained in ACYPRV while the file is being
accessed.
2. If the monitor is assembled for File Daemon, and FILDAE is
running, an owner privilege greater than or equal to 4
invokes FILDAE, giving extended access protection modes. See
the TOPS-10 Monitor Calls Manual for details.
RIBSTS Byte Definition
+-------------------------------------+
| Status bits |
+-------------------------------------+
Left half bits apply to the UFD.
Right half bits apply to this specific file.
Bit Label Meaning
0 RIPLOG (LH only) User logged in
9,27 RIPSCE File has had checksum error
7,24 RIPABU Always BACKUP this UFD/file
10,28 RIPHWE File has had hard write error
11,29 RIPHRE File has had hard read error
14,32 RIPBFA File found bad by FAILSAFE during
restore
15,33 RIPCHR File closed after crash
17,35 RIPBDA File found bad by assessment cusp
18 RIPDIR This is a directory
19 RIPNDL No deletion of this file by any user
21 RIPNFS Not to be dumped by FAILSAFE
22 RIPABC Always bad checksum
(SWAP.SYS, SAT.SYS)
23 RIPCBS Compress bit set
25 RIPNQC Non-quota-checked file
31 RIPPAL Pre-allocated file
Page 204
Retrieval Pointers
+-------------------------------------------------------+
| Cluster count | Checksum | Cluster addr |
+-------------------------------------------------------+
Widths of these fields are defined symbolically, and may be different
for each file structure. Byte pointer is defined in the HOM block,
kept in Structure Data Block while the structure is mounted.
Field Byte Pointer
Cluster Count STYCNP
Checksum STYCKP
Cluster Address STYCLP (23 bits maximum)
If cluster count = 0, the word actually is one of the following:
1. Pointer to new unit, if bit 18 = 1. Bits 19-35 specify
logical number within file structure.
2. EOF flag, if whole word is zero.
3. Cluster count is number of clusters in group.
RIBELB Byte Definitions
+-------------------------------------------------------+
| Error bits | LBN where bad region starts |
+-------------------------------------------------------+
Bits 0 through 8 give the type of error that occurred. Bits 9 through
35 give the logical block number on the unit where the error occurred.
Bit Meaning
3 Error other than listed below
4 Data error (parity or ECC hard)
5 Search or header compare error
RIBXRA Byte Definitions (same format as DEVRIB)
Bits Byte Pointer Content
0 Set to 1
1-8 DEYRBC Number of RIB (first extended
RIB is 1, and so forth)
9-12 DEYRBU Logical unit on which extended
RIB exists
13-35 DEYRPA Cluster address on unit of
extended RIB
Page 205
Name: SAB -- Storage Allocation Block
Description: Table describing allocation of clusters of blocks for a
file structure.
Each allocation bit represents a corresponding cluster
of physical blocks within the structure.
(See also SAT.SYS and SPT.)
Defined in: COMMOD
Used by: FILFND, FILIO, ONCMOD, REFSTR
Format:
+-------------------------------------------------------+
SABRNG | Core adr of next | No free clusters | SABTAL
| SAB for unit | in this SAT |
|-------------------------------------------------------|
SABSCN | No words in | Adr to start scan |
| SAT Buffer | for free clusters |
|-------------------------------------------------------|
SABNDX* | A | B | NDX | First cluster | SABCLA
| | | | | SABFIR
|-------------------------------------------------------|
SABHOL | Number of blocks in largest hole |
|-------------------------------------------------------|
SABBIT | |
| One data block of |
| SAT.SYS |
| |
+-------------------------------------------------------+
* Details on following page.
Page 206
SABNDX Byte Defintions
+-------------------------------------------------------+
| A | B | NDX | First cluster |
+-------------------------------------------------------+
0 1 2 12 13 35
Word Bit Label or
Label Bits Byte Pointer Content
SABFIR 0 SAPDIF Set if table in core
different from disk
SABFIR 1 SAPBAD Set if SAT block is on
a bad block in disk
SABNDX 2-12 SAYNDX Index value for SPT
entry representing
this SAT
SABCLA 13-35 SAYCLA Cluster address within
unit of first cluster
represented in this
SAT
Notes:
1. The NDX and CLA fields are related by the formula.
Number
CLA = Cluster x (NDX)
per SAT
2. Bits 2-35 are set -1 when the file structure is created to
force SAT to be read into SAB.
3. Under KL-paging, the SAT is usually in Section 2.
Page 207
Name: SAT.SYS
Description: Disk file describing the allocation of all clusters of
blocks on the file structure.
Contains one bit for each cluster of the file
structure.
Bits are in the same order as the clusters which they
represent.
Format:
+-------------------------------------------------------------+
Cluster 0-35 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|-------------------------------------------------------------|
36-71 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|-------------------------------------------------------------|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|-------------------------------------------------------------|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|-------------------------------------------------------------|
|0---------------------------------------------------------35 |
+-------------------------------------------------------------|
Notes:
1. SAT blocks are always on the same unit as the clusters that
they represent.
2. If more than one SAT block is needed for a single physical
unit, each block will be near the clusters that it
represents. Hence, only the first block in each group (1
cluster) of SAT.SYS contains data.
3. Programs should not look at bits corresponding to nonexistent
clusters. They may or may not be set. (Function of hardware
sector length.)
4. Each SAT block has a corresponding entry in the Storage
Allocation Pointer Table (SPT) for that unit.
5. The unused bits in the final word of each SAT must be set to
1, as the monitor depends on this condition when searching
for holes.
Page 208
Name: Scheduler Scan Tables
Description: Used by the system scheduler when selecting a job to
run.
Defined in: COMMON
Used by: SCHED1
SSCAN -- Used by policy CPU for selecting a job to run:
+--------------------------------------+
SSCAN | -HPQn | IQFOR |
| -HPQ1 | IQFOR |
| -PQ1 | IQFOR |
| -PQ2 | IRRFOR(RR) |
| -PQ2 | ISSFOR(class)
| -PQ2 | IBBFOR(class)
| | |
+--------------------------------------+
SSCAN1 -- Used by second processor for selecting a job to run:
+--------------------------------------+
SSCAN | -HPQn | IQFOR |
| -HPQ1 | IQFOR |
| -PQ2 | IRRFOR(RR) |
| -PQ2 | ISSFOR(class)
| -PQ1 | IQFOR |
| -PQ2 | IBBFOR(class)
| | |
+--------------------------------------+
SQSCAN -- Used by SQFOR code:
Subqueue # Ptrs to Quota Left
+-------------------------------------+
SQSCAN | -SQ0 | CLSQTA |
| -SQ1 | CLSQTA+1 |
| -SQ2 | CLSQTA+2 |
| | |
| -SQn | CLSQTA+n |
+-------------------------------------+
SQFOR scans subqueues forward according to SQSCAN
table if RRFLAG = 0, (count of classes with non-zero
quotas), otherwise it scans PQ2 with QFOR routine.
Page 209
DCSCAN is used by the scheduler for selecting jobs for IPCT
decrementing. This table is not processed by QSCAN but by specific
code in the IPCT maintenance routines.
DCSCAN:
+--------------------------------+
| -EWQ |
|--------------------------------|
| -SLPQ |
|--------------------------------|
| -PQ2 |
|--------------------------------|
| -PQ1 |
|--------------------------------|
| -HPQn |
+--------------------------------+
Notes:
The items flagged by (RR) are used in a system built with the
round-robin scheduler (FTNSCHED=0). Items flagged by (class) are used
in a system built with the class scheduler (FTNSCHED=1).
Page 210
Name: SPT -- Storage Allocation Pointer Table
Description: Contains pointers to all SAT blocks for a unit, whether
in core or not. There is one entry for each SAT block
on a unit, in order of the cluster address which they
represent, and zero entry indicates end of table.
Defined in: COMMOD
Used by: FILFND, ONCMOD
Format:
+-------------------------------------------------------+
SPTFIR | Free cluster cnt | Cluster adr in unit |
|-------------------------------------------------------|
| Free cluster cnt | Cluster adr in unit |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
| 0 | 0 |
+-------------------------------------------------------+
0 12 13 35
Bits Byte Pointer Content
0-12 SPYTAL Number free clusters represented
in this SAT Block.
13-35 SPYCLA Cluster address within unit for
this SAT Block.
Notes:
1. Each Unit Data Block, UDB, contains a pointer to its SPT.
2. Each SAT block that is in core is in a SAB, Storage
Allocation Block. The SAB contains the index value for the
entry in this table corresponding to the SAT block that it
currently contains.
3. The last word in the SPT table will always be zero.
4. Under KL-paging, the SPT is usually in Section 2.
Page 211
Name: STR -- File Structure Data Block
Description: Contains descriptive information about a file
structure.
There is a Structure Data Block for each structure
defined in the system.
Defined in: COMMOD
Used by: COMMON, FILFND, FILIO, FILUUO, IPCSER, ONCMOD
Format:
+-------------------------------------------------------+
STRNAM | SIXBIT structure name |
|-------------------------------------------------------|
STRSYS | Next STR in system | This STR number | STRFSN
|-------------------------------------------------------|
STRUNI | First UDB for this STR | K for CRASH.EXE | STRK4C
|-------------------------------------------------------|
STRREF | Nonzero if STR needs | No. of units in this STR | STRUNM
| to be refreshed | |
|-------------------------------------------------------|
STRHGH | Highest logical blk in structure |
|-------------------------------------------------------|
STRSIZ | Size of STR in 128 word blocks |
|-------------------------------------------------------|
STRGAR | Limit on total blocks reserved in STR |
|-------------------------------------------------------|
STRRES | No. of reserved blocks remaining free |
|-------------------------------------------------------|
STRALT | Alter number for this structure |
|-------------------------------------------------------|
STRTAL | No. first-come-first-serve free blocks on structre |
|-------------------------------------------------------|
STROVR | Overdraw limit - per user |
|-------------------------------------------------------|
STRMNT | Mount count for this STR |
|-------------------------------------------------------|
STRPT1 | First retrieval ptr for MFD |
|-------------------------------------------------------|
STRTRY* | TRY | RETRY | RECAL | | | X | UNIT| | X | STRUN1
|-------------------------------------------------------|
STRBPU | (Maximum) No. of blocks per unit |
|-------------------------------------------------------|
STRBSC | No. of blocks per | (Maximum) No. of super- |
| supercluster | clusters per unit |
|-------------------------------------------------------|
Page 212
|-------------------------------------------------------|
STRJOB | Access | Job # having access |
| | or 0 |
|-------------------------------------------------------|
STYCNP | Byte ptr to RIB cluster count in AC T2 |
|-------------------------------------------------------|
STYCKP | Byte ptr to RIB checksum field in AC T2 |
|-------------------------------------------------------|
STYCLP | Byte ptr for cluster adr in AC T2 |
|-------------------------------------------------------|
STRPPN | PPN of the structure owner |
|-------------------------------------------------------|
STRSDL | Position of STR in system dump list (-1 = not in list)|
|-------------------------------------------------------|
STRCRS | LBN of RIB for CRASH.EXE |
+-------------------------------------------------------+
* Details following.
Notes:
1. All STR Data Blocks are set up by the ONCE-Only code,
according to information found in the Home Blocks. No
information pertaining to structures is coded into the
monitor.
2. STRALT is incremented each time a SAT block is written for
this structure.
3. Access is -1 if the job in right half is the only job with
the structure mounted, and it is not single-access structure.
Page 213
STRTRY Byte Definitions
+-------------------------------------------------------+
| TRY |RETRY |RECAL | | X | UNIT | |X|
+-------------------------------------------------------+
0 6 12 18 27 31 34 35
Word Byte
Label Bits Label Content
STRTRY 0-5 STYTRY Number of times to retry before
error considered hard.
STRTRY 6-11 STYSER Number of times to retry on search
and data errors
STRTRY 12-17 STYRCL Number of recalibrates for search
and data errors
STR1PT 27 STP1PT Set if STRPT1 is only retrieval
pointer for MFD.
STRUN1 28-31 STYUN1 Logical unit number within this
file structure where MFD begins.
STRPVS 35 STYPVS Non-zero if this is a private
structure.
Page 214
Name: SWPLST -- Swapping List Table
Description: Table used by the VM swapper in conjunction with MEMTAB
to keep track of jobs being swapped or having paging
I/O in progress.
Defined in: COMMON
Used by: SCHED1, SWPSER, VMSER
Format:
0 17 18 26 27 35
+-------------------------------------------------------+
| Bits | Start phys. pg. | # of pg.* |
|-------------------------------------------------------|
| |
|-------------------------------------------------------|
. . .
Notes:
SL.FRG = 1B0 Fragmented entry
SL.DIO = 1B1 Direction of I/O (1 = out)
SL.SIO = 1B2 Swapping/paging (1 = swapping)
SL.IOP = 1B3 I/O in progress
SL.IOD = 1B4 I/O done (this swap list entry
is done)
SL.IPC = 1B5 On if an IPCF page
SL.DFM = 1B6 Don't find me (used to keep FNDSLE
from finding this entry)
SL.CHK = 1B11 Swapping checksum error
SL.ERR = 1B12 I/O error (IODTER, IODERR, or
IOIMPM)
SL.CHN = 1B13 Channel error (IOCHMP or IOCHNX)
* if not a fragmented entry:
Bits 14-26 - starting physical page number
(used as an index into MEMTAB)
Bits 27-35 - number of pages
* if fragmented:
Bits 18-35 - address of fragment table.
The fragment table is linked
the same way the JBTSWP entry
is, but the entries are as above.
Page 215
Name: SW2LST -- Secondary SWPLST
Description: The original SWPLST entry is stored here for cleanup
purposes, since SWPLST is modified while I/O is
progressing.
Defined in: COMMON
Used by: VMSER
Format:
+-------------------------------------+
SW2LST | |
|-------------------------------------|
| |
|-------------------------------------|
. . .
Name: SW3LST -- Third SWPLST
Description: The right half of this table is used to store the job
number of the job being swapped or doing paging I/O,
and left half holds the contents of SWPOUT.
Defined in: COMMON
Used by: SCHED1, SWPSER, VMSER
Format:
+-------------------------------------+
SW3LST | . |
| . |
|-------------------------------------|
| (SWPOUT) | Job Number |
|-------------------------------------|
/ . . . /
Page 216
Name: SWPTAB -- Swapping Table
Description: Contains addresses of the Unit Data Blocks of all units
available for swapping. This table specifies the
active swapping list.
Defined in: COMMOD
Used by: CPNSER, FILFND, FILIO, ONCMOD, SEGCON, SWPSER, SYSINI,
VMSER
Format:
+-------------------------------------+
| UDB 1 |
|-------------------------------------|
| UDB 2 |
|-------------------------------------|
| UDB 3 |
|-------------------------------------|
| |
| |
|-------------------------------------|
| UDB n |
+-------------------------------------+
Page 217
Name: TABSTR -- Structure Table
Description: Contains addresses of all File Structure Data Blocks in
the system. File structures are in order of access
speed, fastest to slowest.
Index value for each entry is the File Structure
Number, FSN.
Defined in: COMMOD
Used by: COMMON, CPNSER, FILFND, FILIO, FILUUO, ONCMOD, SYSINI
Format:
+-------------------------------------+
STRAOB: | -.SLMAX-1 | .FSMIN |
|-------------------------------------|
STRTAB: | STR 1 |
|-------------------------------------|
| STR 2 |
|-------------------------------------|
| |
| |
|-------------------------------------|
| STR n |
+-------------------------------------+
Notes:
1. Number of entries is STRNUM. This value cannot exceed 36.
2. The first word is an AOBJN pointer to the rest of the table.
Page 218
Name: Transfer Tables
Description: These tables are used in the requeuing process to
determine the destination queue and quantum runtime for
jobs being requeued by the scheduler.
Defined in: SCHED1
Format:
Although these tables are defined by macros in COMMON they are
represented here in their expanded form:
EQFIX== 400000,,QFIX ;SPECIFIES FIX TRANFER TO END OF Q
EQLNKX==400000,,QLNKZ ;SPECIFIES REQUEING AND QUANTUM RUN
; TIME BASED ON CURRENT QUEUE AND
; JOB SIZE
QNULW: EXP EQFIX ;NULL QUEUE
XWD -1,-NULQ
QSTOP::
QSTOPW: EXP EQFIX ;STOP QUEUE
XWD -1,-STOPQ
QJDCW: EXP EQFIX ;DAEMON WAIT QUEUE
XWD -1,-JDCQ
QCMW:: EXP EQFIX ;COMMAND WAIT QUEUE
XWD -1,-CMQ
QTSW: ;TTY I/O WAIT SATISFIED
QRNW: EXP EQFIX ;JOBS JUST BECAME RUNNABLE
XWD QADTAB##,-PQ1
QRNW1: EXP EQFIX ;BACK OF QP1, NO QUANTUM CHANGE
XWD -1,-PQ1
QRNW2: EXP EQFIX ;BACK OF PQ2, NO QUANTUM CHANGE
XWD -1,-PQ1
QTIOWW: EXP EQFIX ;TTY I/O WAIT SATISFIED
XWD -1,TIOWQ
QSLPW: EXP EQFIX ;SLEEP FOR .GE. 1 SECOND
XWD -1,-SLPQ
QEWW: EXP EQFIX ;EVENT WAIT
XWD -1,-EWQ
QTIME: EXP EQLNKZ ;WHEN QUANTUM TIME EXCEEDED
XWD 0,QRQTBL
Page 219
Name: TTFCOM -- Forced Commands Table
Description: Allows SCNSER to force a specified command to be
executed for a job without having to put the command
into the terminal buffer.
One entry, in SIXBIT format, for each command that
SCNSER might want to force.
Defined in: SCNSER
Used in: CLOCK1, COMCON, NETMCR, NETSER, NETVTM, ONCE, SYSINI,
UUOCON
Format:
Label Content Command
+-------------------------------------+
TTFCXC | HALT | Control-C
|-------------------------------------|
TTFCXD | .BYE | Dataset
| | disconnect
|-------------------------------------|
TTFCXH | .HELLO | Dataset
| | connect
|-------------------------------------|
TTFCXR | .RESTA | System restart
|-------------------------------------|
TTFCXK | KJOB | Kill job
|-------------------------------------|
TTFCXI | INITIA | Call Initializing
| | CUSP
|-------------------------------------|
TTFCXJ | .FCONT | Forced Continue
|-------------------------------------|
TTFCXT | .TYPE | Retype line
+-------------------------------------+
TTFCXW | USESTA | <CTRL/T>
+-------------------------------------+
TTFCXL | .NETLD | Network Reload
+-------------------------------------+
TTFCXS | HALT | <CTRL/C>
| | with no trapping
+-------------------------------------+
TTFCXB | .BPT | <CTRL/D> breakpoint
+-------------------------------------+
TTFCXX | CTEST | (For patching)
+-------------------------------------+
Page 220
Notes:
1. The value of each label is the position of that entry within
the table. This value is plugged into LDBDDB when a command
is to be forced.
2. The entries in TTFCOM are conditionally assembled; therefore
all of the above listed entries will not be in every monitor.
Page 221
Name: Terminal Chunks
Description: Used to hold characters that need to be typed on a
terminal, or characters received from a terminal and
not yet read by a program.
Buffers are set up dynamically, as needed, from a pool
of monitor free core reserved for that purpose.
The association between a buffer and a line depends on
pointers in the Line Data Block.
Buffers are built from four word "chunks," which are
linked together as necessary.
Defined in: SCNSER
Format:
+-------------------------------------+
| Prev chunk addr | Next chunk addr |
|-------------------------------------|
| | | | |
|-------------------------------------|
| | | | |
|-------------------------------------|
| | | | |
+-------------------------------------+
Notes:
1. The ninth bit in each byte of data is used to indicate image
mode.
2. If there is not another chunk in a given direction, the
corresponding linkage will be zero.
3. All chunks that are not part of a buffer are linked together
to form the "free list". The word TTFTAK points to the
oldest chunk in the free list, and word TTFPUT points to the
newest chunk in the free list.
4. The size of an individual buffer is limited by program
action. An output buffer cannot exceed 80 characters. If an
input buffer exceeds 172 characters (value of symbol TTIWRN)
each receive interrupt will force the output of an XOFF. If
an input buffer contains 300 characters (symbol TTIMAX) no
additional characters will be accepted from that line. A
bell will be substituted for the echo of a lost character.
5. See description of Line Data Block for various pointers which
are used with the TTY buffer.
Page 222
Name: TTUUOT -- TTCALL Dispatch Table
Description: This table contains pre-check and dispatch information
for TTCALL UUOs. The bits in the left half are checked
before dispatching. There is one entry for each TTCALL
UUO.
Defined in: SCNSER
Format:
+-------------------------------------------------------+
TTUUOT: | Pre-check bits | | Dispatch address | TTCALL 0
|-------------------------------------------------------|
| | | | TTCALL 1
|-------------------------------------------------------|
| | | | TTCALL 2
|-------------------------------------------------------|
| | | |
| | | |
|-------------------------------------------------------|
| | | Dispatch address | TTCALL 17
+-------------------------------------------------------+
0 4 18 35
Bit Label Meaning
0 TC.ADC This function must be address-checked
1 TC.USR This function must be at user level else
return
2 TC.USW This function must be at user level else wait
3 TC.ATW This function must be attached, else wait
4 TC.ATR This function must be attached, else return
5 TC.ECS This function releases the previous input line,
causing a subsequent RESCAN to fail
Page 223
Name: TTYTAB -- TTY Table
Description: One entry per job, indexed by job number. This is the
table of controlling (attached) terminals for each job.
Defined in: COMMON
Used by: CLOCK1, COMCON, COMDEV, CPNSER, ERRCON, FILIO, IPCSER,
PSISER, PTYSER, SCNSER, UUOCON
Format:
+-------------------------------------------------------+
TTYTAB: | | | Job 0
|-------------------------------------------------------|
| | DDB address | Job 1
|-------------------------------------------------------|
| | DDB address | Job 2
|-------------------------------------------------------|
| | DDB address | Job 3
|-------------------------------------------------------|
| | |
| | |
| | |
| | |
| | |
|-------------------------------------------------------|
| | DDB address | Job n
+-------------------------------------------------------+
A zero entry indicates no attached terminal, otherwise, right half is
controlling DDB for the job. There is always a TTY DDB for every job,
even though no TTY need be attached. Thus, UUOs look through
TTYTAB(n) for a DDB because UUOs come from jobs.
Page 224
Name: TYPTAB -- Device Types Table
Description: Contains three letter generic device type prefix in
SIXBIT format for all possible devices in the system.
Used by UUOCON subroutine which finds a DDB given its
Universal Device Index.
Defined in: UUOCON
Used by: UUOCON
Format:
+-------------------------------------+
| SIXBIT/DSK/ |
|-------------------------------------|
| SIXBIT/DTA/ |
|-------------------------------------|
| SIXBIT/MTA/ |
|-------------------------------------|
/ . . . /
+-------------------------------------+
Page 225
Name: UCLJMP -- CALL and CALLI UUO Dispatch Table
Description: Contains dispatch addresses for CALL and CALLI UUOs.
There is one entry for each two routines. Left half
contains address for even numbered routines; right
half for odd numbered routines
Indexed by one half the CALLI argument.
For CALL UUOs, a table lookup is done in UCLTAB to get
routine number; for CALLI UUOs the number is supplied
directly. One half of this routine number is used as
the table index. The left half is taken for even
numbers; right half for odd. UUOCON then dispatches
to that address.
Defined in: UUOCON
Used by: UUOCON
Format:
+-------------------------------------+
/ . . . /
|-------------------------------------|
| Customer adr -4 | Customer adr -3 |
| |
| Customer adr -2 | Customer adr -1 |
| |
|-------------------------------------|
| DEC adr 0 | DEC adr 1 |
|-------------------------------------|
| DEC adr 2 | DEC adr 2 |
|-------------------------------------|
/ . . . /
+-------------------------------------+
Notes:
UCLJMP has entries corresponding to entries in UCLTAB. Table entries
may be added in the negative direction by customers, and in the
positive direction by DIGITAL (DEC). Once a table entry is
established, its position can never be changed without invalidating
those programs that use the corresponding CALLI.
Page 226
Name: UCLTAB -- CALL UUO Names Table
Description: Contains names of the CALL UUOs. There is one entry
for each CALL function.
Indexed by corresponding CALLI value. Customer defined
CALLs have negative index values; DEC CALLs have
positive values. Table entries are SIXBIT expressions
of the CALL names. There are corresponding dispatch
addresses in the UCLJMP table.
Format:
+-------------------------------------+
CCLTAB: | Customer CALL -m |
|-------------------------------------|
| Customer CALL -2 |
|-------------------------------------|
| Customer CALL -1 |
|-------------------------------------|
UCLTAB: | DEC CALL 0 |
|-------------------------------------|
| DEC CALL 1 |
|-------------------------------------|
| DEC CALL 2 |
|-------------------------------------|
| DEC CALL n |
+-------------------------------------+
Notes:
1. Customers may extend the table in the negative direction with
as many of their own CALLs as desired.
2. The value specified in a CALLI UUO corresponds to the
position of the CALL UUO name in this table. Hence, once an
entry is established, its position in the table can never be
changed without invalidating any existing programs that use
that CALLI.
3. All CALLs above CALLI AC,55 do not have a corresponding CALL
with a SIXBIT argument. In the future, only CALLIs will be
added by DIGITAL.
Page 227
Name: UDB -- Unit Data Block
Description: One UDB for each physical disk drive on the system (two
if the drive is dual ported). Unit Data Blocks are
generated dynamically by AUTCON when the system is
started and when units come on line.
Defined in: COMMOD
Used by: COMMON, CPNSER, DPXKON, ERRCON, FHXKON, FILFND, FILIO,
FILUUO, FSXKON, KLSER, ONCMOD, RPXKON, SYSINI, VMSER
Format:
+-------------------------------------------------+
UNINAM | SIXBIT physical unit name |
|-------------------------------------------------|
UNILOG | SIXBIT logical name within structure (HOMLOG) |
|-------------------------------------------------|
UNIHID | SIXBIT Home Block ID name (HOMHID) |
|-------------------------------------------------|
*UNISYS | Next UDB in system | SIC | LUN |
|-------------------------------------------------|
UNISTR | Next UDB for STR | STR Data Block |
|-------------------------------------------------|
UNICHN | Next UDB on channel | CHN Data Block |
|-------------------------------------------------|
UNIKON | Next UDB on controller| KON Data Block |
|-------------------------------------------------|
*UNISWP | Next UDB for swapping | CFS | K4S |
|-------------------------------------------------|
UNIHCT | Hard disk error statistics |
|-------------------------------------------------|
UNISCT | Soft and hard error statistics |
|-------------------------------------------------|
UNIMCT | Monitor detected error statistics |
|-------------------------------------------------|
UNIERR | Device CONI at time of last hard error |
|-------------------------------------------------|
UNISOF | CONI at time of last error before recovery |
|-------------------------------------------------|
UNIHBN | Last logical block number on hard or soft error |
|-------------------------------------------------|
UNIBRC | Number of buffered mode blocks read on unit |
|-------------------------------------------------|
UNIBWC | Number of buffered mode blocks written on unit |
|-------------------------------------------------|
Page 228
|-------------------------------------------------|
UNIDRC | Number of dump mode blocks read on unit |
|-------------------------------------------------|
UNIDWC | Number of dump mode blocks written on unit |
|-------------------------------------------------|
UNIMRC | Number of monitor blocks read on unit |
|-------------------------------------------------|
UNIMWC | Number of monitor blocks written on unit |
|-------------------------------------------------|
UNIICT | Number of blocks swapped in from unit |
|-------------------------------------------------|
UNIOCT | Number of blocks swapped out to unit |
|-------------------------------------------------|
UNIMSC | Number of monitor + swap seeks on this unit |
|-------------------------------------------------|
UNIUSC | Number of user mode seeks on this unit |
|-------------------------------------------------|
UNIPCT | Number of positioning | Number of soft+hard seek|
| failures | incomplete failures |
|-------------------------------------------------|
UNIFKS | Free K for swapping on this unit |
|-------------------------------------------------|
UNISDI | Last DATAI status before recovery attempted |
|-------------------------------------------------|
UNIHDI | Last DATAI status after first recovery failed |
|-------------------------------------------------|
UNIECT | # times error status returned for last operation|
|-------------------------------------------------|
UNIHNG | Hung timeout counters |
|-------------------------------------------------|
*UNISTS | Status code for unit |
|-------------------------------------------------|
*UNICCT |Section# for| BCT | # of channel |
|swapping SAT| | termination errors |
|-------------------------------------------------|
UNIHOM | 1st home block address| redundant home blk adr |
|-------------------------------------------------|
UNIQUE | addr. of 1st PWQ DDB | Job no. of PWQ DDB |
|-------------------------------------------------|
UNIGRP | # blocks to try for | Last disk position |
| on output | (RP20) |
|-------------------------------------------------|
UNIBPU | # logical blocks per unit (returned by DSKCHR) |
|-------------------------------------------------|
UNIBPM | # of logical blocks/unit incl. maint. cyls. |
|-------------------------------------------------|
UNIPCI | # of blocks paged in from unit |
|-------------------------------------------------|
Page 229
|-------------------------------------------------|
UNIPCO | # of blocks paged out to unit |
|-------------------------------------------------|
*UNICHR | BPC | BPT | Blocks per cylinder |
|-------------------------------------------------|
*UNICPS | WPS | | SPU | CPS | UNIWPS
|-------------------------------------------------|
UNICYL | Current physical cylinder number |
|-------------------------------------------------|
UNIBLK | Logical block number within unit |
|-------------------------------------------------|
UNISAB | Address of first SAB in ring |
|-------------------------------------------------|
UNITAL | # of free blocks on unit (reserved + FCFS) |
|-------------------------------------------------|
*UNIDES | Unit description bits for DSKCHR |
|-------------------------------------------------|
UNIPTR | -length swap SAT table| Addr of swap SAT table |
|-------------------------------------------------|
UNISLB | 1st logical block for swapping on unit |
|-------------------------------------------------|
UNIXRA | # blks read using | # blks written using |
| extended ribs | extended ribs |
|-------------------------------------------------|
UNICDA | Previous cont. of RH | Addr of active DDB |
|-------------------------------------------------|
UNIGEN | Generation number of UDB |
| (AOSed when unit is dismounted) |
|-------------------------------------------------|
UNIRCV | # of hung unit retries without success |
|-------------------------------------------------|
UNISWA | addr of current | distance to swap block |
| SWPLST entry | |
|-------------------------------------------------|
UNISWD | Distance to swap cylinder |
|-------------------------------------------------|
UNIQUL | Length of position wait queue |
|-------------------------------------------------|
UNIBUC | # of blocks in 10/11 compatibility mode |
|-------------------------------------------------|
UNIDIA | Job # of job shutting| Addr of DDB of job |
| down I/O (DIAG. UUO) | shutting down I/O (DIAG.)|
|-------------------------------------------------|
UNISER | Drive serial number |
|-------------------------------------------------|
*UNI2ND | 0,,alternate if main/-1,, main if alternate |
|-------------------------------------------------|
Page 230
|-------------------------------------------------|
UNITIM | Hung-timer |
|-------------------------------------------------|
UNIJOB | Previous RH UNIJOB | Job no. of RH UNICDA |
|-------------------------------------------------|
*UNIAJB | DA resource status word |
|-------------------------------------------------|
UNIDS2 | Bit 0 (U2PNRM) = 1 if non-removable media |
| Bit 1 (U2PPGA) = 1 if port vanished without |
| off-line interrupt |
|-------------------------------------------------|
UNILTM | Universal date/time of lock on structure |
|-------------------------------------------------|
UNISPT | RH is address of storage allocation |
| pointers (SAT) table |
|-------------------------------------------------|
UNIPGT | Page quarter turns | Page turns |
|(No. of times RIB was reread to get new pointers)|
|-------------------------------------------------|
UNICRC | No. of monitor cache read calls |
|-------------------------------------------------|
UNICRH | No. of monitor cache read hits |
|-------------------------------------------------|
UNICWC | No. of monitor cache write calls |
|-------------------------------------------------|
UNICWH | No. of monitor cache write hits |
|-------------------------------------------------|
UNICBK | No. of monitor blocks cached for this unit |
|-------------------------------------------------|
UNILAS | Last command issued to massbus device |
|-------------------------------------------------|
UNISCR | Contents of control register at first error |
|-------------------------------------------------|
UNIHCR | Contents of control register at end |
|-------------------------------------------------|
UNISDR | Contents of data register at first error |
|-------------------------------------------------|
UNIHDR | Contents of data register at end |
|-------------------------------------------------|
UNIEBK | Drive registers saved here on error. LH has |
| last error, RH has first error. Last word in |
| block is command which cause the error. |
| (0-16 words, determined by X'ERNO) |
+-------------------------------------------------+
* Indicates that details are shown on following pages.
Page 231
UNISYS word (3)
+--------------------------------------------------------+
| Next UDB in system | SIC | | LUN |
+--------------------------------------------------------+
0 17 18 25 30 35
Word Bits Byte Description
UNISYS 0-17 Core address of next UDB in
system. Zero indicates last
unit.
UNISIC 18-25 UNYSIC Number of SAT blocks in core
for this unit.
UNILUN 30-35 UNYLUN Logical unit number within
file structure for unit
UNISWP Word (7)
+-------------------------------------------------------+
|Next UDB for swapping | | CFS | K for swapping |
+-------------------------------------------------------+
0 17 20 22 23 35
UNISWP 0-17 Address of next UDB for
swapping
UNIFCS 20-22 UNYCFS Swapping class of unit
UNIK4S 23-35 UNYK4S Number of K for swapping
on the unit
UNISTS Word (36)
+-------------------------------------------------------+
| Code |
+-------------------------------------------------------+
0 35
ICOD 0 Unit idle
SWCOD 1 Obsolete
SCOD 2 Obsolete
PWCOD 3 Position wait
PCOD 4 Positioning
TWCOD 5 Waiting to transfer data
TCOD 6 Transferring data
MDACOD 7 Unit useable only by MDA (mountable
device allocator)
OWCOD 10 Operator wait, file in transfer state
OCOD 11 Operator wait, no file active
OW2COD 12 Same as OWCOD, but no message once a minute
O2COD 13 Same as OCOD, but no message once a minute
Page 232
UNICCT Word (37)
+-------------------------------------------------------+
| Section | BCT | # of channel termination errors |
+-------------------------------------------------------+
0 8 9 17 18 35
UNISNS 0-8 UNYSNS Section number of swapping
SAT table
UNIBCT 9-17 UNYBCT Number of slots left in BAT
block for unit
UNICCT 18-35 Number of channel termination
errors on this unit
UNICHR Word (47)
+-------------------------------------------------------+
| BPC | BPT | Blocks per cylinder |
+-------------------------------------------------------+
0 8 9 17 18 35
UNIBPC 0-8 UNYBPC Number of blocks per cluster
UNIBPT 9-17 UNYBPT Number of blocks per track
UNIBPY 18-35 UNYBPY Number of blocks per cylinder
UNICPS Word (50)
+-------------------------------------------------------+
| WPS | | SPU | CPS |
+-------------------------------------------------------+
0 8 9 10 17 18 35
UNIWPS 0-8 UNYWPS Number of words per SAT block
UNISPU 9-17 UNYSPU Number of SAT blocks on the unit
UNICPS 18-35 UNYCPS Number of clusters per SAT
Page 233
UNIDES Word (55)
+-------------------------------------------------------+
| Bits |
+-------------------------------------------------------+
Word Bit Label or
Label Bit Byte Pointer Content
UNIDES 0 UNPRHB Monitor must reread home
block to ensure pack ID
correct. Set when a pack
goes offline.
UNIDES 1 UNPOFL Unit is offline.
UNIDES 2 UNPHWP Unit is hardware write
protected
UNIDES 3 UNPSWP Unit is in a structure
which is software write-
protected.
UNIDES 4 UNPSAF Unit is in a single access
structure.
UNIDES 5 UNPZMT Structure mount count is
zero.
UNIPRF 6 UNPPRF Unit is in a private
structure.
UNIUST 7-8 Unit status, as follows:
UNVPIM 0 - unit is up and pack
mounted.
UNVPBM 1 - unit is up and pack is
being mounted.
UNVNPM 2 - unit is up, but pack
is not mounted.
UNVDWN 3 - unit is down.
UNIDES 9 UNPMSB Unit has more than one SAT
block.
UNIDES 10 UNPNNA No new access on structure.
UNIAWL 11 UNPAWL Structure is write-protected for
all jobs.
UNIDES 12 UNPFUS Unit got a file-unsafe.
UNIWMD 13 UNPWMD Unit waiting for MDA to do
something.
UNIDES 14 UNPALT Unit is dual-ported.
15 UNPUSI Unit status is inconsistent.
16 UNPRSS Removing swapping space from unit.
UNISCN 18-20 Data channel number
Page 234
Word Bit Label or
Label Bit Byte Pointer Content
UNIKTP 21-26 UNYKTP Controller type, as follows:
TYPDR 0 - DR (Future drum, if any)
TYPFH 1 - FH RC10 (Burroughs disk or
Bryant drum)
TYPDP 2 - DP RP10 (RP01-03 disks)
TYPMD 3 - MD Bryant mass disk
TYPFS 4 - FS RH10 with RS04
TYPRP 5 - RP RH10 with RP04-06
TYPRN 6 - RH20/RP20
UNIKNM 27-29 UNYKNM Controller number within type.
UNIUTP 30-32 UNYUTP Unit type
UNIPUN 33-35 UNYPUN Physical unit number within
controller.
Notes:
1. This word is returned by the DSKCHR UUO. Those items marked
with an asterisk are returned by the DSKCHR UUO.
2. Controller type starts at zero (for example, DPA=0, DPB=1,
and so on).
Page 235
UNI2ND Word
+-------------------------------------------+
| Dual port flag | UDB address |
+-------------------------------------------+
0 17 18 35
Entire word is zero if this unit is not being accessed through dual
ports. For units which are dual ported, UNI2ND will be one of the
following:
XWD 0,UDB-addr-of-alternate If this is the main port for the
unit
XWD -1,UDB-addr-of-main If this is the alternate port
UNIAJB Word
1. Is -1 if no DA in progress on this unit
2. Is +n if job n is allocating but no other jobs are waiting.
3. Is n,,n is job n is allocating and others are waiting to use
the DA resource.
Page 236
Name: UFB -- UFD Data Block
Description: One data block for every UFD/file structure pair which
has an active file. All blocks for a file structure
are linked together.
Defined in: COMMOD
Used by: FILFND, FILIO, FILUUO
Format:
+-------------------------------------------------------+
UFBTAL | Total of reserved + free blocks left in this UFD |
|-------------------------------------------------------|
*UFBPPB |Next UFB, this user | privileges | UN1 | |
|-------------------------------------------------------|
UFBPT1 | First retrieval pointer to UFD |
|-------------------------------------------------------|
UFBWRT | FCFS quota | Nr. blks |
|-------------------------------------------------------|
UFBFSN | FSN | |
|-------------------------------------------------------|
UFBAUJ | Equals n is job n owns the AU for this UFB |
|-------------------------------------------------------|
UFBWAT | Non-zero is a job is waiting for the AU resource |
+-------------------------------------------------------+
Notes:
UFBTAL will go negative if the user has exceeded quota and is using
overdraw. No new ENTERs allowed if this is 0 or negative. Total
includes RIBs.
UFBWRT - Bits 0-26 contain the logged-in first-come/first-served
quota. This is never decremented. Bits 27-35 contain the number of
blocks written in the UFD itself.
Page 237
UFBPPB Byte Definitions:
+-------------------------------------------------------+
(1)| | | | | |
+-------------------------------------------------------+
0 17 18 26 28 32 35
Word
Label Bits Symbol Content
UFBPPB 0-17 Core address of next UFD data
block for this PPN (in another
file structure).
UFBPRV 18-26 UFYPRV Access privileges for this UFD
in this structure.
Byte pointer UFYPRV used to
load this byte into AC.
UFRXLK = 4 Can do LOOKUPs
UFRXCR = 2 Can create files
UFRXRD = 1 Can read directory
UFB1PT 27 UFP1PT Set if UFBPT1 is the only
retrieval pointer for this UFD.
UFBUN1 28-31 COYUN1 Logical unit number within file
structure associated with first
retrieval pointer.
Page 238
Name: UFD -- User File Directory
Description: Contains the locations for all files in the structure
belonging to a particular project programmer number.
One UFD in each structure for each project programmer
number having any files in that structure.
Defined in: COMMOD
Used by: FILFND, FILIO, FILUUO
Format:
+-------------------------------------+
| File 1 entry |
|-------------------------------------|
| File 2 entry |
|-------------------------------------|
| File 3 entry |
|-------------------------------------|
| |
+-------------------------------------+
Format of each entry:
+-------------------------------------+
UFDNAM | File name in SIXBIT |
|-------------------------------------|
UFDEXT | Extension | CFP | UFDCFP
+-------------------------------------+
Note:
See MFD for discussion of compressed file pointers (CFPs).
Page 239
Name: UPT -- User Process Table
Description: Contains information about each job, and is used by the
monitor to control memory mapping, scheduling, and I/O,
and contains "scratch space" for dynamically changing
variables about the job.
The UPT is pointed to by the GETTAB table .GTUPM (100),
and has been called the User Page Map Page (UPMP) for
many years. Actually, the UPT points to the page map
for user section 0, but contains no page mapping
information itself.
Defined in: S.MAC
Format:
Symbol Offset Map
+------------------------------------------------------+
JOBPDO 0 / Push down list (156 words) /
|------------------------------------------------------|
JOBPRO 156 | Protected job data area (24 words) |
|------------------------------------------------------|
.UPLPS 202 | Saved pointer to current virtual page number |
|------------------------------------------------------|
.UPSLX 203 | | SWPLST index |
|------------------------------------------------------|
.UPTMP 204 | Temporary locations used for swapping (6 words) |
|------------------------------------------------------|
.UPUAC 212 | Block of 20 ACs used to save job's ACs |
| while getting PFH.EXE |
|------------------------------------------------------|
.UPFFT 232 | Virtual time of first page fault |
|------------------------------------------------------|
.UPLFT 233 | Virtual time of last fault |
|------------------------------------------------------|
.UPVCT 234 | Real page faults | Faults when page is in core|
|------------------------------------------------------|
.UPREL 235 | Highest location gotten by CORE UUO or command |
|------------------------------------------------------|
.UPTMI 236 | Interval for virtual time interrupts |
|------------------------------------------------------|
.UPTMC 237 | Count-down counters for virtual timer interrupts |
|------------------------------------------------------|
.UPNXP 240 | Page range as specified in PAGE. arg. list |
|------------------------------------------------------|
.UPJOB 241 | Job number |
|------------------------------------------------------|
.UPMEM 242 | Total virtual memory a job has |
|------------------------------------------------------|
.UPHSE 243 | Virtual address of the end of the high segment |
|------------------------------------------------------|
.UPHSS 244 | Virtual address of the start of the high segment |
|------------------------------------------------------|
Page 240
Symbol Offset Map
|------------------------------------------------------|
.UPVRT 245 |Non-zero if job is virtual (LH=high seg.,RH=low seg.) |
|------------------------------------------------------|
.UPBTS 246 | Random collection of bits (see below) |
|------------------------------------------------------|
.UPANA 247 | Count of non-accessible pages |
|------------------------------------------------------|
.UPICT 250 | Incremental count of page faults |
|------------------------------------------------------|
.UPPFH 251 | Copy of .JBPFH on swap-out |
|------------------------------------------------------|
.UPFOP 252 | Used by FILOP. to recover from a page fail |
|------------------------------------------------------|
SPYTAB 253 / Spy pages table (17 words) /
|------------------------------------------------------|
.UPHVA 272 | Used for address checking at interrupt level |
|------------------------------------------------------|
.UPLST 273 |Pointer to swappable DDBs | |
|------------------------------------------------------|
.UPFCC 274 | Header for cached free space |
|------------------------------------------------------|
.UPFCU 275 | Header for uncached free space |
|------------------------------------------------------|
.UPFCD 276 |Core loc. of SWITCH.INI | Header for restricted |
| | free space |
|------------------------------------------------------|
.UPLNM 277 |Ptr. to logical name space| T4 |
|------------------------------------------------------|
.UPCTA 300 | |Extended channel table loc.|
|------------------------------------------------------|
.UPMBF 301 | Address of monitor buffer |
|------------------------------------------------------|
.UPLBF 302 | Flag to indicate use of extra page of directory |
| 0=don't get, -n=IOWD for it, n=can get |
|------------------------------------------------------|
.UPSBF 303 | Saved .UPMBF when doing 4-block read |
|------------------------------------------------------|
.UPEND 304 | Last word allocated to UPMP |
|------------------------------------------------------|
.UPPFT 420 | Addr of user page fault trap instruction |
|------------------------------------------------------|
.UPAOT 421 | Addr of user arithmetic trap instruction |
|------------------------------------------------------|
.UPPDT 422 | Addr of user push down list overflow instruction |
|------------------------------------------------------|
.UP03T 423 | Addr of user trap 3 instruction |
|------------------------------------------------------|
.UPMUO 424 | MUUO flags | MUUO opcode, AC |
|------------------------------------------------------|
Page 241
Symbol Offset Map
|------------------------------------------------------|
.UPMUP 425 | MUUO old PC |
|------------------------------------------------------|
.UPMUE 426 | MUUO effective address |
|------------------------------------------------------|
.UPUPF 427 | Addr of user page fail word |
|------------------------------------------------------|
.UPMTS 430 / MUUO trap vector (10 words) /
.UPMTE 437 / End of trap vector /
|------------------------------------------------------|
WSBTAB 440 | Working set bit table (17 words) |
|------------------------------------------------------|
AABTAB 457 | Access allowed bit table (17 words) |
|------------------------------------------------------|
476 / Unused (2 words) /
|------------------------------------------------------|
.LMPFW 500 | Page fail word |
|------------------------------------------------------|
.LMPFP 501 | Page fail old PC word (2 words) |
|------------------------------------------------------|
503 | Page fail new PC word |
|------------------------------------------------------|
.LMEBH 504 | EBOX cycle meter count (high-order bits) |
|------------------------------------------------------|
.LMEBL 505 | EBOX cycle meter count (low-order bits) |
|------------------------------------------------------|
.LMMBH 506 | MBOX cycle meter count (high-order bits) |
|------------------------------------------------------|
.LMMBL 507 | MBOX cycle meter count (low-order bits) |
|------------------------------------------------------|
/ Unused /
|------------------------------------------------------|
SECTAB 540 | Address of user's Section 0 page map page |
|------------------------------------------------------|
. . . / Reserved for use by DIGITAL /
777 / /
+------------------------------------------------------+
Page 242
Notes:
The bits defined in .UPBTS are:
Bits Symbol Meaning
1 UP.WHC Working set has changed.
2 UP.MGP Monitor got PFH
3 UP.GET Running GET to get program that is
to big to fit in core
4 UP.SAA Set access allowed immediately
5 UP.CSP Core image may contain SPY pages
6 UP.MPF Merging PFH
7 UP.MMO Job owned and released MM resource
over scheduler call
8 UP.PGB Paging I/O pages have not been returned
9 UP.IYB "In-your-behalf" PPN
10 UP.WSS Working set is scrambled
11 UP.DST Don't put TTY at monitor level
12 UP.CXO Core image (not just high seg.)
is execute-only
13 UP.FIP FILOP. in progress
14 UP.DDW Don't diddle working set
15 UP.MIP Migrate set lock for this job
18-35 UP.SWS Address of saved copy of working set
Page 243
Name: UUOTAB -- UUO Dispatch Address Table
Description: Contains address of operator-dependent UUO routines.
Table is in order of UUO op code, with two addresses
per entry. Entry n contains entries corresponding to
op codes 40 + 2n, 41 + 2n.
Entries corresponding to invalid op codes contain the
address of UUOERR. Some of these are reserved for
future use by DIGITAL, others for customers. See
current listing for specific examples.
Defined in: UUOCON
Used by: UUOCON
Format:
+-------------------------------------------------------+
| Adr for op code 40 | Adr for op code 41 |
|-------------------------------------------------------|
| Adr for op code 42 | Adr for op code 43 |
|-------------------------------------------------------|
/ . /
/ . /
|-------------------------------------------------------|
| Adr for op code 76 | Adr for op code 77 |
+-------------------------------------------------------+
Page 244
Name: WSBTAB -- Working Set Bit Table
Description: This bit table is found in the UPT from location 440 to
456. If a bit is on in this table, then the relative
page is in core.
Defined in: S.MAC
Used by: VMSER
Format:
+-------------------------------------+
| |
| |
| |
|-------------------------------------|
440 | | | | | | |
|-------------------------------------|
| | WSBTAB
| |
|-------------------------------------|
456 | | | | | | |
|-------------------------------------|
| |
APPENDIX A
ANF-10 TABLES DESCRIPTIONS
List of ANF-10 Tables
Chunk words
Device Data Blocks
DH-11 Blocks
DMC-11 Blocks
Line Blocks
Line Control Blocks
Phase II Link Entry Blocks
Station Control Blocks
Task Blocks
To-Eleven Blocks
To-Ten Blocks
ANF-10 TABLES DESCRIPTIONS Page A-2
Name: Chunk Words
Description: Describes the format of chunks for messages.
Defined in: DNCNFG.P11
+---------------------------------------------------------------+
=0 | Link to next chunk in |
| current message |
|---------------------------------------------------------------|
CN.MLK | Link to next message |
| (or 0 if none) |
|---------------------------------------------------------------|
CN.LEN | Message length, including NCL header, |
| but excluding BCC |
|---------------------------------------------------------------|
CN.TIM | DDCMP timer |
|---------------------------------------------------------------|
CN.DDB | Address of DDB sending this message |
| (depends on DEVN+FT.DTE not equal to 0) |
|---------------------------------------------------------------|
CN.SCB | Pointer to SCB window for message |
|---------------------------------------------------------------|
CN.ADR | Address of next byte to use |
CN.DDC | (start of DDCMP header: CN.DDC) |
|---------------------------------------------------------------|
CN.CNT | Count of bytes left in message |
+---------------------------------------------------------------+
CN.NCN | NCN saved here |
|---------------------------------------------------------------|
| DDCMP header BCC |
|---------------------------------------------------------------|
CN.NCT | NCT byte of NCL message |
| (the NCL message begins here) |
|---------------------------------------------------------------|
DATA | This is the message data |
| |
+---------------------------------------------------------------+
CNKSIZ==>
Notes:
CNKLN1 = Max. amount of data in first chunk of message
(CNKSIZ - CN.NCT)
CN.DT2 = Length of header in succeeding chunks of message
CNKLN2 = Max. amount of data in succeeding chunks of message
(CNKSIZ - CN.DT2)
ANF-10 TABLES DESCRIPTIONS Page A-3
Name: Device Data Blocks
Description: Contains information needed to perform I/O operations.
One such block for each device.
Defined in: DNDEV.P11
+---------------------------------------------------------------+
DB.STS | Status bits |
| |
|DS.|DS.|DS.|DS.|DS.|DS.|DS.|DS.|DS.| |DS.|DS.|DS.|DS.|DS.|DS.|
|CON|XDS|TTY|IQU|EPL|XCH|COR|Q10|PAU| |DIE|ACT|OUT|QUE|DSC|CAC|
|---------------------------------------------------------------|
DB.LNK | Link address to |
| next DDB |
|---------------------------------------------------------------|
DB.HDW | Hardware address for device |
DB.DHB | |
|---------------------------------------------------------------|
DB.RPC | Default starting address |
| (moved to DB.OPC by CLRDDB) |
|---------------------------------------------------------------|
DB.TPC | Timer-runout dispatch address |
| |
|---------------------------------------------------------------|
DB.DVT | Device attributes |
| |
|---------------------------------------------------------------|
DB.DVU | Device controller type | Device unit type |
DB.DVV | | |
|---------------------------------------------------------------|
DB.WID | Carriage width for terminals |
DB.RLN | Record length for other devices |
|---------------------------------------------------------------|
DB.ACR | Unit number | Auto-CRLF point |
DB.UNI | | |
|---------------------------------------------------------------|
DB.OBJ | NCL remote object | NCL object type |
DB.ROT | type | |
|---------------------------------------------------------------|
DB.MDR |Maximum number of chunks device| Maximum number of output |
DB.CHK | can have before sending DRQ | data requests (DRQ) |
|---------------------------------------------------------------|
DB.TYP | Restricted node number | Type of device |
DB.RNN | (Depends on FT.RNN = 1) | |
+---------------------------------------------------------------+
ANF-10 TABLES DESCRIPTIONS Page A-4
+---------------------------------------------------------------+
DB.PFH | Node number to reconnect to | Preferred host to connect to |
DB.RCN | (Depends on FTHOST) | (Depends on FT.PFH) |
|---------------------------------------------------------------|
DB.OLA | Our link address |
| |
|---------------------------------------------------------------|
DB.RDT | Remote data type (see below) |
| depends on FT.RDM, FT.RDP, or FT.RDA |
+---------------------------------------------------------------+
DB.TSK | Address of task for this device: Printer get task |
| (depends on FT.TSK= 1) |
|---------------------------------------------------------------|
+2 | Keyboard get task |
| (depends on FT.TSK= 1) |
|---------------------------------------------------------------|
+4 | Printer put task |
| (depends on FT.TSK= 1) |
|---------------------------------------------------------------|
+6 | Keyboard put task |
| (depends on FT.TSK= 1) |
|---------------------------------------------------------------|
DB.DCS | Device control status |
DB.ZER | |
|TS.|TS.|RNG|TS.|TS.|TS.|TS.|TS.|TS.|TS.|TS.|TS.|TS.|TS.|TS.|TS.|
|ADL|DSR|CAR|DTR|CRL|LMD|TIW|FRM|TAB|TAP|PAG|IMO|IMI|FRZ|.LC|DFE|
|---------------------------------------------------------------|
DB.MML | Maximum message length |
| for device |
|---------------------------------------------------------------|
DB.DCM | | Data code and mode |
| | (see below) |
| | | | | | | | | |DCM|DCM|DCM|DCM|DCM|DCM|DCM|
| | | | | | | | | |.CF|.XX|.DI|.HO|.IM|.EB|.AS|
|---------------------------------------------------------------|
DB.RLA | Remote link address |
| |
|---------------------------------------------------------------|
DB.SCB | SCB address for user of this device |
| |
|---------------------------------------------------------------|
DB.OBF | Pointer to From-10 (output) buffer |
| |
|---------------------------------------------------------------|
DB.OLN | Length of current message |
| |
|---------------------------------------------------------------|
DB.OCN | Count for current sub-message |
| |
+---------------------------------------------------------------+
ANF-10 TABLES DESCRIPTIONS Page A-5
+---------------------------------------------------------------+
DB.OAD | Current byte pointer |
| |
|---------------------------------------------------------------|
DB.OPC | PC to run at when in run queue |
| |
|---------------------------------------------------------------|
DB.ODR | Current column number | Number of output |
DB.COL | | data requests |
|---------------------------------------------------------------|
DB.IDR | Compressed character | Number of input |
DB.CCN | Count | data requests |
|---------------------------------------------------------------|
DB.TIM | Timer type code | Timer value |
| |Negative=seconds, Positive=Jiff|
|---------------------------------------------------------------|
DB.HLD | Character being held |
| (used when outputting free CRLF,...) |
|---------------------------------------------------------------|
DB.VFU | Pointer to line-printer's VFU |
| |
|---------------------------------------------------------------|
DB.CHR | Character being uncompressed |
| |
|---------------------------------------------------------------|
DB.IBF | Pointer to To-10 (input) buffers |
| |
+---------------------------------------------------------------+
DB.ICC | | Input character count |
| | |
|---------------------------------------------------------------|
DB.ICN | Input message count: total message |
| |
|---------------------------------------------------------------|
+2 | Incremental count for current sub-message |
| |
|---------------------------------------------------------------|
+4 | Address of field for byte count |
| |
|---------------------------------------------------------------|
DB.IAD | Input character address |
| |
+---------------------------------------------------------------+
DB.SIZ==>
End of standard DDB.
The following pages contain the terminal-dependent data.
ANF-10 TABLES DESCRIPTIONS Page A-6
+---------------------------------------------------------------+
DB.BIT | Line number mask: |
| PDP-11 bit number "n" is set for line number "n" |
|---------------------------------------------------------------|
DB..LN | Fill timer for <^H> <010> | 4 bit binary line number |
DB.FIL | (backspace) | |
|---------------------------------------------------------------|
| Fill timer for <LF> <012> | Fill timer for <^I> <011> |
| (line feed) | (tab) |
|---------------------------------------------------------------|
| Fill timer for <FF> <014> | Fill timer for <VT> <013> |
| (form feed) | (vertical tab) |
|---------------------------------------------------------------|
| Serial number for | Fill time for <CR> <015> |
DB.EPL | Echo pipeline marker (EPL) | (carriage return) |
|---------------------------------------------------------------|
DB.LCB | Pointer to LCB |
| for physical line to user of this device |
+---------------------------------------------------------------+
DB.DNS | DN-11 timer (seconds) |DN-11 table displacement & stat|
DB.DNT | (depends on FTDN11) | (depends on FTDN11) |
|---------------------------------------------------------------|
DB.TTS | TTY status (see below) |
| |
| | | | | | | | | | | | | | |CHR|TT.|
| | | | | | | | | | | | | | |APL|APL|
|---------------------------------------------------------------|
DB.DNR | DN-11 request word (see below) |
DB.TZR | (depends on FTDN11) |
|---------------------------------------------------------------|
DB.BCD | BCD terminal status (see below) |
| (depends on FT2741) |
|BCD|BCD|BCD|BCD|BCD|<==|BCD|==>|BCD|BCD|BCD|BCD|BCD|BCD|BCD|BCD|
|274|XRB|KBL|PRL|CDB| |COD| |BRK|UPS|OCR|RCR|CON|TDY|APL|HDB|
+---------------------------------------------------------------+
DB.STR | Pointer to string to type |
| |
|---------------------------------------------------------------|
DB.TOC | Number of output characters in chunk |
| |
|---------------------------------------------------------------|
DB.TOB | TTY output buffer: |
| pointer to first character |
|---------------------------------------------------------------|
+2 | Pointer to last character |
| |
+---------------------------------------------------------------+
ANF-10 TABLES DESCRIPTIONS Page A-7
+---------------------------------------------------------------+
DB.ASP | Character for | ASAP character |
DB.BUF | DH-11 to type | (^G, ...) |
|---------------------------------------------------------------|
DB.FTM | Fill time for current character |
| |
|---------------------------------------------------------------|
DB.PCN | Printer count (number of characters from NCL) |
| (this and the following words depend on FT.TSK = 1) |
|---------------------------------------------------------------|
DB.PPT | Printer putter pointer |
| |
|---------------------------------------------------------------|
DB.PTK | Printer taker pointer |
| |
|---------------------------------------------------------------|
DB.KPT | Keyboard putter pointer |
| |
|---------------------------------------------------------------|
DB.KTK | Keyboard taker pointer |
| |
|---------------------------------------------------------------|
DB.KQU | Beginning of keyboard queue |
| (length is "TQS" words) |
|---------------------------------------------------------------|
| (End of keyboard queue) |
| |
+---------------------------------------------------------------+
DB.TSZ==>
Notes:
The symbol FIRDDB points to the first DDB in the system.
Bits in DB.STS word:
*=Bits cleared on DDB initializaion ("CLRDDB")
Bit Label Value Description
DS.CAC 000001 Send out CONNECT ACCEPT
DS.DSC 000002 Send out DISCONNECT CONFIRM
DS.QUE* 000004 Device has a RUN request in queue
DS.OUT* 000010 Device does output
DS.ACT* 000020 Device is ACTIVE
DS.DIE 000040 Abort, other end of connection died
DS.IST 000100 Input stopped by XOFF
DS.PAU 000200 Task is using TTY for input
(FT.TSK=1)
DS.Q10 000400 Task has queued characters to ten
(FT.TSK=1)
DS.COR 001000 Device wants core to run
DS.XCH 002000 Send CHARACTERISTICS message
DS.EPL 004000 Send echo pipeline marker
DS.IQU 010000 Input has been queued to NCL
ANF-10 TABLES DESCRIPTIONS Page A-8
DS.TTY* 020000 Device is a terminal
DS.XDS 040000 Send DB.DCS to other node
DS.CON 100000 Device is CONNECTED
ANF-10 TABLES DESCRIPTIONS Page A-9
Meanings of DB.RDT (Remote Data Type):
Bit Label Value Description
RDEMPT 000001 Multipoint
RDEPTP 000002 Point-to-Point
RDEASC 000004 ASCII
RDEBRK 100000 ASCII break was seen
Start zeroing at DB.ZER on a restart.
Meanings of DB.DCS bits for terminals:
TS.DFE 000001 Deferred echo mode
TS..LC* 000002 Lower case mode
TS.FRZ 000004 Output frozen by XOFF
TS.IMI 000010 Input image mode
TS.IMO 000020 Output image mode
TS.PAG 000040 TTY paging enabled (XON/XOFF)
TS.TAP 000100 Papertape mode
TS.TAB* 000200 Hardware tabs
TS.FRM* 000400 Hardware form feeds
TS.TIW 001000 Terminal is in input wait
TS.LMD 002000 Terminal is in line mode
TS.CRL 004000 No free CRLF
TS.DTR* 010000 DTR is present on line
TS.RNG* 020000 RING is present on line
TS.CAR* 020000 CARRIER is present on line
TS.DSR* 040000 DSR is present on line
TS.ADL 100000 Line is an auto-dial line
(BELL 801)
* = Preserved on a system restart
DB.DCS bits for line printers:
LPT.FE 000001 Fatal error
LPT.FL 000002 Offline
LPT.PZ 000004 Page count zero
LPT.VE 000010 VFU error
LPT.RE 000020 RAM error
LPT.IC 000040 Illegal
LPT.OV 000100 Optical VFU
LPT.PE 000200 Parity
LPT.DE 000400 Demand
LPT.ME 001000 Master synch error
LPT.RV 002000 Receiving VFU data from the 10
LPT.RR 004000 Receiving RAM data from the 10
ANF-10 TABLES DESCRIPTIONS Page A-10
Meanings of DB.DCM bits:
Bit Label Value Description
DCM.AS 001 ASCII
DCM.EB 002 EBCDIC
DCM.IM 004 Image mode
DCM.HO 010 Hollerith mode (card reader only)
DCM.DI 020 DEC Image mode (card reader only)
DCM.XX 040 Reserved
DCM.CF 100 Compressed data mode
Meaning of DB.TTS bits:
TT.APL 000001 Terminal is in APL mode
CHRAPL 000002 This is an APL character
Meanings of DB.BCD BITS (used only if FT2741 is non-zero):
BCD274 100000 This line is a 2741
BCDXRB 040000 Sending a reverse break
BCDKBL 040000 Keyboard is currently locked
BCDPRL 010000 Printer is currently locked
BCDCDB 004000 Last time line was reversed was to get
input
BCDCOD 003400 Code for current golf ball
BCDBRK 000200 Currently processing a receive BREAK
BCDUPS 000100 Set if in upper shift mode
BCDOCR 000040 Set if last character xmitted was a
<CR>
BCDRCR 000020 Set if last character received was a
<CR>
BCDCON 000010 Set if last character was a control
fan (^)
BCDTDY 000004 Set if terminal is in TTY TIDY mode
BCDAPL 000002 Set if terminal is in APL mode
BCDHDB 000001 Set if terminal has DEBREAK feature
Value of TSQ (number of words in keyboard queue) is 20 octal.
ANF-10 TABLES DESCRIPTIONS Page A-11
Name: DH-11 Blocks
Description: Contain device dependent information pertaining to each
DH11. One such block for each DH11. Referenced by DH#BLK
where "#" is the DH-11 number (0,1,2,...)
Defined in: DNDH11.P11
+---------------------------------------------------------------+
=0 | Hardware address of this DH-11 |
| (0 if not present) |
|---------------------------------------------------------------|
DHBBAR | Active lines mask |
| PDP-11 bit "n" is on if line "n" is active |
|---------------------------------------------------------------|
DHB.BN | Line number on node of first line |
| on this DH-11 |
|---------------------------------------------------------------|
DHB.DM | Address of DM-11BB for this DH-11 |
| (0 if none) |
|---------------------------------------------------------------|
DHB.VC | Vector address of this DH-11 |
| |
|---------------------------------------------------------------|
DHB.LC | Start of the LCBs for this DH-11 |
| |
|---------------------------------------------------------------|
| This space contains the line control blocks |
| (LC..SZ X 20) words |
+---------------------------------------------------------------+
DHB.SZ==>
Notes:
DHB.SZ = DHB.LC + (20-LC..SZ)
ANF-10 TABLES DESCRIPTIONS Page A-12
Name: DMC-11 Blocks
Description: Contain pointers to DMC-11 buffers. Allocated within
each Line Block on systems with DMC-11s.
Defined in: DNCDMC.P11
+---------------------------------------------------------------+
CBQ.CT | Queue length |
| |
|---------------------------------------------------------------|
CBQ.FS | Address of first buffer |
| |
|---------------------------------------------------------------|
CBQ.LS | Address of last buffer |
| |
+---------------------------------------------------------------+
CBQ.LN ==>
ANF-10 TABLES DESCRIPTIONS Page A-13
Name: Line Blocks
Description: Contain information for DDCMP lines. One block for each
DDCMP line. Referenced by LBLK# where "#" is the line
number (0,1,2,...NTLINE).
Defined in: DNCNFG.P11
+---------------------------------------------------------------+
LB.STS | Line status bits |
| (see below) |
|LS.|MPT|LS.|LS.|LS.|LS.|LS.|LS.|LS.|LS.|LS.|LS.|LS.|LS.|LS.|LS.|
|.SS|NSP|SSY|XDT|XCT|.RN|.XG|.RG|.XQ|.RQ|NRP|XRP|XAK|XNK|STK|.ST|
|---------------------------------------------------------------|
LB.ST5 | Second status word |
| (see below) |
|L2.| | | | | | | | | | | | | | | |
|DDP| | | | | | | | | | | | | | | |
|---------------------------------------------------------------|
LB.LNK | Link to next line block |
| |
|---------------------------------------------------------------|
LB.DDB | Addr. of associated DDP device |
| (depends on FT.DDP not equal to 0) |
|---------------------------------------------------------------|
LB.BIT | Bit corresponding to line number |
| (PDP-11 bit number "n" is on for line number "n") |
|---------------------------------------------------------------|
LB.LNU | Device service routine code | Line number |
LB.DVS | (see below) | (binary) |
+---------------------------------------------------------------+
LB.LVL | Level for link |
| |
|---------------------------------------------------------------|
LB.DHB | Asynch: DH11/DZ11 device control block |
LB.SLA | Synch: line hardware address |
|---------------------------------------------------------------|
LB..LN | Asynch: 4 bit line number |
LB.SLV | Synch: synchronous line vector address |
|---------------------------------------------------------------|
LB.LCB | DH11/DZ11 only: line control block address |
| (Depends on DH.MAX+DZ.MAX > 0) |
|---------------------------------------------------------------|
LB.MPL | Link to next line drop for multipoint |
| (depends on FT.MPT) |
+---------------------------------------------------------------+
ANF-10 TABLES DESCRIPTIONS Page A-14
+---------------------------------------------------------------+
LB.MPN | Multipoint next station selection control |
| (depends on FT.MPT) |
|---------------------------------------------------------------|
LB.MPA | Multipoint select | Multipoint station |
LB.MPT | Timer | Address |
|---------------------------------------------------------------|
LB.MPS | Additional control | Multipoint node |
| status | status |
| | | | | | | | |MP.|MP.|MP.|MP.| |MP.| |MT.|
| | | | | | | | |SEL|OFF|SOL|SNM| |RTS| |CMS|
+--------------------------------------------------------------+
LB.NSS | NSP status (see below) |
| (Depends on FTDCP1) |
| |NS.|NS.|NS.| |NS.| | | | | | | | | | |
| |STR|EDS|CNF| |NSQ| | | | | | | | | | |
|---------------------------------------------------------------|
LB.NNM | Node number he | Node number for |
LB.DNA | talks to | NSP node |
|---------------------------------------------------------------|
LB.MML | Maximum message length |
| |
|---------------------------------------------------------------|
LB.SNM | Software ID | Station name |
LB.SID | (SIDSIZ bytes) | (SNMSIZ bytes) |
|---------------------------------------------------------------|
LB.DAT | Configuration information | Date |
LB.CNF | (NSPCFS bytes) | (DATESZ bytes) |
|---------------------------------------------------------------|
LB.VNN | ANF node name for DECNET | ANF node number for DECNET |
LB.VNM | (depends on FTDCP4) (6 bytes) | (depends on FTDCP3!FTDCP4) |
|---------------------------------------------------------------|
| | |
| | |
|---------------------------------------------------------------|
| | |
| | |
+---------------------------------------------------------------+
| DECNET node number for ANF | |
LB.HNN | | |
|---------------------------------------------------------------|
LB.HNM | | DECNET node name for ANF |
| | (6 bytes) |
|---------------------------------------------------------------|
| | |
| | |
|---------------------------------------------------------------|
| | |
| | |
|---------------------------------------------------------------|
LB.CNN | Options list | ANF node to recieve |
LB.CNF | (NSP$MX+1 bytes) | DECNET connects |
+---------------------------------------------------------------+
ANF-10 TABLES DESCRIPTIONS Page A-15
+---------------------------------------------------------------+
LB.OCN | Count of ACKs received |
| for messages sent |
|---------------------------------------------------------------|
+2 | Total number of NAKs received |
| |
|---------------------------------------------------------------|
+4 | NAKs received for REP responses |
| |
|---------------------------------------------------------------|
+6 | NAKs received because of bad BCC |
| |
|---------------------------------------------------------------|
+10 | NAKs received for no room |
| |
|---------------------------------------------------------------|
LB.ICN | Number of messages received OK |
| |
|---------------------------------------------------------------|
+2 | Total bad messages |
| |
|---------------------------------------------------------------|
+4 | Total transmitted REPs which won |
| NAK responses |
|---------------------------------------------------------------|
LB.BNN | Bootstrapping | Bootstrapping |
| timer | node number |
+---------------------------------------------------------------+
LB.FB | First DMC-11 buffer |
| (depends on DMCN not equal to 0) |
|---------------------------------------------------------------|
LB.BAS | Address of DMC-11 base |
| (depends on DMCN not equal to 0) |
|---------------------------------------------------------------|
LB.WHA | Address of caller of L.DOWN |
| (depends on FTWHYD) |
|---------------------------------------------------------------|
LB.WHS | Copy of LB.OBF+4 | # of last ACKed message |
LB.WHN | (depends on FTWHYD) | (depends on FTWHYD) |
|---------------------------------------------------------------|
LB.STX | For DMC-11: status word |
| For DUP-11: dispatch address for driver |
| | | | | | | | | | | | | |LS2|LS2|LS2|
| | | | | | | | | | | | | |RUN|WAI|MAI|
|---------------------------------------------------------------|
LB.STY | Status word for DUP-11 |
| (depends on FTDUP11) |
| | | | | | | | | | | | | | | |UP$|
| | | | | | | | | | | | | | | |RCC|
+---------------------------------------------------------------+
ANF-10 TABLES DESCRIPTIONS Page A-16
+---------------------------------------------------------------+
LB.NSS | Status word (see below) |
| (depends on FTDCP3 or FTDCP4) |
| | | | | | | | | | | | | |LBS|LBS|LBS|
| | | | | | | | | | | | | |.NQ|.L1|.IC|
|---------------------------------------------------------------|
LB.LEB | Pointer to LEB chain |
| (depends on FTDCP3 or FTDCP4) |
|---------------------------------------------------------------|
LB.LCT | Active link count |
| (depends on FTDCP1) |
|---------------------------------------------------------------|
LB.LKT | Pointer to link table |
| (depends on FTDCP1) |
|---------------------------------------------------------------|
LB.LLE | Last link entry |
| (depends on FTDCP1) |
|---------------------------------------------------------------|
LB.NSS | Status word (see below) |
| (depends on FTDCP3 or FTDCP4) |
| | | | | | | | | | | | | |LBS|LBS|LBS|
| | | | | | | | | | | | | |.NQ|.L1|.IC|
|---------------------------------------------------------------|
LB.LEB | Pointer to LEB chain |
| (depends on FTDCP3 or FTDCP4) |
|---------------------------------------------------------------|
LB.SCB | SCB address for node at other end |
| of this physical link |
|---------------------------------------------------------------|
LB.2ND | Pointer to next line block in the |
| event of parallel lines |
|---------------------------------------------------------------|
LB.REP | REP timer |
| Counted down once a second |
|---------------------------------------------------------------|
LB.ROK | Last message number | Last message number |
LB.LAR | ACK received | received OK |
|---------------------------------------------------------------|
LB.LAP | Highest message | Last message number |
LB.HSN | number sent | ACK processed |
|---------------------------------------------------------------|
LB.RDC | Last NAK code sent | REP timer |
LB.NCD | | (incr once a second) |
|---------------------------------------------------------------|
LB.TRY | |Count of BCC NAKS rcvd for firs|
| |message in queue (under FT.BIG)|
|---------------------------------------------------------------|
LB.XDN | Routine to JSR to on synchronous line |
| transmit done interrupts |
|---------------------------------------------------------------|
LB.CTL | Next control message to transmit |
| (10 bytes) |
+---------------------------------------------------------------+
ANF-10 TABLES DESCRIPTIONS Page A-17
+---------------------------------------------------------------+
LB.COB | Current output buffer |
| Word 1 = Pointer to 1st chunk of current message |
|---------------------------------------------------------------|
+2 | Word 2 = Pointer to current chunk |
| |
|---------------------------------------------------------------|
+4 | Word 3 = Number of bytes left |
| |
|---------------------------------------------------------------|
LB.BOO | Pointer to bootstrap message to send |
| |
|---------------------------------------------------------------|
LB.OBF | Output buffers |
| Word 1 = Address of first buffer |
|---------------------------------------------------------------|
+2 | Word 2 = Address of last buffer (or 0) |
| |
|---------------------------------------------------------------|
+4 | Word 3 = Number of messages in queue |
| |
|---------------------------------------------------------------|
LB.RDN | Dispatch address for receive done |
| |
|---------------------------------------------------------------|
LB.CIB | Current input buffer (current chunk address) |
| |
+---------------------------------------------------------------+
+2 | Number of characters left in message |
| |
+---------------------------------------------------------------+
LB.SXR | Transmitter address #1 |
| |
|---------------------------------------------------------------|
+2 | Transmitter word count #1 |
| |
|---------------------------------------------------------------|
+4 | Transmitter address #2 |
| |
|---------------------------------------------------------------|
+6 | Transmitter word count #2 |
| |
+---------------------------------------------------------------+
ANF-10 TABLES DESCRIPTIONS Page A-18
+---------------------------------------------------------------+
LB.SRR | Receiver address #1 |
| |
|---------------------------------------------------------------|
+2 | Receiver word count #1 |
| |
|---------------------------------------------------------------|
+4 | Receiver address #2 |
| |
|---------------------------------------------------------------|
+6 | Receiver word count #2 |
| |
+---------------------------------------------------------------+
LB.SLE | Count of synchronous line error interrupts |
| (depends on FT.SLB - synchronous line error reporting) |
|---------------------------------------------------------------|
+2 | Hardware status on last error interrupt |
| (depends on FT.SLB - synchronous line error reporting) |
|---------------------------------------------------------------|
+4 | Count of synchronous line xmit timeouts |
| (depends on FT.SLB - synchronous line error reporting) |
|---------------------------------------------------------------|
LB.CTY | Address of string to type on CTY for line |
| (depends on FT.HLP and FT.SLB) |
|---------------------------------------------------------------|
LB.CRS | Synchronous interface status at crash - word 0 |
| (depends on DEBUG and FT.SLB) |
|---------------------------------------------------------------|
+2 | Synchronous interface status at crash - word 1 |
| (depends on DEBUG and FT.SLB) |
|---------------------------------------------------------------|
+4 | Synchronous interface status at crash - word 2 |
| (depends on DEBUG and FT.SLB) |
|---------------------------------------------------------------|
+6 | Synchronous interface status at crash - word 3 |
| (depends on DEBUG and FT.SLB) |
+---------------------------------------------------------------+
LB.IPT | Input putter |
| relative to beginning of line block |
|---------------------------------------------------------------|
LB.ITK | Input taker |
| relative to beginning of line block |
|---------------------------------------------------------------|
LB.IBF | Input buffers: First 8 bytes are DDCMP ctrl msg or header. |
| Word 5 is link to rest of message. Length=5-NINBUF |
+---------------------------------------------------------------+
LB.SIZ==>
This is the end of the standard Line Block.
Optional sections are described on the following pages.
ANF-10 TABLES DESCRIPTIONS Page A-19
This is the DMC-11 specific section of the Line Block, beginning at LB.IBF.
+---------------------------------------------------------------+
LB.INQ | Buffers given to DMC to fill |
| (CBQ.LN words) |
|---------------------------------------------------------------|
LB.IND | Filled buffers returned by DMC |
| (CBQ.LN words) |
|---------------------------------------------------------------|
LB.OUT | Buffers queues to be sent |
| CBQ.LN words. |
|---------------------------------------------------------------|
LB.TMO | Timer to time out DMC-11 |
| |
+---------------------------------------------------------------+
Notes:
Meanings of LB.STS bits:
Bit Label Value Description
LS..ST 000001 Send a START
LS.STK 000002 Send a STACK
LS.XNK 000004 Send a NAK
LS.XAK 000010 Send an ACK
LS.XRP 000020 Send a REP message
LS.NRP 000040 Need response to REP message
LS..RQ 000100 RCV interrupt queued
LS..XQ 000200 XMIT done interrupt queued
LS..RG 000400 Synch receiver active
LS..XG 001000 Synch transmitter active
LS..RN 002000 Received NAK
LS.XCT 004000 Transmitting a CONTROL message
LS.XDT 010000 Transmitting a DATA message
LS.SSY 020000 Strip synch before next message
LS.MPT 040000 Multi-point line
LS.NSP 040000 NSP line (depends on FTDCP1, FTDCP3
or FTDCP4)
LS..SS 100000 Stripping synch now
Meanings of LB.ST5 bits:
L2.DDP 100000 Line block in use as a DDP device
Meanings of LB.DVS (interrupt service routine) codes:
0 =LS..DP DP11 line 12=LS..UP DUP11 line
2 =LS..DS DS11 line 14=LS..DM DMC11 line
4 =LS..DU DU11 line 16=LS..DH DH11 line
6 =LS..DV DV11 line 20=LS..DZ DZ11 line
10=LS..DQ DQ11 line
ANF-10 TABLES DESCRIPTIONS Page A-20
The following depend on FT.MPT:
LB.MPN, LB.MPA, LB.MPT, LB.MPS
Meanings of LB.MPS (Node Status):
Bit Label Value Description
MP.SEL 200 Station selected
MP.SFF 017 Selection failure count
MP.OFF 100 Station offline
MP.SOL 040 Set offline when deselected
MP.SNM 020 Set select bit in next message
transmitted
MP.RTS 004 Inhibits setting of RTS
MP.CMS 001 Set to enable MP.RTS transition
The following depend on FTDCP3 or FTDCP4 being set:
LB.VNN, LB.VNM, LB.HNN, LB.HNM, LB.CNN, LB.CNF
The following depend on FTDCP1 being set:
LB.NSS,LB.NNM,LB.DNA,LB.MML,LB.SNM,LB.SID,LB.DAT,LB.CNF
Meanings of LB.NSS bits:
NS.STR 040000 Strip always
NS.EDS 020000 Enable dynamic stripping
NS.NSQ 020000 Something in queue for this line
NS.CNF 010000 Send CONFIGURATION message
Begin zeroing from LB.ZER on a restart.
The following depend on DMCN > 0:
LB.FB, LB.BAS, LB.STX
The following depend on FTDUP1 > 0:
LB.STX, LB.STY
ANF-10 TABLES DESCRIPTIONS Page A-21
Meanings of LB.STY bits:
Bit Label Value Description
UP$RCC 000001 Set if BCC is good when service
is called
Meanings of LB.STX bits:
LS2MAI 000001 Maintenance mode
LS2WAI 000002 Waiting for memory or buffers
LS2RUN 000004 DMC is running
The following depend on FTDCP3 or FTDCP4:
LB.NSS, LB.LEB
The following depend on FTDCP1:
LB.LCT, LB.LKT, LB.LLE
Meanings of LB.NSS bits:
LBS.IC 000001 In contact with NSP
LBS.L1 000002 NSP node is level 1 (intercept node)
LBS.NQ 000004 Node is in NSP queue
LB.SXR and LB.SRR depend on at least one of the following being
non-negative (asynchronous DDCMP or no DQ-11s):
FTDP11, FTDS11, FTDU11, FTDUP11, (NTLINE-NLINES)
Default NINBUF value is 4.
ANF-10 TABLES DESCRIPTIONS Page A-22
Name: Line Control Blocks
Description: Contain control information pertaining to each terminal
line. One block for each terminal line. Referenced by
"LCB#" where "#" is the line number.
Defined in: DNCNFG.P11
+---------------------------------------------------------------+
LC.CAR | DM-11BB control word |
| Bits 0-9 are timer (LCB.TM) |
| | |LCB|LCB| | | | | | | | | | | | |
| | |.AB|.DS| | | | | | | | | | | | |
|---------------------------------------------------------------|
LC.STA | Number of times LPR | State of modem control |
LC.MOD | is modified | (see next page for values) |
|---------------------------------------------------------------|
LC.XSP | Coded receive speed | Coded transmit speed |
LC.RSP | (whole word is "LC.SPD") | |
|---------------------------------------------------------------|
LC.PXS |Saved RCV speed for non auto- |Saved xmit speed for non auto- |
LC.PRS |baud (whole word is "LC.PSP") |baud dataset lines |
|---------------------------------------------------------------|
LC.BLK | Link to DDB or LB |
| |
|---------------------------------------------------------------|
LC.INS | Address of input service processor |
| |
|---------------------------------------------------------------|
LC.OUS | Address of output service processor |
| |
+---------------------------------------------------------------+
LC.CNT | Count of bytes |
| (DZ-11 lines only, NDZ11 not equal to 0) |
|---------------------------------------------------------------|
LC.BUF | Buffer pointer for bytes |
| (DZ-11 lines only, NDZ11 not equal to 0) |
+---------------------------------------------------------------+
LC..SZ==>
ANF-10 TABLES DESCRIPTIONS Page A-23
Notes:
Meanings of LC.CAR BITS:
Bit Label Value Description
LCB.BK 100000 Break character flag (framing error)
LCB.IG 040000 Ignore line for one character
LCB.AB 020000 Autobaud Line
LCB.DS 010000 Dataset Line
LCB.LS 004000 Using low speed auto-baud detect
LCB.TM 001777 Timer
Meanings of LC.STA bits (state of modem control):
LCS.VG 000 Virgin state
LCS.RG 002 Ringing
LCS.CD 004 Carrier Detect
LCS.CS 006 Carrier detect staisfied (2 second wait)
LCS.AB 010 Auto bauding
LCS.RU 012 Running unconnected (No -10 connected)
LCS.RW 014 Running waiting for -10 connection
to finish
LCS.RC 016 Running and connected to -10
LCS.LC 020 Carrier lost
LCS.HA 022 Want to hang up
LCS.HG 024 Hung up, carrier off for 18 seconds
LCS.DL 026 Dialer is running
LCS.DS 030 Dialout succeeded
LCS.DF 032 Dialout failed
LCS.MX 032 Maximum state number for LC.STA
LC.SPD Codes for transmit and receive speeds:
Speed Code Speed Code
50 1 1800 12
75 2 2200 13
110 3 2400 14
134.5 4 3600 15
150 5 4800 16
200 6 7200 17
300 7 9600 20
600 10 19200 21
1200 11 EXTERNAL-A 22
EXTERNAL-B 23
ANF-10 TABLES DESCRIPTIONS Page A-24
Name: Phase II Link Entry Block
Description: Contains status and control information for the DECNET
compatible port connections. Used with DECNET version 2.
Defined in: DNNSP3.P11
+---------------------------------------------------------------+
LE.STS | Status bits |
| (see descriptions below) |
|LES|LES|LES|LES|LES|LES|LES|LES|LES|LES|LES|LES| | | | |
|.NR|.MR|.MD|.DR|.LS|.DN|.DA|.LN|.LA|.DS|.DV|.DC| | | | |
|---------------------------------------------------------------|
LE.LNK | Next LE block for this node |
| |
|---------------------------------------------------------------|
LE.SCB | Pointer to SCB for this node |
| |
|---------------------------------------------------------------|
LE.NCL | Link address NCL is using |
| |
|---------------------------------------------------------------|
LE.DCP | Link address NCL and NSP think is destination |
|Odd byte is incremental number, even byte is LEB number |
+---------------------------------------------------------------+
LE.NSP | Link address NSP is using |
| |
|---------------------------------------------------------------|
LE.DPN | Destination device that NCL is asking about |
| |
|---------------------------------------------------------------|
LE.LIL | Last input LS/INT message |
| |
|---------------------------------------------------------------|
LE.LID | Last input data message |
| |
|---------------------------------------------------------------|
LE.LOL | Last output LS/INT message |
| |
|---------------------------------------------------------------|
LE.LOD | Last output data message |
| |
|---------------------------------------------------------------|
LE.OQL | List header of LS/INT message |
| that has been output but not ACKed |
|---------------------------------------------------------------|
LE.OQD | List header of data messages |
| that have been output but not ACKed |
+---------------------------------------------------------------+
ANF-10 TABLES DESCRIPTIONS Page A-25
+---------------------------------------------------------------+
LE.BUF | Buffer for this link |
| |
|---------------------------------------------------------------|
LE.IIK | Last input intercept ACKed |
| |
|---------------------------------------------------------------|
LE.IDK | Last input data ACKed |
| |
|---------------------------------------------------------------|
LE.ODK | Last output data ACKed |
| |
|---------------------------------------------------------------|
LE.ODS | Last output data sent |
| |
|---------------------------------------------------------------|
LE.STT | Reason to send to NSP | Current link state |
LE.RSN | for disconnect | (see below) |
|---------------------------------------------------------------|
LE.MDR | Outstanding data requests for |Maximum number of data requests|
LE.ODR | this link | for this link |
|---------------------------------------------------------------|
LE.TIM | | Logical link timer |
| | |
+---------------------------------------------------------------+
LE.SIZ==>
Notes:
Description of LE.STS bits:
Bit Label Value Description
LES.DC 000020 Have to send DISCONNECT
LES.DV 000040 Connection is to a device, not a task
LES.DS 000100 Connection is being broken
LES.LA 000200 Have to send LS/INT ACK
LES.LN 000400 Have to send LS/INK NAK
LES.DA 001000 Have to send DATA ACK
LES.DN 002000 Have to send DATA NAK
LES.LS 004000 Have to send LS to request an intr. message
LES.DR 010000 Have to send extra DATA REQUEST message
LES.MD 020000 Set if in middle of a dialog messsage
LES.MR 040000 Set if other side is doing the message
requesting
LES.NR 100000 Set if other side is doing no requesting
at all
ANF-10 TABLES DESCRIPTIONS Page A-26
Meaning of LE.STT codes:
Bit Label Value Description
LES.ID 000 Idle
LES.LI 002 NCL is trying to initialize a logical link
LES.PI 004 NSP is trying to initialize a logical link
LES.RN 006 Link is setup
LES.DS 010 Trying to disconnect
ANF-10 TABLES DESCRIPTIONS Page A-27
Name: Station Control Blocks
Description: Contain status information pertaining to each node in
the network. One such block for each node. Referenced
by "SCB#" where "#" is the station number (0,1,2,...).
Defined in: DNCNFG.P11
+---------------------------------------------------------------+
SB.FLG | Station flags |
| (see below) |
|SF.|SF.|SF.|SF.|SF.|SBF|SBF|SBF|SBF|SF.|SBF|SBF|SBF|SF.|SBF|SBF|
|NSP|FAK|MCR|XRC|XCN|.NQ|.SQ|.SK|.NK|XAK|.RR|.RP|.NB|HID|.IC|.IU|
|---------------------------------------------------------------|
SB.HXN | Last ACK processed | Highest NCL message |
SB.LAP | | number transmitted |
|---------------------------------------------------------------|
SB.HAR | Receive message number | Highest ACK received |
SB.RMN | | |
|---------------------------------------------------------------|
SB.TIM | | Timer |
| | for REPs and STARTs |
|---------------------------------------------------------------|
SB.IMQ | Input message queue address |
| (messages not yet in order) |
|---------------------------------------------------------------|
SB.OMQ | Output message queue address |
| (ACKed by DDCMP, but not yet by NCL) |
|---------------------------------------------------------------|
SB.SQS | Sequential node control area |
| (SEQLIM-1 blocks of SB.SQS bytes each) |
|---------------------------------------------------------------|
SB.LBA | Address of LB for station |
| |
|---------------------------------------------------------------|
SB.LVL | Cost of best path to this node |
| |
|---------------------------------------------------------------|
SB.RTN | Return address over call to "MARK" |
| |
|---------------------------------------------------------------|
SB.RR0 | Saved R0 over call to "MARK" |
| |
|---------------------------------------------------------------|
SB.RSB | Saved SB over call to "MARK" |
| |
+---------------------------------------------------------------+
ANF-10 TABLES DESCRIPTIONS Page A-28
+---------------------------------------------------------------+
SB.WOQ | Queue of messages waiting for |
| message number assignment |
|---------------------------------------------------------------|
SB.NGH | Neighbors list |
| ((2-NGHMAX)+1 words) |
|---------------------------------------------------------------|
SB.SNM | Station name (ASCII) |
| (SNMSIZ bytes) |
+---------------------------------------------------------------+
SB.SID | Software id (ASCII) |
| (SIDSIZ bytes) |
|---------------------------------------------------------------|
SB.DAT | Software date (ASCII) |
| (DATESZ bytes) |
|---------------------------------------------------------------|
SB.NNM | Node number |
| (binary) |
+---------------------------------------------------------------+
SB.SIZ==>
Notes:
Meanings of SB.FLG bits:
Bit Label Value Description
SBF.IU 000001 SCB is in use (for TENSCB means port enabled)
SBF.IC 000002 Station in contact (exchanged NCL START/STACK)
SF.HID 000004 We have the node ID for station
SBF.NB 000010 Need to send a NEIGHBORS message to node
SBF.RP 000020 A REP to this station is outstanding
SBF.RR 000040 We owe a response to this station's REP
SF.XAK 000100 We need to send an NCL-ACK to this station
SBF.NK 000200 We need to send an NCL-NAK to this station
SBF.SK 000400 We need to send an NCL-STACK to this station
SBF.SQ 001000 This station is a sequential node
SBF.NQ 002000 A request is in the NCL queue for this station
SF.XCN 004000 We need to send a CONFIGURATION message
to node
SF.XRC 010000 We need to request a CONFIG message from node
SF.MCR 020000 This station has a command decoder
SF.FAK 040000 Future ACK - ACK received but DDCMP not done
SF.NSP 100000 NSP line (depends on FT.DCP)
SB.NGH format for each neighbor's entry is the SCB address
followed by the LINK LEVEL.
ANF-10 TABLES DESCRIPTIONS Page A-29
Name: Task Blocks
Description: Contain pointers and status information pertaining to
tasks using the DECNET compatible port. One such block
for each task. Used for DECNET phase II only.
Defined in: DNTSK.P11
+---------------------------------------------------------------+
TK.STS | Task status information |
| (see below) |
|TK.|TK.|TK.|TK.|TK.|TK.| | | | | | | | | | |
|RUN|LGI|TRG|WAK|NOP|SLP| | | | | | | | | | |
|---------------------------------------------------------------|
TK.LNK | Link to next TK block |
| |
|---------------------------------------------------------------|
TK.RQL | Run queue link |
| |
|---------------------------------------------------------------|
TK.PRI | Pointer to priority queue |
| |
|---------------------------------------------------------------|
TK.JSA | Address to continue task |
| |
|---------------------------------------------------------------|
TK.RSA | Address to start task at |
| on a system restart |
|---------------------------------------------------------------|
TK.PDL | Address of push down list |
| |
|---------------------------------------------------------------|
+2 | Current push down list pointer |
| |
|---------------------------------------------------------------|
TK.TIM | Seconds timer |
| |
|---------------------------------------------------------------|
TK.QTM | | Quantum time |
| | in jiffies |
|---------------------------------------------------------------|
TK.TPC | Address to goto when clock |
| goes off |
|---------------------------------------------------------------|
TK.DTK | Copy of DB.TSK for current SVC |
| |
+---------------------------------------------------------------+
ANF-10 TABLES DESCRIPTIONS Page A-30
+---------------------------------------------------------------+
TK.SPT | Send queue putter |
| |
|---------------------------------------------------------------|
TK.STK | Send queue taker |
| |
|---------------------------------------------------------------|
TK.SQU | Send queue |
| (TKSQSZ words) |
|---------------------------------------------------------------|
TK.ARG | Save value to return to caller |
| |
+---------------------------------------------------------------+
TK.SIZ ==>
Notes:
Meanings of TK.STS bits:
Bit Label Value Description
TK.RUN 100000 Task is runnable
TK.LGI 040000 Task is "Logged In" (has not EXITed yet)
TK.TRG 020000 Task has been triggered by another task
TK.WAK 010000 Some event woke this task
TK.NOP 004000 Device was not OPENed on this call
TK.SLP 002000 Task is sleeping (in timer queue)
ANF-10 TABLES DESCRIPTIONS Page A-31
Name: To-11 Blocks
Description: Contain pointers and control information pertaining to
messages from the 10 to the 11. Used only in DN87S and
DN20 systems. Note that these reside in chunks, and
that the following definitions redefine the meanings
of some entries in the standard chunk.
Defined in: DNDTE.P11
+---------------------------------------------------------------+
TE.LNK | Address of next chunk in message |
| |
|---------------------------------------------------------------|
TE.QPR | Number of bytes left to transfer in |
| queued protocol message |
|---------------------------------------------------------------|
TE.LEN | Total length of message |
| |
|---------------------------------------------------------------|
TE.FFW | Copy of first word for current QPR message |
TE.LIN | (line number and flags in high byte) |
| | | | | | | |FW.| | | | | | | | |
| | | | | | | |MOR| | | | | | | | |
|---------------------------------------------------------------|
TE.CNK | Space left in current chunk |
| |
|---------------------------------------------------------------|
TE.QHD | Queued protocol message header: |
| length of first message |
|---------------------------------------------------------------|
TE.QFN | QPR word: function |
| |
|---------------------------------------------------------------|
TE.QDV | QPR word: device (will be NCL) |
| |
|---------------------------------------------------------------|
TE.QSP | Spare |
| (start of user data for compression) |
|---------------------------------------------------------------|
TE.ADR | Address of where to put data of |
| next fragement |
+---------------------------------------------------------------+
TE..SZ==>
ANF-10 TABLES DESCRIPTIONS Page A-32
Notes:
Meaning of TE.LIN bits:
Bit Label Value Description
FW.MOR 000400 There will be another QPR msg in NCL message
ANF-10 TABLES DESCRIPTIONS Page A-33
Name: To-10 Blocks
Description: Contain pointers and control information pertaining to
messages from the 11 to the 10. Used only on DN87S and
DN20 systems. Note that these reside in chunks, and
that the following definitions redefine the meanings
of some entries in the standard chunk.
Defined in: DNDTE.P11
+---------------------------------------------------------------+
TT.FLK | Forward link |
| |
|---------------------------------------------------------------|
TT.RLK | Backward link |
| |
|---------------------------------------------------------------|
TT.ALC | Space allocated |
| for this block |
|---------------------------------------------------------------|
TT.HDL | Length of header |
| |
|---------------------------------------------------------------|
TT.QHD | First queued protocol (QPR) word: |
| length of header |
|---------------------------------------------------------------|
TT.QFN | QPR word: function |
| |
|---------------------------------------------------------------|
TT.QDV | QPR word: device (will be NCL) |
| |
|---------------------------------------------------------------|
TT.QSP | Spare (unused) |
| |
|---------------------------------------------------------------|
TT.QFW | Line number | Indirect message length |
| (first word) | |
|---------------------------------------------------------------|
TT.ADR | Address of real data |
| |
|---------------------------------------------------------------|
TT.USR | User supplied data |
| |
|---------------------------------------------------------------|
TT.EFN | Event flag number |
| |
+---------------------------------------------------------------+