Trailing-Edge
-
PDP-10 Archives
-
bb-ee87a-sb
-
10,7/doc/montab.rno
There is 1 other file named montab.rno in the archive. Click here to see a list.
.LM0;.RM70;.PS58,70;.SP1;.F;.J
.FG12;.C
TOPS-10 Monitor Tables
.FG5;.C
March 1984
.Fg5.NOTE 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.
.en.B.right
Operating System: TOPS-10 Version 7.02
.PG;.RIGHT
Printed: July 1984
.B3
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.
.B
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.
.B
No responsibility is assumed for the use or reliability of
software on equipment that is not supplied by DIGITAL or
its affiliated companies.
.FG5;.C
Copyright##C#, 1980, 1984, Digital Equipment Corporation.
.C
All Rights Reserved.
.FG5
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.
.B
The following are trademarks of Digital Equipment Corporation:
.B;.LM5;.TS25,45;.NF;.NJ
DEC DECnet IAS
DECUS DECsystem-10 MASSBUS
Digital Logo DECSYSTEM-20 PDT
PDP DECwriter RSTS
UNIBUS DIBOL RSX
VAX EduSystem VMS
VT
.b.f.j.pg.FG4.c;FOREWORD
.FG7
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.
.b
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.
.b
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.
.b
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.
.b
The data structures for the ANF-10 network software are listed at the end
of this document, in Appendix A.
.b
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.
.pg.LM5.TS25.nf
List of Monitor Tables
.b
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
.pg
List of Monitor Tables (Cont.)
.b
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
.pg .f .j .ts 15
.lm 15.i-15 ;Name: AABTAB -- Access Allowed Bit Table
.b.i-15 ;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.
.b.i-15 ;Defined in: S.MAC
.b.i-15 ;Used by: VMSER
.lm 0 .b2 ;Format: UPT
.b.NF
+--------------------------+
| . |
| . |
| . |
| |
|--------------------------|
457 | | | | |
|--------------------------|
|--------------------------|
| . | AABTAB
| . |
| . |
|--------------------------|
475 | |
|--------------------------|
| . |
| . |
| . |
| |
.pg .f .j
.lm 15.i-15 ;Name: ACC -- Access Table
.b2.i-15 ;Description: Contains information needed in order to
gain access to a specific version of a specific file.
.b
One table for each existing version of each open file.
.b
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.
.b.i-15 ;Defined in: COMMOD
.b.i-15 ;Used by: FILFND, FILIO, FILUUO, IPCSER, SEGCON, SYSINI, UUOCON
.b2.i-15 ;See also: NMB, PPB
.lm 0 .nf .b2 ;Format:
.lm
.LITERAL
+-------------------------------------------------------+
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|
+-------------------------------------------------------+
.EL
.b2
* Details on following pages.
.b
Notes:
.f;.ls
.le;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.
.le;ACCWRT and ACCALC do not include the second RIB.
.els
.PG
ACCNMB (1) Byte Definitions
.b2
.LITERAL
+-----------------------------------------------------------+
| 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.
.EL
.b
Notes:
.f;.ls;.le;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.
.le;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.
.le;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.
.els
.pg
.nf
ACCPPB (4) Byte Definitions
.b
+-----------------------------------------------------+
| FSN | Sim. updates | | PPB |
+-----------------------------------------------------+
0 5 6 13 18 35
.b2
Word Bit Label or
Label Bits Byte Pointer Content
.b;.lit
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.
.el
.pg
ACCADT (5) Byte Definitions
.b2;.literal
+----------------------------------------------------------------+
| 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.
.el
.fill.b
Notes:
.nf.ls.le;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)
.f.le;The ACCADT table is called ACCUSE when the file is stored
in an SFD.
.els
.PG
ACCPRV (7) Byte Definitions
.b;.literal
+-------------------------------------------------------+
|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.
.el
Notes:
.b
Privilege codes:
.b;.nf
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.
.b
A job is considered the owner of a file if:
.b
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.
.b;Privilege codes for user files:
.b
Code Highest Privileges
.b
7 None
6 Execute
5 Read
4 Append (allocate, deallocate)
3 Update
2 Write (supersede, truncate)
1 Rename (change attributes)
0 Change privileges
.b;Privilege codes for directories:
.b
Code Privilege Given by Bit Being Set
.b
4 Allows lookups in this directory
2 Allows creates
1 Allow directory to be read as a
data file
.b
Any combination of these bits may be set.
.pg .f .ts 15
.lm 15 .i-15 ;Name: AVALTB -- Available Resource Table
.b2.i-15 ;Description: Contains flags to indicate that a
sharable device has become available. Each entry referenced by its
own label.
.b
Entry is -1 if the corresponding sharable resource
has become available since the last scheduling and some job is
waiting for it.
.b.i-15 ;Defined in: COMMON
.b.i-15 ;Used by: CLOCK1, COMMON, CPNSER, SCHED1, SYSINI
.lm0.b
Format:
.b2;.literal
+-------------------------------------------------+
AUAVAL | |
|-------------------------------------------------|
DAAVAL | |
|-------------------------------------------------|
CBAVAL | |
|-------------------------------------------------|
D1AVAL | |
|-------------------------------------------------|
D2AVAL | |
|-------------------------------------------------|
D3AVAL | |
|-------------------------------------------------|
D4AVAL | |
|-------------------------------------------------|
D5AVAL | |
|-------------------------------------------------|
D6AVAL | |
|-------------------------------------------------|
D7AVAL | |
|-------------------------------------------------|
D8AVAL | |
|-------------------------------------------------|
DCAVAL | |
|-------------------------------------------------|
CAAVAL | |
|-------------------------------------------------|
MMAVAL | |
|-------------------------------------------------|
EVAVAL | |
|-------------------------------------------------|
EQAVAL | |
|-------------------------------------------------|
MCAVAL | |
+-------------------------------------------------+
.el
.pg
Special Notes:
.ls;.f;.le;Table REQTAB has entries corresponding to the AVALTB entries.
.le;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.
.le;This table is initialized to zero.
.els
.pg .f .ts 15
.lm 15.i-15 ;Name: BAF -- Bad Allocation File
.b2.i-15 ;Description: Disk block in which all known bad
regions in a structure are recorded.
.b
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.
.b.i-15 ;Defined in: COMMOD
.b.i-15 ;Used by: FILIO, FILUUO, ONCMOD, REFSTR
.lm0.b
Format:
.b2;.literal
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)
+-------------------------------------------------------+
.el.b
Notes:
.ls;.le;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.
.le;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.
.le;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.
.els
.PG
.nf
BAFNBS Byte Definitions
.b2
+-------------------------------------------------------+
| NBS | NBR | KDC | |
+-------------------------------------------------------+
0 8 9 17 18 24 35
.b
Word Byte
Label Bits Pointer Content
.b
BAFNBS 0-8 Number of bad blocks found by
the map program.
.b
BAFNBR 9-17 BAYNBR Number of bad regions found
by the map program. (Number
of entries in BAFREG table.)
.b
BAFKDC 18-24 BAYKDC Controller device code used
by map program.
.b2
First Word of Each Bad Region Pair - Byte Definitions
.b
+-------------------------------------------------------+
| NBB | 0 | PUB | KNM | | APN |
+-------------------------------------------------------+
0 8 9 10 17 18 20 22 35
.b
Word Byte Pointer
Label Bits or Bit Label Content
.b;.literal
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.
.end literal
.page
.literal
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
.el
Word Byte Pointer
Label Bits or Bit Label Content
.b;.literal
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
.el
.lm0.fill
Notes:
.b
Values of the word labels are relative to the
beginning of the bad region pair, that is, 0 and 1.
.pg .f .ts 15
.lm0
Name: User I/O Buffer
.b.lm15.i-15
Description: Contains pointers and storage area for
I/O data. Set up by user programs as needed.
.b.i-15
Defined in: Status bits defined in S.MAC
.lm0.b.nf
Format:
.b
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 |
+-------------------------------------------------------+
.b
First Word (I/O status bits):
.b
Bit Meaning
.b
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.
.pg
Second Word:
.b
Bit Symbol Meaning
.b
0 IOUSE "Use" bit is set as follows:
.b
I/O In Progress Finished
.b
Input 0 1
Output 1 0
.B
Note that 0 means the buffer is available to
filler; 1 means buffer is available to emptier.
.b
1 IOIBC Inhibit zeroing output buffers at completion
of output
.b
2-17 IOSIZ Size of buffer, not counting first two words
.b
18-35 Address of second word of next buffer of ring.
.b2
Third Word:
.b
Bit Meaning
.b
0-17 Depends on type of device and mode
.b
18-35 Word count. (Normally computed by monitor
for the device being used.)
.pg .f .ts 15
.lm0
Name: Buffer Ring Header
.lm15.b.i-15
Description: Contains information by which user
programs access their I/O buffers.
.b.i-15
Defined in: S.MAC
.lm 0 .b .nf ;Format:
.lit
Symbol Map Offset
+-------------------------------------------------------+
JBFADR | V | | Current buffer address | (0)
|-------------------------------------------------------|
JBFPTR | Byte pointer | (1)
|-------------------------------------------------------|
JBFCTR | Byte count | (2)
|-------------------------------------------------------|
JBFUDX | Univ. Dev. Index (UDX) | (3)
+-------------------------------------------------------+
.el.fill.b
Label values are relative to the beginning of the buffer ring header.
.b.nf
Word
Label Bits Content
.b
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.
.b
JBFPTR 0-35 Byte pointer for user to access next
byte of buffer with ILDB or IDPB.
.b
JBFCTR 0-35 Number of remaining bytes available
to user.
.b
JBFUDX 0-35 UDX for MSGSER (MPX-controlled
devices only)
.b.F
Notes:
.ls;.le;Ring header must be set up within user program.
.le;Values are initialized by each INPUT or OUTPUT UUO, for
the buffer made available to the user.
.le;User program must keep JBFPTR and JBFCTR up to date as it
uses the buffer.
.els
.ps58,70.pg .lm 0.fill
Name: CDB -- CPU Data Block
.b.lm15.ts15.i-15
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.
.b
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).
.b
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.
.B.I-15
Defined in: COMMON
.b.i-15
Used by: CLOCK1, CP1SER, ERRCON, KLSER, KSSER, PSISER, SCHED1,
SYSINI, UUOCON
.b.lm0
GETTAB Table Numbers:
.b.lm5.nf
55 (.GTC0C), 56 (.GTC0V)
57 (.GTC1C), 60 (.GTC1V)
61 (.GTC2C), 62 (.GTC2V)
63 (.GTC3C), 64 (.GTC3V)
65 (.GTC4C), 66 (.GTC4V)
.b.lm0.f.nt
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.
.b
The following tables represent a KL-SMP (multiprocessor) system, assembled
with KL-paging enabled. Entries will vary for other types of systems.
.en
.pg
.c;CPU Data Block Constants Area
.b
CDB Symbol Map Offset
.b
.lit
+----------------------------------+
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|
|----------------------------------|
.END LITERAL
.PG
.LITERAL
|----------------------------------|
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 |
|----------------------------------|
.END LITERAL
.PG
.LITERAL
|----------------------------------|
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)
|----------------------------------|
.END LITERAL
.PG
.LITERAL
|----------------------------------|
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 |
|----------------------------------|
.END LITERAL
.PG
.LITERAL
|----------------------------------|
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)
|----------------------------------|
.END LITERAL
.PG
.LITERAL
|----------------------------------|
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)
+----------------------------------+
.el
.pg
.c;CPU Data Block Variables Area
.b2
CDB Symbol Old Symbol Map Offset
.B;.lit
+----------------------------------+
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 |
|----------------------------------|
.END LITERAL
.PG
.LITERAL
|----------------------------------|
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)
|----------------------------------|
.END LITERAL
.PG
.LITERAL
|----------------------------------|
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)
|----------------------------------|
.END LITERAL
.PG
.LITERAL
|----------------------------------|
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)
|----------------------------------|
.END LITERAL
.PG
.LITERAL
|----------------------------------|
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) |
|----------------------------------|
.END LITERAL
.PG
.LITERAL
|----------------------------------|
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 |
|----------------------------------|
.END LITERAL
.PG
.LITERAL
|----------------------------------|
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 |
|----------------------------------|
.END LITERAL
.PG
.LITERAL
|----------------------------------|
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 |
|----------------------------------|
.END LITERAL
.PG
.LITERAL
|----------------------------------|
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. |
|----------------------------------|
.END LITERAL
.PG
.LITERAL
|----------------------------------|
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) |
+----------------------------------+
.el
.b2 .f
Notes:
.ls.le;CKF-CLKFLG (1105) This location takes the place of a hardware
interrupt flag.
.le;TMF-TIMFF (1106) Set so clock interrupt routines will know another
jiffy has passed.
.le;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.
.els
.pg .f .ts 15
.lm 15.i-15 ;Name: CDT -- Connected Device Table
.b2.i-15 ;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.
.b
The left half of the DEVXTR word of the MPX DDB points to the CDT table.
.b2.i-15 ;Defined in: MSGSER
.b2.i-15 ;Used by: MSGSER
.lm 0 .b2 .nf ;Format:
.b2
.lm 8
+-------------------------------------+
| Size of table | No. of free slots|
|-------------------------------------|
| UDX 1 | DDB addr. |
|-------------------------------------|
| UDX 2 | DDB addr. |
|-------------------------------------|
| UDX 2 | DDB addr. |
|-------------------------------------|
| " | " |
|-------------------------------------|
| " | " |
|-------------------------------------|
| " | " |
+-------------------------------------+
. . .
.pg .f .ts 15
.lm 15.i-15 ;Name: CHKTAB -- UUO Check Bit Table
.b2.i-15 ;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).
.b
The table is in the same order as UUOTAB so the UUOTAB index in
AC T2 serves to get the CHKTAB entry.
.b
If a check bit is specified for the requested UUO, UUOCON goes
to the UUOCHK routine in VMSER.
.b.i-15 ;Defined in: UUOCON
.lm 0 .b .nf ;Format:
.b.lm5
+-------------------------------------+
| Check bit for 40 | Check bit for 41 |
|-------------------------------------|
| 0 | 0 |
|-------------------------------------|
| 0 | 0 |
|-------------------------------------|
| 0 | Check bit for 47 |
|-------------------------------------|
| " | " |
|-------------------------------------|
| " | " |
|-------------------------------------|
. . .
.b.lm0
Bit Definitions:
.b.lm5
+-----------------------------------------------------+
|#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| | | | | |
+-----------------------------------------------------+
.b.lm0.nf
Bit Name Description
.b
18 UU.CP1 UUO can be executed on any CPU
.br
25 UU.LER Argument list is a LOOKUP/ENTER/RENAME block.
.br
29 UU.EA Check effective address
.pg .f
Name: CHKTBC -- CALL and CALLI UUO Check Bit Table
.B
.F.LM15.ts15.I-15
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.
.b.i-15
Defined in: UUOCON
.b.i-15
Used by: UUOCON, CPNSER
.b.lm0
Format:
.lm5.nf.b
+-------------------------------------------------------+
| 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 |
|-------------------------------------------------------|
. . .
.b.lm0
Bit Definitions:
.b.lm5
+-----------------------------------------------------+
|#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| | |
+-----------------------------------------------------+
.B.fill.lm15.ts6,15.i-15
Bit Name Description
.b.i-15
18 UU.CP1 UUO can be executed on any CPU
.i-15
21 UU.NCL Negative argument (repeat) count is legal
.i-15
22 UU.WCC Working set can change
.i-15
23 UU.NAL Not allowed if locked
.i-15
24 UU.LFT Use left half of UUO for argument count
.i-15
25 UU.LER Argument list is a LOOKUP/ENTER/RENAME block
.i-15
26 UU.MNS User-supplied argument list length is a negative value.
.i-15
27 UU.CEA Use contents of effective address as list length
.i-15
28 UU.CAC Use contents of UUO ac as list length (modifiable using
UU.LFT).
.i-15
29 UU.EA Check effective address
.b.lm0
If neither UUO.CEA nor UU.CAC is set, the list length is taken from the
CHKTBC table.
.pg
Name: CHTABL -- Special Character Table
.b2.f
.ts15.lm15.i-15
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.
.b
Indexed by the ASCII value of the character.
.b.i-15
Defined in: SCNSER
.b.i-15
Used by: SCNSER, PTYSER
.b.lm0
Format:
.b.literal
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| | | | | | |
+-------------------------------------------------------------------------+
.end literal
.b.lm0.NF
Bit Label Meaning
.b
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
.pg.LM5.LIT
+---------------------------------------------------------+
| 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)
|---------------------------------------------------------|
.end literal
.pg
.literal
|---------------------------------------------------------|
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
|---------------------------------------------------------|
.END LITERAL
.PG
.LITERAL
|---------------------------------------------------------|
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
|---------------------------------------------------------|
.end literal
.pg
.literal
|---------------------------------------------------------|
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
|---------------------------------------------------------|
.end literal
.pg
.literal
|---------------------------------------------------------|
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)
+---------------------------------------------------------+
.el
.PG.F
Notes:
.LS.le;CHEPAR is set for entries whose ASCII character code contains an
even number of 1 bits.
.le;Entries 2 and 20 will have CHRIA and the dispatch address set only if
FTMIC is non-zero.
.le;Character codes 175 (}) and 176 (~) are converted to ASCII code 33
(ESC) only if SET TTY ALTMODE is in effect.
.els
.pg.LM0.TS15
Name: CHN -- Channel Data Block
.B;.F;.LM15;.I-15
Description: Contains information pertaining to all devices on
one data channel.
.b
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.
.b.i-15
Defined in: COMMOD
.b.i-15
Used by: AUTCON, ERRCON, FILFND, FILIO, KLSER, RNXKON, RPXKON, SYSINI,
T78KON, TAPUUO, TDZKON, TMXKON, TMZKON, TX1KON
.b2.lm0
.nf
Format:
.b.lm 0 .lit
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) |
|-------------------------------------------------------|
.end literal
.pg
.literal
|-------------------------------------------------------|
.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 |
+-------------------------------------------------------+
.el
.b2.f
Notes:
.ls;.le;The errors referred to in the Channel Data Block are
both soft and hard errors.
.le;TWQ = Transfer Wait Queue
.els
.PG.nf
* Description of CHNIFP Bytes
.b.lit
+------------------------------------------------------+
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
.el
.f
.pg
.LM0
Name: CIPWT -- Clock Request Queue
.ts15;.b.lm15
.i-15
Description: Allow a monitor routine to be run after a specific time
interval. One entry for each job number plus three more.
.b
Position of entry in table is of no importance. Each entry occupies 2
words.
.b
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.
.b
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.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: CLOCK1, DISSER, DLSINT, ERRCON, FILIO, PSISER, RPXKON, SCNSER,
SYSINI, UUOCON, VBCSER
.lm0
.b
Format:
.nf
.lm10
+------------------------------------------+
| Routine address | Count down timer |
|------------------------------------------|
|R|C|S| Data |
|------------------------------------------|
| | |
|------------------------------------------|
| |
|------------------------------------------|
| . |
| . |
| . |
|------------------------------------------|
| | |
|------------------------------------------|
| |
+------------------------------------------+
.LM0
.b2
The bits in the second word are defined as follows:
.b
Bit Meaning
.b
0 Request is CPU-specific
1-3 CPU number
4 Scanned by CLOCK1
5-35 Data
.pg
Name: COMTAB -- Command Table
.b
.lm15
.f
.ts15.i-15
Description: Specifies legal command names. There are corresponding
entries in DISP that give routine address and legality conditions for each
command.
.b
There is one entry for each monitor command.
.b
Position in the table is of no significance, but COMTAB and DISP
entries must be in corresponding positions.
.b.i-15
Defined in: COMMON
.B.i-15
Used by: UUOCON, COMCON
.B.i-15
GETTAB Table No.: .GTCOM (30)
.b.lm0
Format:
.nf
.lm10
+-----------------------------------+
| SIXBIT / CMD1 / |
|-----------------------------------|
| SIXBIT / CMD2 / |
|-----------------------------------|
| SIXBIT / CMD3 / |
|-----------------------------------|
| . |
| . |
| . |
.pg;.lm0
Name: COMTB2 -- SET Command Table
.f
.ts15.B
.lm15
.i-15
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.
.b
.i-15
Defined in: COMMON
.B.i-15
Used by: UUOCON,COMCON
.b.i-15
GETTAB Table No.: .GTCM2 (43)
.b.lm0
Format:
.lm10.b2.nf
+-----------------------------------+
| SIXBIT / CMD1 / |
|-----------------------------------|
| SIXBIT / CMD2 / |
|-----------------------------------|
| SIXBIT / CMD3 / |
|-----------------------------------|
| . |
| . |
| . |
.pg
.lm0.fill
Name: Disk Cache Data Structure
.b.lm15.i-15
Description: The data structures described in this section are used by
the monitor to implement a software disk cache.
.b
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).
.b
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.
.b
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.
.b
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.
.b
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.
.b
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.
.pg
.lm0.literal
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 |
+----------------------------------+
.end literal
.PG.PS58,70.lm0.f
Name: DDB -- Device Data Block
.TS15.b.lm15.i-15
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.
.b
Number of entries in the DDB varies with the device.
.b
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.
.b
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:
.nf .b
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
.fill.b.ts15.lm15.i-15
Defined in: Device service routines and in S.MAC
.b.i-15
Used by: Device service routines
.b.lm0
Format:
.B;.lit
+----------------------------------------------------+
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 |
|----------------------------------------------------|
.end literal
.pg
.literal
|----------------------------------------------------|
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 |
|----------------------------------------------------|
.end literal
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:
.b.literal
|-------------------------------------------------------|
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 |
|-------------------------------------------------------|
.end literal
The disk DDB follows. The magtape DDB is continued after the remainder of
the disk DDB.
.pg.literal
|-------------------------------------------------------|
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 |
+-------------------------------------------------------+
.end literal.pg
The magtape DDB has different words following DEVISN. The magtape DDB
follows from DEVISN as follows:
.b.literal
|---------------------------------------------------|
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 |
+---------------------------------------------------+
.end literal
The terminal DDB differs from the disk and magtape DDBs in that it contains
the following information after the DEVJOB word:
.b.literal
|---------------------------------------------------|
DDBLDB | Unused | Address of attached LDB |
+---------------------------------------------------+
.end literal
.b.lm0.fill
Notes:
.ls.le;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.
.le;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.
.le ;The unit number is in bits 18-26 of DEVJOB, accessed in the monitor
by the byte pointer PUNIT.
.els
.b.lm0
.pg;.literal
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.
.el
.pg
.lit
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
.el
.pg.lm0.f
Notes:
.b
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:
.ls,"o".le;For the disk DDB, the device-dependent bits are:
.b.nf
Bits Value Symbol Meaning
.b
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
.b
16 2 IOSHMS Hung message already typed
17 1 IOSRST RESET or RELEAS done on spooled
device
.b
28 200 UDSX Super-USETO is formatting disk
.f.le;The following device-dependent bits are defined for magtape:
.b.nf
Bits Value Symbol Meaning
.B
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
.b
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
.fill.le;For terminal DDBs, the following lists the device-dependent
bits:
.b.nf
Bits Value Symbol Meaning
.b
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
.b
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
.f.le;The TSK DDB contains the following device-dependent bits:
.b.nf
Bits Value Symbol Meaning
.b
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
.els.f
.pg
.literal
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
.EL
.PG
.LITER
DEVIAD
Input Buffer Word
+---------------------------------------------------------------------------+
| Device-dependent bits | Current input buffer address |
|---------------------------------------------------------------------------|
|0--------------------------13|14-----------------------------------------35|
+---------------------------------------------------------------------------+
.el.nf
Bits Value Symbol Meaning
.b
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)
.b.f
Notes:
.ls,"o".le;For disk DDBs, the following device dependent bits are defined in
the DEVIAD word:
.b.nf
Bits Value Symbol Meaning
.b
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
.f.le;The DECtape DDB contains the following device-dependent bits:
.b.nf
Bits Value Symbol Meaning
.b
1-2 300000 IADPTR Number of channels on which the
device is initiated.
.f.le;For magtape DDBs, the following device-dependent bits are defined
in DEVIAD:
.b.nf
Bits Value Symbol Meaning
.B
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
.els.f.pg
.literal
DEVOAD
Output Buffer Word
+---------------------------------------------------------------------------+
| Device-dependant bits | Current output buffer address |
|---------------------------------------------------------------------------|
|0--------------------------13 |14---------------------------------------35 |
+---------------------------------------------------------------------------+
.end literal
.nf
Bits Value Symbol Meaning
.b
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)
.b.f
Notes:
.ls,"o".le;For disk DDBs, the following device-dependent bits are defined in
the DEVOAD word:
.b.nf
Bits Value Symbol Meaning
.B
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
.f.le;For magtape DDBs, the following device-dependent bits are defined in
the DEVOAD word:
.b.nf
Bits Value Symbol Contents
.b
0-13 777760 PBUFRM Maximum frame count from TAPOP. UUO
function
.f.le;For TTY DDBs, the following device-dependent bits are defined in
the DEVOAD word:
.b.nf
Bits Value Symbol Contents
.b
1-12 377740 BYTCNT Remaining byte count for asynch.
output
.f.le;For DECtape DDBs, the following device-dependent bits are defined
in the DEVOAD word:
.b.nf
Bits Value Symbol Contents
.b
0-6 774000 SLPNTR Dead-reckoning sleep time,
in seconds
.f.els
.pg
.lit
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
.el
.pg
.literal
DEVXTR
Extra Word
+------------------------------------------------------------+
| See bit definitions |
+------------------------------------------------------------+
.end literal
.f
Notes:
.b
The DEVXTR contains different information for different types of DDBs. The
DDB-dependent bit definitions are:
.b.ls,"o".le;For the MPX: device DDB, DEVXTR contains the following:
.b.nf
Bits Value Contents
.B
0-17 777777 Address of connected device table
18-35 777777 Number of connected devices
.b.f.le;For an MPX-controlled device's DDB, DEVXTR contains the following:
.b.nf
Bits Value Contents
.b
0-17 777777 I/O flags (same as left half of USRJDA
18-35 777777 Address of MPX: DDB to which device is
connected
.b.f.le;For a magtape DDB, DEVXTR contains the following device-dependent
bits:
.b.nf
Bits Value Symbol Contents
.b
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
.b.f
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.
.els
.PG.LIT
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
.end literal
.pg
.literal
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
.end literal
.nf.b
Notes:
.b
The following device-dependent bits are defined in DEVJOB for disk DDBs:
.b.nf
Bits Value Symbol Contents
.b
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)
.b.f
.pg
.literal
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
.end literal
Note:
.b.lm5
DEYCPF=7 when any CPU can do I/O to the device. In this case, DEYPCL will
always contain 0.
.lm0.pg
.literal
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
.end literal
.pg
.literal
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
.end literal
.pg
.literal
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)
.end literal
.b.f.lm0
If cluster count = 0, the word actually is one of the following:
.f;.ls;.le;Pointer to new unit, if bit 18 = 1. Bits 19-35
specify logical unit number within file structure.
.le;EOF flag, if whole word is zero.
.els
.page
.literal
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
.end literal
.pg;.lm0;.f
Name: DEVDSP -- Device Dispatch Table
.b;.lm15;.i-15
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.
.b
The first nine entries are present in each device service routine.
Tables that contain the additional entries are referred to as
long dispatch tables.
.b.i-15
Defined in: Device Service Routines
.b.i-15
Used by: COMMON, COMNET, MSGSER, SYSINI, UUOCON
.b.lm0
Format:
.b
JRST x, where x will perform one of the following functions:
.b;.literal
+----------------------------------------------------------+
| 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 |
|----------------------------------------------------------|
.end literal
.pg
.literal
|----------------------------------------------------------|
| 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 |
+----------------------------------------------------------+
.end literal
.b2;.lm0;.f
Labels for table entries, relative to the base address, are
defined in S.MAC.
.b
Notes:
.ls
.le;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).
.le;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.
.le;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.
.le;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.
.le;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).
.els
.pg
.nf
Name: DISP -- Command Dispatch Table
.B;.LM15;.F
.ts15.I-15
Description: Specifies routine address and legality bits for
each monitor command. Entries correspond to command names in COMTAB.
.b
There is one entry for each command.
.b
Position in table is of no significance, but DISP entry and COMTAB
entry must be in same relative position.
.b
.lm0
Defined in: COMMON
.b
Used by: COMCON
.b
Format:
.nf;.b;.lit
+------------------------------------------------------------------+
|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
.el
.pg
Bit Label Meaning
.b.lit
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.
.el
.b1.fill
Bits 0, 1, 2, and 12-17 are checked before dispatching to command.
Bits 2-11 are checked after return from command.
.pg
Name: DSCTAB -- Dataset Control Table
.ts15.b.LM15.I-15
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.
.b.i-15
Defined in: COMDEV, COMMON, SCNSER
.b2.lm0
.nf
+------------------------------------------------------+
|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
.b2
Bits Label Meaning
.b2;.lit
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)
.el
.PG.LM0.PS58,70
Name: EPT -- Exec Process Table
.fill.b.lm15.ts15.i-15
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.
.b
Each CPU constants GETTAB table (.GTCnC) contains a word (%CCTOS) that
points to that CPU's EPT.
.b.i-15
Defined in: COMMON.MAC
.b.lm0
Format:
.b.literal
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) |
|-----------------------------------------------------|
.END LITERAL
.PG
.LITERAL
|-----------------------------------------------------|
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 /
/ . . . /
/ /
+-----------------------------------------------------+
.end literal
.pg
Name: EXE Format Save Files
.b.f.LM15.I-15
Defined in: S.MAC
.b.i-15
Used by: COMCON, SEGCON
.B.i-15
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:
.b.ls.le;Information about the structure of the file
.le;The data in the file
.els.b
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:
.ls
.le;Directory: 1776
.le;End: 1777
.els
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.
.b
The format of the directory is:
.lm0.b2 .nf
+---------------------------------------------------+
0 | 1776 | Size of directory |
|---------------------------------------------------|
1 | Flags | File page number |
|---------------------------------------------------|
2 | Repeat | Process page number |
|---------------------------------------------------|
/ Enough data to describe all pages /
/ /
+---------------------------------------------------+
.pg.f
Word 0 has 1776 in the left half and the size of the directory
in words in the right half.
.b;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:
.b.nf
Bit Symbol Meaning
.b
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)
.f.b
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.
.b;A typical save file directory for a program with a 2K lowseg and a
10K hiseg would contain:
.b.lm 10 .nf .nj
001776,,000005
100000,,000001
003000,,000000
600000,,000005
023000,,000400
001777,,000001
.lm 0 .f .j .b
followed by 506 words of zeroes.
.b;_.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.
.pg.lm0
Name: FETTBL -- Table of Bits for Monitor Features
.B.lm15.ts15.i-15
Description: Contains bits for feature test switches.
.b.i-15
Defined in: UUOCON (local symbol)
.b.i-15
Used by: UUOCON
.b.i-15
GETTAB Table No.: .GTFET (71)
.b.lm0
Format:
.b .nf
+-----------------------------------------------------+
| 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) |
+-----------------------------------------------------+
.pg.lm0.fill
Name: Fragment Table
.b.lm15.i-15
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.
.b.i-15
Used by: SCHED1, SEGCON, SWPSER, VMSER
.lm0.b2 .nf
+-------------------------------------------------------+
| Size | | U | Address |
|-------------------------------------------------------|
| | | | |
|-------------------------------------------------------|
| | | | |
|-------------------------------------------------------|
| | | | |
+-------------------------------------------------------+
0 17 21 24 35
.b2
Bits Content
.b
0-17 Number of pages in fragment
20-22 Unit index into SWPTAB
23-35 Logical page within unit where fragment
starts
.b;.f
Notes:
.ls;.le;A zero word indicates end of table.
.le;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.
.els
.pg
.nf
Name: HOM -- Home Block
.B;.LM15;.F;.I-15
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.
.b.i-15
Defined in: COMMOD
.b.i-15
Used by: MONBTS, ONCMOD, REFSTR
.b.lm0
Format:
.b;.lit
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)
|------------------------------------------------------|
.end literal
.pg
.literal
|------------------------------------------------------|
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) |
|------------------------------------------------------|
.end literal
.pg
.literal
|------------------------------------------------------|
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) |
+------------------------------------------------------+
.el.B2.LM0
* Logical block number within structure of first RIB
.pg.b2 ;HOMPHY Byte Definitions
.b.lit
+-----------------------------------------------------------------+
| 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:
.END LITERAL
.f
.b
.ls
.LE;HOMSNM (structure name) is ignored by the monitor when the structure is
mounted.
.le;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.
.le;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.
.le;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.
.le;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.
.le;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.
.els
.pg
.lm0
.nf
Name INTTAB -- Interrupt Routine Table
.ts15.B;.F;.LM15;.I-15
Description: Contains descriptive information about each interrupt
routine. One entry, of two words, for each interrupt routine.
.b
Position of an entry in the table is of no significance.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: COMMON, ONCE
.b.lm0.nf
Format:
.b
+-------------------------------------+
| Dev 1 entry |
|-------------------------------------|
| |
|-------------------------------------|
| Dev 2 entry |
|-------------------------------------|
| . |
| . |
| . |
|-------------------------------------|
| Dev n entry |
+-------------------------------------+
.b
Format of each entry:
.b
Word 0
.b
+-------------------------------------------------------+
| |DDB count | CPU# | PI channel | Interrupt routine adr|
+-------------------------------------------------------+
0 1 11 12 14 15 17 18 35
.b
Bit 0 = 1 for any type of DECtape routine.
.b2
Word 1
.b
+-------------------------------------------------------+
| | Station # | DDB Length | Prototype DDB address|
+-------------------------------------------------------+
0 2 3 8 9 17 18 35
.pg
Notes:
.f.ls
.le;INTTAB entries are set up by the ASGINT and ASGSV1 macros in
COMMON according to parameters specified in HDWCNF.MAC.
.le;Table is used by INTLOP in ONCE to build the interrupt routine
chain for each channel.
.le;Used by ONCE-only code in COMMON to set up multiple Device Data
Blocks.
.le;The interrupt routine address is the address of the CONSO in the
skip chain.
.els
.pg
.lm0
Name: JBTADR -- Job Address Table
.b
.ts15.lm15
.f
.i-15
Description: Tells core address and length for each segment in
core. One entry for each job number and each high segment
number.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: CDPSER, CLOCK1, COMCON, CORE1, CPNSER, DISSER, DTASRN,
ERRCON, FILIO, KLSER, LOKCON, METCON, REFSTR, SCHED1, SEGCON, SWPSER,
SYSINI, UUOCON, VMSER
.b.lm0
GETTAB Table No.: .GTADR (1)
.b.literal
Format:
+-------------------------------------+
Job 0 | | |
|-------------------------------------|
1 | Length -1 | Core address |
|-------------------------------------|
2 | " | " " |
|-------------------------------------|
. . .
|-------------------------------------|
n | | |
|-------------------------------------|
High seg n+1 | " | " " |
|-------------------------------------|
n+2 | | |
|-------------------------------------|
. . .
+-------------------------------------+
.end literal
.b.lm0
Notes:
.ls;.le;The entry for a job that is swapped out is zero.
.le;JBTDAT is the same table.
.le;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.
.els
.page
Name: JBTAD2 -- Second Job Address Table
.b.lm15.ts15.i-15
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.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: CORE1, ERRCON, KLSER, LOKCON, VMSER
.b2.lm0
Format:
.b.no fill
+-------------------------------------------+
Job 0 | | JBYLSS | First phys. page |
+-------------------------------------------+
Job 1 | | | |
|-------------------------------------------|
| | |
| | |
| | |
|-------------------------------------------|
Job n | | | |
+-------------------------------------------+
0 8 9 17 18 35
.fill
.B
Notes:
.b
Bits 9-17 (JBYLSS) contain the number of pages in the low segment, less one,
the last time the map was set up.
.pg
.f
Name: JBTCHK -- Segment Checksum Table
.b
.lm15
.i-15
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.
.b
Each entry contains the first word of the corresponding segment
when that segment is swapped out.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: SWPSER
.lm0
.nf.b
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 |
|-------------------------------------|
| |
| " |
| |
+-------------------------------------+
.pg
.lm0
Name: JBTCQ -- Job Queues Table
.f;.b
.lm15
.i-15
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.
.b
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.
.b
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.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: SCHED1, SYSINI
.lm0.pg.lit
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 | " | " |
+-------------------------------------------------------+
.el
.B2
Notes:
.b
.ls;.le;Every job number will be in one and only one queue.
.le;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.
.els
.pg
Name: JBTCSQ -- Subqueues Table
.f.b
.lm15
.i-15
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.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: SCHED1, SYSINI
.lm0.b;.lit
+-------------------------------------------------------+
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 | |
| |
+-------------------------------------------------------+
.el.lm0
Notes:
.ls.le;Every job number in PQ2 will be in one and only one subqueue.
.le;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.
.le;The number of classes partitioning PQ2 is specified at MONGEN time.
.le;When the scheduler scans these subqueues, it does so in order, starting
with SQ0 (class 0).
.els.pg
Name: JBTDEV -- High Segment Device Table
.b;.f
.lm15
.i-15
Description: One entry for each high segment.
.b
The entry is the high segment's physical device name or file
structure name.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: SEGCON, UUOCON
.b.i-15
GETTAB Table No.: .GTDEV (24)
.lm0.nf;.b;.lit
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 | " " " |
|-------------------------------------------------------|
| |
| |
+-------------------------------------------------------+
.el
.pg;.lm0;.f
Name: JBTJIL -- Just-Swapped-In List
.b;.lm15;.i-15
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.
.b;.i-15
Defined in: COMMON
.b.i-15
Used by: SCHED1, SYSINI
.b.lm0
Format:
.b;.literal
+----------------------------------------------+
JBTBBQ | | |
|----------------------------------------------|
JBTJIQ | Last job in queue | First job in queue |
|----------------------------------------------|
JBTJIL | | |
|----------------------------------------------|
1 | | |
|----------------------------------------------|
2 | | |
|----------------------------------------------|
3 | No. of previous job | No. of next job |
|----------------------------------------------|
n | | |
+----------------------------------------------+
.end literal
.b2
Notes:
.b
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.
.pg
Name: JBTJRQ -- Requeue List
.b;.lm15;.i-15
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.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: CLOCK1, SCHED1
.b.lm0
Format:
.b.literal
+-----------------------------------+
JBTJRQ | No. of 1st job in the list |
|-----------------------------------|
1 | |
|-----------------------------------|
2 | |
|-----------------------------------|
3 | |
|-----------------------------------|
| |
|-----------------------------------|
| |
|-----------------------------------|
Jobn | |
+-----------------------------------+
.end literal
.pg
Name: JBTLIM -- Job Time Limit Table
.b
.lm15
.i-15
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.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: CLOCK1, COMCON, CORE1, FILFND, IPCSER, SCNSER, UUOCON
.b.i-15
GETTAB Table No.: .GTLIM (40)
.lm0;.b;.lit
Format:
+-------------------------------------------------------+
| | | | | | Job 0
|-------------------------------------------------------|
| | | | | | Job 2
|-------------------------------------------------------|
| | | | | | Job 3
|-------------------------------------------------------|
| | | | | |
| | | | | |
| | | | | | Job n
+-------------------------------------------------------+
0 1 9 10 11 12 35
.el
.b2;.nf
Bit Mask Pointer Content
.b
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)
.pg
Name: JBTLOC -- Job Location Table
.f;.b
.lm15
.i-15
Description: One entry per job number; indexed by job number.
.b
The first entry in the table is the central station number.
.b
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.
.b
JBTLOC is assembled only if FTNET is non-zero.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: AUTCON, COMCON, COMDEV, IPCSER, NETSER, PTYSER, SYSINI,
UUOCON
.b.i-15
GETTAB Table No.: .GTLOC (26)
.b.lm0.nf
Format:
.b;.lm10
+-------------------------------------+
| Central site station number |
|-------------------------------------|
| Job location | Job 1
|-------------------------------------|
| Job location | Job 2
|-------------------------------------|
| Job location | Job 3
|-------------------------------------|
| |
| |
|-------------------------------------|
| Job location | Job n
+-------------------------------------+
.f;.lm0
.pg
Name: JBTNAM
-- Job Name Table
.b
.lm15
.i-15
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.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: CLOCK1, COMCON, ERRCON, FILFND, IPCSER, KLSER, LPTSER,
NETSER, PTYSER, SCNSER, SEGCON, TAPUUO, TSKSER, UUOCON
.b.lm0
GETTAB Table No.: .GTPRG (3)
.nf.b
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 |
|-------------------------------------|
. | . |
+-------------------------------------+
.b
.pg;.lm0;.f
Name: JBTOLS -- Job Output List
.b;.lm15;.i-15
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.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: SCHED1, SYSINI
.lm0.b
Format:
.b.literal
+----------------------------------------------+
JBTOBQ | | |
|----------------------------------------------|
JBTOLQ | Last job in queue | First job in queue |
|----------------------------------------------|
JBTOLS | | |
|----------------------------------------------|
| Previous job # | Next job # |
|----------------------------------------------|
2 | | |
|----------------------------------------------|
3 | | |
|----------------------------------------------|
4 | | |
+----------------------------------------------+
.END LITERAL
.b2;.lm0
Notes:
.b
Once a job enters JBTOLS it has a higher priority for swap out.
.pg
Name: JBTPC -- User Mode PC
.b;.f
.lm15
.i-15
Description: Contains user program counter for each job in the system.
.b.i-15
Defined in: COMMON
.b
Used by: CLOCK1, COMCON, ERRCON, UUOCON
.b.i-15
GETTAB Table No.: .GTPC (152)
.lm0.b;.nf
Format:
.b;.lm10
+-------------------------------------+
| | | Job 0
|-------------------------------------|
|Addr of DDB that | PC |
| job is in I/O | | Job 1
| wait for | |
|-------------------------------------|
| | | Job 2
|-------------------------------------| . . .
| | | Job n
+-------------------------------------+
.pg
.lm0
Name: JBTPDB -- Process Data Block Table
.b
.f;.lm15
.i-15
Description: One entry per job, indexed by job number. The right half
contains the address of this job's Process Data Block.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: CLOCK1, COMCON, DATMAN, ERRCON, IPCSER, KLSER, MOSSER,
NETSER, SCHED1, SCMUUO, UUOCON, VMSER
.b.lm0
GETTAB Table No.: .GTPDB (162)
.nf.b
Format:
.b
+--------------------------------------------+
| | | | | Job 0
|--------------------------------------------|
|Unused | IFYPGS | NFYPGS | PDB Address | Job 1
|--------------------------------------------|
| | | | | Job 2
|--------------------------------------------| . . .
| | | | | Job n
+--------------------------------------------+
0 5 6 11 12 17 18 35
.b.fill
Notes:
.ls.le;NFYPGS is the byte pointer to the number of funny pages allotted to the
user.
.le;IFYPGS is the byte pointer to the number of funny pages to allocate on
swap-in.
.els.pg
.lm0
Name: JBTPIA -- Software Program Interrupt Table
.b
.lm15
.i-15
Description: Contains flags and pointers to program interrupt table for each
job that is using the programmed software interrupt facility.
.b.I-15
Defined in: COMMON
.b.I-15
Used by: IPCSER, PSISER, UUOCON
.b.lm0
Format:
.b;.nf
.lit
0 1 2 17 18 35
+-------------------------------------------------------+
| | | | | Job 0
|-------------------------------------------------------|
| | | | Adr. of program interrupt table | Job 1
|-------------------------------------------------------|
| | | | | Job 2
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
| | | | | Job n-1
|-------------------------------------------------------|
| | | | | Job n
+-------------------------------------------------------+
.el
.b
Notes:
.ls.le;If bit 0 is set, the PI system is turned on.
.le;If bit 1 is set, the PI system is turned off until a
DEBRK by the current job.
.els.pg.lm0
Name: JBTPPN -- Project Programmer Number Table
.b
.lm15
.i-15
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.
.b.I-15
Defined in: COMMON
.b.I-15
Used by: CLOCK1, COMCON, ERRCON, FILFND, FILIO, FILUUO, IPCSER,
KLSER, LPTSER, NETSER, SCLINK, SCNSER, SEGCON, TAPUUO, TSKSER, UUOCON,
.b.I-15
GETTAB Table No.: .GTPPN (2)
.b.NF.LM0
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 | | |
|-------------------------------------|
.pg
Name: JBTPRV -- Job Privilege Bits
.ts15.b;.f.lm15.i-15
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.
.b.I-15
Defined in: COMMON. Bits defined in S.UNV.
.b.I-15
Used by: CLOCK1, COMCON, COMMOD, CPNSER, FILFND, IPCSER, RTTRP,
UUOCON
.b.lm0
GETTAB Table No.: .GTPRV (6)
.b.nf
Format:
.LM7
+----------------------------------------------+
|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| |
| | | | | | | | | | | | | | | |
|----------------------------------------------|
.i-7
Job 0 | | | | | | | | | | | | | | | |
|----------------------------------------------|
.i-7
Job 1 | | | | | | | | | | | | | | | |
|----------------------------------------------|
.i-7
Job 2 | | | | | | | | | | | | | | | |
|----------------------------------------------|
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
.i-7
Job N | | | | | | | | | | | | | | | |
+----------------------------------------------+
0 3 4 5 6-9 11 13 15 17 18 35
.lm0.b;.lit
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
.el
.pg
.lm0
Name: JBTRQT -- Job Run-Queue Time Table
.B
.LM15;.I-15
Description: One entry per job number. Contains a count of the number
of ticks a job was in PQ1 or PQ2.
.b.I-15
Defined in: COMMON
.b.I-15
Used by: CLOCK1, SCHED1, UUOCON
.B.lm0
GETTAB Table No.: .GTTRQ (53)
.b
Format:
.nf
+-------------------------------------+
| "Want to run" time | Job 0
|-------------------------------------|
| | Job 1
|-------------------------------------|
| | Job 2
|-------------------------------------|
| | Job 3
|-------------------------------------|
| . |
| . |
| . |
|-------------------------------------|
| | Job n
+-------------------------------------+
.b;.f
.lm0
Notes:
.b
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.
.pg
Name: JBTRSP -- Response Time Table
.b.lm15.i-15
Description: This table contains one entry per job number, including the
null job. The null job entry is not referenced.
.B.I-15
Defined in: COMMON. Bits are defined in S.UNV.
.b.I-15
Used by: CLOCK1, UUOCON
.b.lm0
GETTAB Table No.: .GTRSP (50)
.b
Format:
.b.nf
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
+------------------------------------------------+
.b
Bit Name Description
.b
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)
.b.f
Bits set to 1 when type of response is recorded, to 0 when user types in.
.pg
Notes:
.b.ls.le;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.
.le;JBTRSP is assembled only if FTRSP is non-zero.
.els
.pg.lm0
Name: JBTRTD -- Real Time Devices
.b
.lm15
.i-15
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.
.b.I-15
Defined in: COMMON
.b.I-15
Used by: CLOCK1, IPCSER, PTYSER, RTTRP, SCMUUO, SCNSER, SYSINI,
UUOCON
.b.lm0
GETTAB Table No.: .GTRTD (37)
.b.nf
Format:
.b
0 26 27 35
+-------------------------------------+
| | | Job 0
|-------------------------------------|
| | | Job 1
|-------------------------------------|
| Status bits | Count | Job 2
|-------------------------------------|
| | | .
| | | .
|-------------------------------------|
| | | Job n
+-------------------------------------+
.b
Bit Symbol Meaning
.b
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
.pg.lm0
.nf
Name: JBTSCD -- Subqueue (Class) Table
.b;.f
.lm15
.i-15
Description: Contains each job's class type, indexed by job number; one
entry for each job.
.b.I-15
Defined in: COMMON
.b.I-15
Used by: CLOCK1, SCHED1, UUOCON
.b.lm0
GETTAB Table No.: .GTJTC (120)
.b
Format:
.b;.lit
0 1 13 17 35
+-------------------------------------------------------+
Job 0 |X| | Class # | JS.TYP |
|-------------------------------------------------------|
Job 1 | | | | |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
Job n | | | | |
+-------------------------------------------------------+
.el
.b.lm15.ts7,15.i-15
Bit Symbol Meaning
.b.i-15
0 JS.PQ2 Job is in PQ2
.i-15
13-17 JS.CLS Job's scheduler class
JBYCLS
.I-15
27-35 JS.TYP Job's scheduler type
.pg.lm0
Name: JBTSFD -- Sub-File Directory Table
.LM15.TS15.b2.I-15
Description: One entry per job holding search list and
SFD information.
.b.I-15
Defined in: COMMOD
.b.i-15
Used by: COMMON, FILFND, FILUUO
.LM0.b
Format:
.b.lit
+-------------------------------------------------------+
Job 0 | | | | | | |
|-------------------------------------------------------|
Job 1 | | | | Default SFD NMB | | |
|-------------------------------------------------------|
Job 2 | | | | | | |
|-------------------------------------------------------|
| | | | | | |
| | | | | | |
| | | | | | |
|-------------------------------------------------------|
Job n | | | | | | |
+-------------------------------------------------------+
0 15 18 33 34 35
.el
.b2;.nf
Bits Label Meaning
.b
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.
.pg
Name: JBTSGN -- Segment Table
.fill.b
.lm15
.i-15
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.
.b.I-15
Defined in: COMMON
.b.I-15
Used by: CLOCK1, COMCON, CORE1, CPNSER, ERRCON, IPCSER, KLSER,
LOKCON, METCON, SCHED1, SEGCON, UUOCON, VMSER
.b.lm0
GETTAB Table No.: .GTSGN (14)
.b
Format:
.b.literal
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 | | |
|------------------------------------------------|
. . .
+------------------------------------------------+
.end literal
.PG.F.lm15.TS7,15.I-15
Bit Label Meaning
.b.i-15
0 SPYSEG High segment is physical core (see SPY UUO).
.I-15
1 SHRSEG High segment is sharable. The SHRSEG bit is also kept in
the JBTSTS entry for that high segment.
.I-15
2 UWPOFF User mode write protect is off.
.I-15
3 MEDDLE User has meddled with sharable program.
.I-15
4 CORCNT High segment's in-core count has been incremented
.I-15
5 LOKSEG The high segment this job is sharing is locked in core.
.I-15
6 NCSH High segment is not cached.
.I-15
7 SEGMB UPT needs updating because the high segment locked by
another job.
.i-15
8 NOCSH High segment is not cached because it is not writeable.
.i-15
9 REDOMP High segment is part of UPT needs to be rewritten
.i-15
10 GTSSEG High segment was obtained with a GETSEG UUO.
.i-15
13-17 Zero, so can read "@JBTSGN" to compare right half.
.i-15
18-35 If SPYSEG set, highest physical address user may see. If
no high segment, zero. Otherwise, high segment number associated with this
job.
.b.lm0
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.
.b
.pg
.lm0
Name: JBTSPL -- Spool Control Table
.b
.ts15.lm15
.i-15
Description: Contains input file name counter, devices being spooled,
and disk priority for the job.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: CLOCK1, COMCON, COMMOD, FILUUO, IPCSER, UUOCON
.b.LM0
GETTAB Table No.: .GTSPL (36)
.lm0.nf;.b
Format:
.b;.lm3
+-----------------------------------------------+
| | | | Job 0
|-----------------------------------------------|
| Input file name counter | DSK pri | Spool dev | Job 1
|-----------------------------------------------|
| | | | Job 2
|-----------------------------------------------| . . .
| | | | Job n
+-----------------------------------------------+
.b.fill.lm15.ts7,15.i-15
Bits Symbol Meaning
.b.i-15
0-17 JB.SIN Spooled input name counter.
.B.i-15
24-26 JS.DPR Current disk priority
.i-15
JBYPRI
.B.i-15
27-35 JB.SPL Spooling bits:
.B.i-15
27 JB.DFR Deferred spooling
.B.i-15
31 JB.CDR Card reader spooling
.B.i-15
32 JB.CDP Card punch spooling
.B.i-15
33 JB.PTP Papertape punch spooling
.B.i-15
34 JB.PLT Plotter spooling
.B.i-15
35 JB.LPT Line printer spooling
.pg.ts15
.LM0
Name: JBTSPS -- Second Processor Status
.b.lm15.i-15
Description: Assembled in multiprocessor systems to indicate second
processor status. One entry per job number.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: COMDEV, CPNSER, UUOCON
.b.LM0
GETTAB Table No.: .GTSPS (54)
.b
Format:
.b;.lit
+-------------------------------------------------------+
| Bits set by monitor | GETTAB bits for 6 CPUs | Job 0
|-------------------------------------------------------|
| | | Job 1
|-------------------------------------------------------|
| | | Job 2
|-------------------------------------------------------|
/ . . . /
+-------------------------------------------------------+
.el.b
Bits are defined on the following page.
.pg.nf
Bit Label Meaning
.b.lit
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
.el
.pg
.f
Name: JBTSTS -- Status Table
.b
.lm15
.i-15
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.
.b ;See also: AVALTB, QBITS, Job Queues and Wait State Codes
.b.i-15
Defined in: COMMON. Bits defined in S.UNV.
.b.i-15
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
.b.lm0
GETTAB Table No.: .GTSTS (0)
.b
Format:
.b.literal
+----------------------------------------+
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.
.end literal
.pg
LH of Job Number Entries
.B.literal
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|
+------------------------------------------------------+
.end literal
.b.nf
Bits Label Meaning
.b
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
Bits Label Meaning
.b
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
LH of High Seg Entries
.b;.lm0;.lit
+-----------------------------------------------------+
|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
.el
.lm0
.b.nf
Bit Symbol Meaning
.b
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.
.pg
.nf
Name: JBTST2 -- Job Status Table 2
.B;.F;.LM15;.I-15
Description: Contains status information about each job.
(Extensions to the JBTSTS table.) Indexed by job number.
.b.i-15
Defined in: COMMON. Bits defined in S.MAC.
.b.i-15
Used by: CLOCK1, COMCON, FILFND KASER, KISER, KLSER, KSSER, SCHED1,
SEGCON, UUOCON
.b.lm0
GETTAB Table No.: .GTST2 (117)
.b
Format:
.b.ts10
.lit
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 | |
+-----------------------------------------------------------+
.el.b.lm0.nf
Bit Label Meaning
.b
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
Bit Label Meaning
.b
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.
.pg.fill
Name: JBTSWP -- Job Segment Swap Area
.B.lm15.ts15.i-15
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.
.b.i-15
Defined by: COMMON
.b.i-15
Used by: COMCON, KISER, KLSER, KSSER, SCHED1, SEGCON,
SWPSER, UUOCON, VMSER
.B.lm0
GETTAB Table No.: .GTSWP (7)
.b
Format:
.lm0;.literal
+--------------------------------------------------------+
|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.
.el
.pg
.b
Notes:
.f;.ls;.le;Fragment table documented separately.
.le;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.
.le;Disk Address Bit Definitions:
.nf
.b
Bits Meaning
.b
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
.els
.pg;.lm0
Name: JBTUPM -- UPT Address Table
.b
.lm15.f.i-15
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.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: KILOCK, KISER, KLSER, SCHED1, SEGCON, SWPSER, SYSINI
UUOCON, VMSER
.b.lm0
GETTAB Table No.: .GTUPM (100)
.b
Format:
.b;.lm7
.nf
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
.b2;.lm0
Description for Low Segment Entry
.b
Bit Pointer
.b
.literal
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
.end literal
.b2
Description for High Segment Entry
.b
.literal
0-8 JBYHSO Virtual page number of high-seg origin
23-35 JBYHSA Physical page number of first page of
high segment
.end literal
.fill
.pg
Name: JBTVRT -- Paging Rate Table
.b.f.lm15.i-15
Description: Virtual memory per job paging rates are contained
in this table.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: UUOCON, VMSER
.nf
.b.lm0
Format:
.b
+-------------------------------------+
| Page rate | Job 0
|-------------------------------------|
| " | Job 1
|-------------------------------------|
| | .
| | .
| | .
|-------------------------------------|
| " | Job n
+-------------------------------------+
.pg
Name: JBTWCH -- Watch Table
.b.f.lm15.i-15
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.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: COMCON, MTXSER, UUOCON
.b.lm0
GETTAB Table No.: .GTWCH (35)
.b
Format:
.lit
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.
.el
.pg
Name: JDA -- Device Assignment Table
.b.lm15.f.i-15
Description: Associates a device or file with each active
channel in a user job, and tells which UUOs have been done on
that channel.
.b
The JDA is part of the job's UPT. Each JDA contains 16 entries
corresponding to the 16 software channels of a user job.
.b
Indexed by channel number.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: COMCON, CORE1, DTASRN, FILIO, FILUUO, MSGSER, PTYSER,
SEGCON, UUOCON, VMSER
.b.lm0
Format:
.b;.lm10;.lit
+------------------------------------------------------+
|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| | |
|------------------------------------------------------|
.el
.lm0
.lit
Channel 0 | | | | | | | | | | | | | | | | Device Data Blk adr |
|------------------------------------------------------|
1 | | | | | | | | | | | | | | | | " |
|------------------------------------------------------|
2 | | | | | | | | | | | | | | | | " |
|------------------------------------------------------|
- | | | | | | | | | | | | | | | | |
- | | | | | | | | | | | | | | | | |
17 | | | | | | | | | | | | | | | | |
+------------------------------------------------------+
0 13 18 35
.el
.pg.nf
Bit Label Meaning
.b
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
.b
Notes:
.f.ls.le
If both LOOKB and ENTRB are on, the file is being accessed in update mode.
.le;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.
.els
.pg .f .lm 0
Name: JOBDAT -- Data Area
.b.lm15.i-15
Description: Storage area for items of interest to both the
monitor and the user.
.b
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.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: COMMON
.lm0
.b
Format:
.b
Relative
.br
Location Label
.lit
+---------------------------------------------+
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 |
|---------------------------------------------|
.end literal
.page
.literal
|---------------------------------------------|
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 |
+---------------------------------------------+
.el
.pg
Notes:
.f
.ls;.le;The actual tables are included at the beginning of each user's
area.
.le;Many of these words contain different values while a SAVE or
GET is in progress, and therefore have several different labels.
.le;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).
.els
.lm0
.pg
Name: Job -- Queues and Wait State Codes
.b.lm15.ts15.i-15
Defined in: (See JBTCQ and JBTSTS)
.b.i-15
Used In: (See JBTCQ and JBTSTS)
.lm0.b
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.
.b;.no fill
Symbol Value Usage Feature Meaning
.b.literal
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)
.end literal
.pg
Symbol Value Usage Feature Meaning
.b.literal
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.
.el
.b2;.LM0
Notes:
.f;.ls;.le;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.
.le;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.
.els
.pg
Name: KON -- Kontroller Data Block
.b.lm15.f.i-15
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.
.b.i-15
Defined in: COMMOD
.b.i-15
Used by: FILIO, ONCE, ONCMOD, RPXKON, RNXKON, SYSINI, VMSER
.b.lm0
Format:
.lit
+-------------------------------------------------------+
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 |
|-------------------------------------------------------|
.end literal
.page
.literal
|-------------------------------------------------------|
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
.el
.pg
KONRED Controller-Dependent Dispatch Addresses
.nf
.b;.lit
+--------------------------------------------------+
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
.el
.b2;.f
The following notation is used in expressing some of the KON symbols:
.b;.lit
x - Controller number (which is really a letter) - A,B,...
xx - Controller type - RN, RP
xxn - Controller symbol - for example, RP0.
.el
.pg.lm0
Name: KONTAB -- UDB Address Table Within KON
.b.f.lm15.ts15.i-15
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.
.nf.lm10.b
+-------------------------------------+
| | 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
.b.lm0
Notes:
.f;.ls;.le;Bit 0 of first word set when controller is busy.
.le;If controller has fewer than eight units, the additional
entries are present, but blank.
.els
.b
Controller-dependent instructions:
.b
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.
.b
.nf
.lm10
x - CONTROLLER number (for example, A,B,...)
xx - CONTROLLER type (for example, RN, RP)
xxn - KNOTROLLER symbol (for example, RP0)
.b
.lm0
xxn'INT: CONSO xxn,xx'INF
JRST
JSR xxn'SAV
JSP J,xx'xINT
.pg
.LM0
Name: LDB -- Line Data Block
.b
.f.lm15;.i-15
Description: Contains data pertaining to one terminal line.
One LDB per line; including scanner lines, PTYs, and CTY.
LINTAB serves as directory.
.b.i-15
Defined in: SCNSER
.b.i-15
Used by: CLOCK1, COMCON, COMMON, D76INT, MSGSER, NETSER, PSISER,
PTYSER, SYSINI, UUOCON, XTCSER
.B.lm0
Format:
.B2;.lit
+-------------------------------------------------------+
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 |
|-------------------------------------------------------|
.end literal
.page
.literal
|-------------------------------------------------------|
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 |
+-------------------------------------------------------+
.el
.pg
.lit
(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
.end literal
.PG
.LITERAL
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
.el
.pg
.literal
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
.el
.pg
.lit
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
.end literal
.pg.lm0
* Bits for GETLIN UUO:
.b.literal
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
.end literal
.pg
.literal
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)
.el
.pg
.lit
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)
.end literal
.pg
.literal
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
.end literal
.pg
.literal
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)
.end literal
.pg
.literal
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
.el
.pg
.lit
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)
.end literal
.pg
.literal
(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
.el
.pg
.lit
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
.el
.pg
.lit
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
.el
.pg
.lit
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
.end literal
.pg
Name: LINTAB -- Line Table
.b.lm15.ts15.i-15
Description: Contains data pertaining to each TTY Line
One entry per line (including scanner, CTY, and PTY lines.)
Indexed by line number
.b.i-15
Defined: COMDEV
.b.i-15
Used in: CLOCK1, COMCON, COMMON, CPNSER, D76INT, DL0INT DL1INT,
DTESER, ERRCON, MSGSER, NETMCR, ONCE, PTYSER SCNSER, SYSINI, TTDINT,
UUOCON
.b.lm0
Format:
.b;.lit
+-------------------------------------------------------+
Line 0 | Characteristics | 0 | LDB address |
|-------------------------------------------------------|
Line 1 | Bits* | | |
|-------------------------------------------------------|
Line 2 | | | |
|-------------------------------------------------------|
- | | | |
- | | | |
- | | | |
| | | |
| | | |
|-------------------------------------------------------|
Line N | | | |
+-------------------------------------------------------+
0 12 13 - 17 18 35
.el
.b2
* Details on following page
.b2
Notes:
.b;.f
The device characteristics bits in 0-12 are copied into various
bytes of the LDBDCH word of the corresponding LDB during
initialization.
.b
LINTAB is located in COMDEV; bit definitions are in SCNSER and COMDEV.
.pg
.nf
.b
LINTAB Byte Definitions
.b
+--------------------------------------------------+
| ||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
.b.lm0
Bits Meaning
.b
0-1 Copied into bits 1-2 of LDBBYT
.B
2-7 Copied into bits 12-17 of LDBDCH
.B
8-12 Copied into bits 20-24 of LDBDCH
.f.b
Notes:
.b
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.
.b
See LDBBYT and LDBDCH for bit definitions.
.pg.lm0
Name: LOGTAB -- LOGIN JBTTAB Pointer Table
.b.f.lm15.ts15.i-15
Description: Table of pointers to those job tables in which the LOGIN
UUO stores statistics.
.b.i-15
Defined in: UUOCON (local symbol)
.b.i-15
Used by: UUOCON
.b.lm0.nf
Format:
.b
+-------------------------------------+
| AC J | JBTPPN_#_# | ; PPN
|-------------------------------------|
| AC J | JBTPRV_#_# | ; Privilege bits
|-------------------------------------|
.lit
| 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
.el.b
Notes:
.ls.le;LOGIN UUO used only by LOGIN and LOGOUT programs.
.nf.le;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.
.els
.pg.lm0
Name: LVDTBL -- Level D Disk Parameter Table
.B.f.lm15.ts15.i-15
Description: Contains parameters for the Level D disk
routines. Each entry accessed by its own label.
.b.i-15
Defined in: COMMOD
.b.i-15
Used by: CLOCK1, COMCON, COMMON, FILFND, FILIO, FILUUO, ONCMOD,
REFSTR, SCNSER, SYSINI, UUOCON
.b.lm0
GETTAB Table No.: .GTLVD (16)
.b
Format:
.b;.lit
+---------------------------------------------------------------+
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 |
|---------------------------------------------------------------|
.end literal
.pg
.literal
|---------------------------------------------------------------|
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] |
|---------------------------------------------------------------|
.end literal
.pg
.literal
|---------------------------------------------------------------|
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 |
|---------------------------------------------------------------|
.end literal
.page
.literal
|---------------------------------------------------------------|
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] |
+---------------------------------------------------------------+
.el
.f.b
Note:
.b
If the right half of SYSPPB = 0, the core grabber starts over at the
beginning of the PPB list.
.lm0
.pg
Name: Magtape Controller Data Block
.b;.fill;.lm15;.i-15
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.
.b
See also: Magtape Device Data Block, Magtape Unit Data Block
.b.i-15
Defined in: COMDEV
.b.i-15
Used by: TAPUUO, TM1KON, TMXKON
.b.lm0
Format:
.b;.lit
+---------------------------------------------------+
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) |
|---------------------------------------------------|
.end literal
.pg
.literal
|---------------------------------------------------|
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) |
+---------------------------------------------------+
.el.b
Dispatch offsets for TKBDSP:
.b;.nf
Value Symbol Meaning
.b
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
.b
TKBSTS Bits:
.br
(These bits are also defined for TUBSTS in the UDB)
.b
Bit Symbol Meaning
.b
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
.pg.lm0
Name: Magtape Unit Data Block
.b;.ts15.lm15;.i-15
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).
.b
See also: Magtape Device Data Block, Magtape Kontroller Data Block
.b.i-15
Defined in: COMDEV
.b.i-15
Used by: COMMON, TAPUUO
.b.lm0
Format:
.b;.lit
+---------------------------------------------------+
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 |
|---------------------------------------------------|
.end literal
.pg
.literal
|---------------------------------------------------|
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
+---------------------------------------------------+
.el
.pg
TUBSTS Bits:
.b
Bit Symbol Meaning
.b;.nf
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)
.b2
TUBCNF Bits:
.b
Bit Symbol Meaning
.b
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
.pg
Name: MEMTAB -- Virtual Memory Page Table
.b.lm15.ts15.i-15
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.
.b
Under KL-paging, MEMTAB is in Section 3.
.b.i-15
Defined in: S.MAC
.b.i-15
Used by: VMSER
.b.lm0
Format:
.b.nf
0 5 17 21 35
+-------------------------------------------------------+
| | |Nxt vir pg | | Disk address |
|-------------------------------------------------------|
| | | | | (Unit _# - pg _# ) |
|-------------------------------------------------------|
| | | | | |
| | | | | |
| | | | | |
+-------------------------------------------------------+
.b
Notes:
.b
Bit 0 is on for the last page in a fragment
.b
Bits 5-17 - next virtual page in this fragment
.b
Bits 21-23 - unit number in active swapping list
.b
Bits 24-35 - Page number on unit.
.pg
Name: MFD -- Master File Directory
.b.lm15.ts15.i-15
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.
.b
There is one entry in the MFD for each UFD that has files in the structure.
.b
Position of an entry is of no significance.
.b.i-15
Defined in: COMMOD
.b.i-15
Used by: FILFND, FILIO, FILUUO
.b.lm0
Format:
.lm7.b.nf
+-------------------------------------+
| Entry for user A |
|-------------------------------------|
| Entry for user B |
|-------------------------------------|
| . |
| . |
| . |
|-------------------------------------|
| Entry for user Z |
+-------------------------------------+
.b
Format of each entry
.b
+-------------------------------------+
| Project # | Programmer # |
|-------------------------------------|
| SIXBIT/UFD/ | CFP |
+-------------------------------------+
.b.lm0
Notes:
.f.ls.le ;The MFD is actually the UFD for [1,1]. PPN [1,1] is used only
for this purpose.
.le ;The CFP (Compressed File Pointer) specifies the relative
supercluster within the structure where the RIB of the corresponding file
can be found.
.le ;The first entry in the MFD is a pointer to itself
(to [1,1].UFD).
.els
.page
.literal
Relative Number of Relative Number
CFP= Unit # x Superclusters + Block # . Blocks
within per within - per
STR Unit that unit . Supercluster
.end literal
.b
The number of clusters in a "supercluster" is determined by:
.b2
.no fill
number-clusters-in-structure
-----------------------------
2(18)
.b2 .f
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.
.pg.lm0
Name: NMB -- File Name Block
.fill.b.lm15.ts15.i-15
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.
.b.i-15
Defined in: COMMOD
.b.i-15
Used by: FILIO, FILFND, FILUUO
.b.lm0
Format:
.b;.lit
+------------------------------------------------+
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 |
+------------------------------------------------+
.el
.lm0.b
Notes:
.b.ls.le;If a file is being superseded, there are Access Blocks
corresponding to each existing version of the file, but only one NMB.
.le;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).
.le;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'.
.le;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).
.le;NMBYES - Bits 36-n set if file definitely exists in
structure n.
.le;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.
.le;NMBFSN holds the file structure number in bits 0-5.
.els.pg
.LM0
NMBPPB Byte Definitions.
.b.nf
+-------------------------------------------------------+
| | | | |
+-------------------------------------------------------+
0 15 17 35
.b2
Word Bit
Label Bits Label Content
.b
NMBPPB 0-15 Address of next NMB for this
directory (low order 2 bits=0)
.b
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)
.b
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.
.B2
NMBACC Byte Definitions
.b
+-------------------------------------------------------+
| | |
+-------------------------------------------------------+
0 17 35
.b
Word Bit
Label Bits Label Contents
.b;.lit
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
.el
.pg
Name: NUMTAB -- Table of GETTAB Tables
.f.b.lm15.i-15
Description: Contains monitor table address and bits that
indicate whether there may be segment data or process data.
.b
This is the table that is referenced by the
GETTAB UUO to pass back the information requested.
.b.i-15
Defined in: UUOCON
.b.i-15
Used by: COMMON, UUOCON
.b.lm0
GETTAB Table No.: .GTSLF (23)
.b
Format:
.lm7.b.lit
Bits* GETTAB Table Address
+-------------------------------------+
| | JBTSTS |
|-------------------------------------|
| | JBTADR |
|-------------------------------------|
| | JBTPPN |
|-------------------------------------|
| " | " |
+-------------------------------------+
.el
.lm0.b2
Notes:
.ls.le;ABSTAB (loc 410) in COMMON contains absolute
address of NUMTAB
.le;Bits 0-8 hold the maximum size of the table
if it is a regular table
.le;Bits 9-11 are interpreted as follows:
.b.lm15.nf
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
.els.f.pg.lm0
Name: PAGTAB -- Page Table
.B;.fill;.lm15;.i-15
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.
.b
Under KL-paging, PAGTAB is in Section 3.
.b.i-15
Defined in: S.MAC
.b.i-15
Used by: KILOCK, KISER, KLSER, SYSINI, VMSER
.b.lm0
Format:
.b;.lit
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 | |
|-------------------------------------------------------|
| . |
| . |
+-------------------------------------------------------+
.el.b
Bit definitions:
.b;.nf
Bits Label Meaning
.B
0 FREPAG On if page is not in some job's
addressing space.
.br
1 LOKPAB On if this page is contained in a
segment that is locked in physically
contiguous memory
.br
2 LOKEVB On if this page is contained in
segment that is locked virtually
contiguous in the exec addressing
space
.br
3 LOKIPB On if this page is contained in a
segment that is locked in place
.br
4 NXMBIT On if this page is below MEMSIZ
but is non-existent.
.br
5 MONTRB On if this page is contained in the
monitor
.br
6 IPCBIT On if this page is owned by IPCF
.br
7 TNCSHB On if this page is temporarily uncached
.pg
.lm0
Name: PDB -- Process Data Block
.B.f.lm15.ts15.i-15
Description: One PDB for each active job. Setup by CREPDB
routine in DATMAN when the job is initialized.
.b.i-15
Defined in: DATMAN (modify and find routines)
.br
COMMON (prototype)
.b.i-15
Used by: CLOCK1, COMCON, COMMOD, COMMON, CORE1, FILFND, IPCSER,
KISER, KLSER, NETSER, QUESER, SCHED1, SEGCON, UUOCON, VMSER
.lm0.b;.lit
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 |
|-----------------------------------------------|
.end literal
.pg
.literal
|-----------------------------------------------|
.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
|-----------------------------------------------|
.end literal
.page
.literal
|-----------------------------------------------|
.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 |
+-----------------------------------------------+
.el
.b
Notes:
.f.ls.le;Bit 0 of .PDIPT is the PDMSWP bit that is set to indicate
the expiration of the MCU (minimal care utilization).
.le;_.PDABS - Address Break Settings:
.b.nf
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.
.f
.le;_.PDCVL - Bit 18 is set if the CPPL is a limit rather than
a guideline.
.le;_.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).
.nf.pg
.le;_.PDIPC - LH 0-17 Pointer to first packet
RH 18-26 Packets sent and not received
RH 27-35 Packets waiting to be received
.le;_.PDIPA - LH Count of sends since LOGIN
RH Count of receives since LOGIN
.le;_.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
.le;_.PDEQQ 1B0 EQ.HBS The quota has been set
.f
.le;_.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:
.nf.b
Value Symbol Use
.b
400 Spare bit
200 FS.NCR No-create
100 FS.WLK Software write-lock
77 File structure number
.b;.f
System search list is maintained in COMMOD starting at location
SYSSL and also consists of 9 bit bytes.
.b
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.
.pg.LE;_.PDDFL contains the following fields:
.b;.no fill
Bits Description
.b
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
.le;Bits for .PDOBI are:
.b
Bits Description
.b
0-1 Write to operator values
2-4 Operator privilege type
10 Batch stream number set
12-17 Batch stream number
.fill
.le;For the values for .PDCAP, see JBTPRV.
.els
.pg
Name: PPB -- Project Programmer Number Data Block
.b
.lm15.i-15
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.
.b.i-15
Defined in: COMMOD
.b.i-15
Used by: FILFND, FILUUO
.b.lm0
Format:
.b.nf
+------------------------------------------+
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:
.f;.ls;.le;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.
.le;PPBKNO - Bit 36-n set if monitor knows whether or not UFD for this
PPN exists in structure n.
.le;PPBYES - Bit 36-n is set if the UFD for this PPN definitely exists in
structure n.
.els
.pg
Name: PTYTAB -- Pseudo-Terminal DDB Table
.b.f.lm15.ts15.i-15
Description: Table of pseudo-terminal (PTY) DDBs. There is one entry for
each PTY in the system. (See TTYTAB also.)
.b.i-15
Defined in: COMMON
.B.i-15
Used by: PTYSER, SCNSER, SYSINI
.B.lm0
Format:
.b.nf
+-------------------------------------+
PTYTAB: | | DDB address | PTY0
|-------------------------------------|
| | " " | PTY1
|-------------------------------------|
| | " " | PTY2
|-------------------------------------|
/ . . . /
|-------------------------------------|
| | DDB address | PTYn
+-------------------------------------+
.pg.fill.lm0
Name: QBITS -- Wait State Code Requeue Table
.f.B2;.LM15;.F;.I-15
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.
.b.i-15
Defined in: SCHED1
.b.i-15
Used by: SCHED1
.b.lm0.nf
Format:
.b.lm7
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
|---------------------------------|
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 |
|---------------------------------+
.B2.lm0
Notes:
.b;.fill
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).
.b.pg.lm0
Name: Queue Transfer Table
.b.f;.lm15;.i-15
Description: Contains input parameters for Queue Transfer routine.
There is one such table for each different type of queue transfer.
.b.i-15
Defined in: SCHED1
.nf.b.lm0
Format:
.b.lm7
+-------------------------------------+
| Place | Function |
|-------------------------------------|
| Quant | Dest |
+-------------------------------------+
.b2.f.lm0
Notes:
.b.lm15.i-15
Place>0 Transfer to beginning of destination queues.
.b.i-15
Place<0 Transfer to end of destination queue.
.b.i-15
Function is the address of the QXFER routine to be used.
It defines the type of transfer. There are three possible values:
.b.ls.le;QFIX - Destination queue specified in this table
.le;QLINK - Destination queue is a function of source queue
.le;QJSIZ - Destination queue is a function of job size
.els.b.i-15
Dest specifies the destination queue.
.b.ls.le;If Function is QFIX, Dest is the destination queue number.
.le;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.
.le;If Function is QJSIZ, Dest is the address of a Job-Size-Queue Table
which specifies destination queue as a function of job size.
.els
.b.i-15
Quant specifies the change to the job's quantum run time as follows:
.b
If Quant<0, no change to quantum runtime.
.b
If Quant>0, reset the quantum run time as follows:
.b.ls.le;If Function is QFIX, set quantum run time to the value of Quant.
.le;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.
.els.b
See BQFIX and following in SCHED1.
.lm0
.pg
Name: Queue Table - Job Scanning (ISCAN, OSCAN, SSCAN, SSCAN1)
.b.f;.lm15;.i-15
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.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: SCHED1
.b.lm0.nf
Format:
.lm7.b
+-------------------------------------+
| Queue # | Scan code |
|-------------------------------------|
| " | " |
|-------------------------------------|
| " | " |
|-------------------------------------|
| " | " |
|-------------------------------------|
| 0 |
+-------------------------------------+
.f;.b.lm0
The Scan Code is the address of a scanning routine in QSCAN.
There are four possible values:
.b.lm10.ts10.i-10
QFOR Scans whole queue forward, first in-core then out-core
.i-10
QBAK Scans whole queue backward, first out-core then in-core
.I-10
IQFOR Scans in-core queue forward
.I-10
IQBAK Scans in-core queue backward
.I-10
IQFOR1 Scans in-core queue for first member
.I-10
IQBAK1 Scans in-core queue backward (all but first member)
.I-10
OQFOR Scans out-core queue forward
.I-10
OQBAK Scans out-core queue backward
.I-10
OQFOR1 Scans out-core queue for first member
.I-10
OQBAK1 Scans out-core queue backward (all but first member)
.I-10
SQFOR Scans out-core subqueues (PQ2 class swap-in scan)
.I-10
BGFOR Scans out-core background batch subqueue (PQ2 class swap-in)
.I-10
ISSFOR Scans in-core subqueues (PQ2 class scheduling scan)
.I-10
IBBFOR Scans in-core background batch subqueue (PQ2 class scheduling)
.I-10
OSSFOR Scans out-core subqueues (PQ2 class lost-time scan)
.I-10
IRRFOR Scans just swapped in queue, then QP2 in-core queue
.I-10
IGFOR Scans just swapped in queue and jobs waiting for high segment
.I-10
OLFOR Scans background batch, B.B. JIL, regular output queue, PQ2 in-core
.lm0.b
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.
.pg.lm0
Name: QQSTAB -- Quantum Time Queue Table
.b.lm15.ts15.i-15
Description: Specifies value to which a job's quantum run time is reset
on certain types of queue transfers.
.b.i-15
Defined in: COMMON
.B.i-15
Used by: SCHED1
.B.lm0.nf
Format:
.b.lm7
+-------------------------------------+
| Quantum time 1 |
|-------------------------------------|
| Quantum time 2 |
|-------------------------------------|
| - |
|-------------------------------------|
| - |
|-------------------------------------|
| - |
|-------------------------------------|
| 0 |
+-------------------------------------+
.b.lm0.fill
Quantum time is in jiffies (power line frequency).
.b
A 0 entry indicates end of table.
.pg
Name: QTTAB -- Queue Progression Queue Table
.b2;.lm15;.i-15
Description: Specifies the queue for a job to be put into as a function
of the queue it is in.
.b
A Queue Progression Table is specified in the Transfer Table for link-type
queue transfers. (Refer to Transfer Table.)
.b2.i-15
Defined in: COMMON
.B.i-15
Used by: SCHED1
.b.lm0.nf
Format:
.b.lm7
+-------------------------------------------------------+
| Source queue 1 | Destination queue 1 |
|-------------------------------------------------------|
| Source queue 1 | Destination queue 2 |
|-------------------------------------------------------|
| - | - |
|-------------------------------------------------------|
| - | - |
|-------------------------------------------------------|
| - | - |
|-------------------------------------------------------|
| 0 | 0 |
+-------------------------------------------------------+
.f;.b.lm0
Each entry is a queue number.
.b
A 0,,0 entry indicates end of table.
.pg
Name: REQTAB -- Sharable Device Request Table
.b.lm15.i-15
Description: Tells how many jobs require use of each sharable device.
Each entry is referenced by its own label.
.b
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.
.b.i-15
Defined in: SCHED1
.b.i-15
Used by: CLOCK1, SYSINI
.b.lm0.nf
Format:
.b
+-------------------------------------+
AUREQ | |
|-------------------------------------|
DAREQ | |
|-------------------------------------|
CBREQ | |
|-------------------------------------|
D1REQ | |
|-------------------------------------|
D2REQ | |
|-------------------------------------|
D3REQ | |
|-------------------------------------|
D4REQ | |
|-------------------------------------|
D5REQ | |
|-------------------------------------|
D6REQ | |
|-------------------------------------|
D7REQ | |
|-------------------------------------|
D8REQ | |
|-------------------------------------|
DCREQ | |
|-------------------------------------|
CAREQ | |
|-------------------------------------|
MMREQ | |
|-------------------------------------|
EVREQ | |
|-------------------------------------|
EQREQ | |
+-------------------------------------+
.pg
Notes:
.f;.ls;.le;Entries in this table may be tested and incremented
simultaneously, as follows:
.b;.nf
AOSE XXREQ
PUSHJ P, XXWAIT
-
-
-
.b;.fill
If the resource was available, the routine may continue. Otherwise, the job
must be requeued to wait for it.
.le;Table AVALTB has entries corresponding to the entries in REQTAB.
.le;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.
.els
.pg
Name: RIB -- Retrieval Information Block
.b.lm15.i-15
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.
.b.i-15
Defined in: COMMOD
.b.i-15
Used by: FILFND, FILIO, FILUUO, ONCMOD, REFSTR
.b.lm0
Format:
.B;.lit
+-------------------------------------------------------+
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 |
|-------------------------------------------------------|
.end literal
.page
.literal
|-------------------------------------------------------|
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 |
+-------------------------------------------------------+
.el
.pg.lm0.nf
RIBEXT Byte Definitions
.b
+-------------------------------------------------------+
| Extension | | Access Date |
+-------------------------------------------------------+
0 17 18 23 24 35
.b
Bits Contents
.b
0-17 File extension in SIXBIT
24-35 Last access date
.lm 0
.b2
RIBPRV Byte Definitions
.B
+-------------------------------------------------------+
| Access |Mode | Creation time | Creation date |
+-------------------------------------------------------+
0 8 12 23 35
.b
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
.b;Access Codes:
.b
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.
.b
Privilege Codes for User Files:
.b
Code Highest Privileges
.b
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
.b
Privilege Codes for Directories:
.b
Code Privilege
.b
4 Allow LOOKUPs in this directory
2 Allow creates
1 Allow directory to be read as a
a data file
.b
Any combination of these bits may be set.
.pg.f.ls.le;RIBPRV is maintained in ACYPRV while the file is being accessed.
.le;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.
.els.b2
RIBSTS Byte Definition
.b.nf
+-------------------------------------+
| Status bits |
+-------------------------------------+
.B2
Left half bits apply to the UFD.
.B
Right half bits apply to this specific file.
.b
Bit Label Meaning
.b
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
.PG
Retrieval Pointers
.b
+-------------------------------------------------------+
| Cluster count | Checksum | Cluster addr |
+-------------------------------------------------------+
.f
.B
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.
.nf;.b
.lm10
Field Byte Pointer
.b
Cluster Count STYCNP
Checksum STYCKP
Cluster Address STYCLP (23 bits maximum)
.b
.lm0
If cluster count = 0, the word actually is one of the following:
.ls.le;Pointer to new unit, if bit 18 = 1. Bits 19-35 specify
logical number within file structure.
.le;EOF flag, if whole word is zero.
.le;Cluster count is number of clusters in group.
.els.b2
RIBELB Byte Definitions
.b .nf
+-------------------------------------------------------+
| Error bits | LBN where bad region starts |
+-------------------------------------------------------+
.f.b
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.
.b .nf
Bit Meaning
.b
3 Error other than listed below
4 Data error (parity or ECC hard)
5 Search or header compare error
.b2
RIBXRA Byte Definitions (same format as DEVRIB)
.b
Bits Byte Pointer Content
.b
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
.pg
Name: SAB -- Storage Allocation Block
.B2;.F;.LM15;.I-15
Description: Table describing allocation of clusters of blocks for a
file structure.
.b
Each allocation bit represents a corresponding cluster of physical blocks
within the structure.
.b
(See also SAT.SYS and SPT.)
.b.i-15
Defined in: COMMOD
.b.i-15
Used by: FILFND, FILIO, ONCMOD, REFSTR
.b.lm0
Format:
.B;.lit
+-------------------------------------------------------+
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 |
| |
+-------------------------------------------------------+
.el
.b2
* Details on following page.
.pg
SABNDX Byte Defintions
.nf;.b2
+-------------------------------------------------------+
| A | B | NDX | First cluster |
+-------------------------------------------------------+
0 1 2 12 13 35
.b
Word Bit Label or
Label Bits Byte Pointer Content
.b
SABFIR 0 SAPDIF Set if table in core
different from disk
.b
SABFIR 1 SAPBAD Set if SAT block is on
a bad block in disk
.b
SABNDX 2-12 SAYNDX Index value for SPT
entry representing
this SAT
.b
SABCLA 13-35 SAYCLA Cluster address within
unit of first cluster
represented in this
SAT
.b.f
Notes:
.b.ls.le;The NDX and CLA fields are related by the formula.
.b.nf
Number
CLA = Cluster x (NDX)
per SAT
.f.le;Bits 2-35 are set -1 when the file structure is
created to force SAT to be read into SAB.
.le;Under KL-paging, the SAT is usually in Section 2.
.els.pg.lm0
Name: SAT.SYS
.b.lm15.ts15.i-15
Description: Disk file describing the allocation of all clusters of
blocks on the file structure.
.b
Contains one bit for each cluster of the file structure.
.b
Bits are in the same order as the clusters which they represent.
.lm0.b
Format:
.b.lit
+-------------------------------------------------------------+
Cluster 0-35 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|-------------------------------------------------------------|
36-71 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|-------------------------------------------------------------|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|-------------------------------------------------------------|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|-------------------------------------------------------------|
|0---------------------------------------------------------35 |
+-------------------------------------------------------------|
.el.lm0.b.f
Notes:
.ls;.le;SAT blocks are always on the same unit as the clusters that they
represent.
.le;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.
.le;Programs should not look at bits corresponding to nonexistent
clusters. They may or may not be set. (Function of hardware sector length.)
.le;Each SAT block has a corresponding entry in the Storage Allocation
Pointer Table (SPT) for that unit.
.le ;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.
.els
.pg.lm0.f
Name: Scheduler Scan Tables
.b.lm15.ts15.i-15
Description: Used by the system scheduler when selecting a job to run.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: SCHED1
.b.lm0.nf
SSCAN -- Used by policy CPU for selecting a job to run:
.b
+--------------------------------------+
SSCAN | -HPQn | IQFOR |
| -HPQ1 | IQFOR |
| -PQ1 | IQFOR |
| -PQ2 | IRRFOR(RR) |
| -PQ2 | ISSFOR(class)
| -PQ2 | IBBFOR(class)
| | |
+--------------------------------------+
.B2
SSCAN1 -- Used by second processor for selecting a job to run:
.b
+--------------------------------------+
SSCAN | -HPQn | IQFOR |
| -HPQ1 | IQFOR |
| -PQ2 | IRRFOR(RR) |
| -PQ2 | ISSFOR(class)
| -PQ1 | IQFOR |
| -PQ2 | IBBFOR(class)
| | |
+--------------------------------------+
.B2
SQSCAN -- Used by SQFOR code:
.b
Subqueue _# Ptrs to Quota Left
+-------------------------------------+
SQSCAN | -SQ0 | CLSQTA |
| -SQ1 | CLSQTA+1 |
| -SQ2 | CLSQTA+2 |
| | |
| -SQn | CLSQTA+n |
+-------------------------------------+
.b2
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.
.fill;.pg
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.
.b;.no fill
DCSCAN:
+--------------------------------+
| -EWQ |
|--------------------------------|
| -SLPQ |
|--------------------------------|
| -PQ2 |
|--------------------------------|
| -PQ1 |
|--------------------------------|
| -HPQn |
+--------------------------------+
.b
Notes:
.b.f
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).
.pg
Name: SPT -- Storage Allocation Pointer Table
.b.lm15;.i-15
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.
.b.i-15
Defined in: COMMOD
.b.i-15
Used by: FILFND, ONCMOD
.b.lm0
Format:
.b.lit
+-------------------------------------------------------+
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.
.el
Notes:
.f;.ls;.le;Each Unit Data Block, UDB, contains a pointer to its SPT.
.le;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.
.le;The last word in the SPT table will always be zero.
.le;Under KL-paging, the SPT is usually in Section 2.
.els
.pg
Name: STR -- File Structure Data Block
.b2;.lm15;.i-15
Description: Contains descriptive information about a file structure.
.b
There is a Structure Data Block for each structure defined in the system.
.B.i-15
Defined in: COMMOD
.b.i-15
Used by: COMMON, FILFND, FILIO, FILUUO, IPCSER, ONCMOD
.B.lm0
Format:
.b;.lit
+-------------------------------------------------------+
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 |
|-------------------------------------------------------|
.end literal
.pg
.literal
|-------------------------------------------------------|
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 |
+-------------------------------------------------------+
.el
.B
* Details following.
.b.f
Notes:
.b.ls.le;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.
.le;STRALT is incremented each time a SAT block is written for this
structure.
.le;Access is -1 if the job in right half is the only job with the structure
mounted, and it is not single-access structure.
.els
.pg.nf
STRTRY Byte Definitions
.b
+-------------------------------------------------------+
| TRY |RETRY |RECAL | | X | UNIT | |X|
+-------------------------------------------------------+
0 6 12 18 27 31 34 35
.B
Word Byte
Label Bits Label Content
.b;.lit
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.
.el
.pg
.LM0
Name: SWPLST -- Swapping List Table
.b.f.lm15.i-15
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.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: SCHED1, SWPSER, VMSER
.b.lm0
Format:
.B.nf
0 17 18 26 27 35
+-------------------------------------------------------+
| Bits | Start phys. pg. | _# of pg.* |
|-------------------------------------------------------|
| |
|-------------------------------------------------------|
. . .
.b
Notes:
.b.lm5
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)
.b;.lit
* 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.
.el
.pg
Name: SW2LST -- Secondary SWPLST
.f.b.lm15.i-15
Description: The original SWPLST entry is stored here for cleanup
purposes, since SWPLST is modified while I/O is progressing.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: VMSER
.lm0.b
Format:
.B.nf
+-------------------------------------+
SW2LST | |
|-------------------------------------|
| |
|-------------------------------------|
. . .
.b2
Name: SW3LST -- Third SWPLST
.b.F.lm15.i-15
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.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: SCHED1, SWPSER, VMSER
.b.lm0
Format:
.B.nf
+-------------------------------------+
SW3LST | . |
| . |
|-------------------------------------|
| (SWPOUT) | Job Number |
|-------------------------------------|
/ . . . /
.pg
.f
Name: SWPTAB -- Swapping Table
.b;.lm15;.i-15
Description: Contains addresses of the Unit Data Blocks of all units
available for swapping. This table specifies the active swapping list.
.b.i-15
Defined in: COMMOD
.B.i-15
Used by: CPNSER, FILFND, FILIO, ONCMOD, SEGCON, SWPSER, SYSINI,
VMSER
.b.lm0
Format:
.b.nf
+-------------------------------------+
| UDB 1 |
|-------------------------------------|
| UDB 2 |
|-------------------------------------|
| UDB 3 |
|-------------------------------------|
| |
| |
|-------------------------------------|
| UDB n |
+-------------------------------------+
.pg.f
Name: TABSTR -- Structure Table
.b;.lm15;.i-15
Description: Contains addresses of all File Structure Data Blocks in the
system. File structures are in order of access speed, fastest to slowest.
.b
Index value for each entry is the File Structure Number, FSN.
.b.i-15
Defined in: COMMOD
.b.i-15
Used by: COMMON, CPNSER, FILFND, FILIO, FILUUO, ONCMOD, SYSINI
.b.lm0
Format:
.b.nf
+-------------------------------------+
STRAOB: | -.SLMAX-1 | .FSMIN |
|-------------------------------------|
STRTAB: | STR 1 |
|-------------------------------------|
| STR 2 |
|-------------------------------------|
| |
| |
|-------------------------------------|
| STR n |
+-------------------------------------+
.B.f
Notes:
.ls.le;Number of entries is STRNUM. This value cannot exceed 36.
.le;The first word is an AOBJN pointer to the rest of the table.
.els.pg
Name: Transfer Tables
.b;.lm15;.i-15;.fill
Description: These tables are used in the requeuing process to determine
the destination queue and quantum runtime for jobs being requeued by the
scheduler.
.b.i-15
Defined in: SCHED1
.b.lm0
Format:
.b
Although these tables are defined by macros in COMMON they are represented
here in their expanded form:
.b.nf
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
.B
QNULW: EXP EQFIX ;NULL QUEUE
XWD -1,-NULQ
.B
.lit
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
.el
.pg
Name: TTFCOM -- Forced Commands Table
.b;.F;.lm15;.i-15
Description: Allows SCNSER to force a specified command to be executed
for a job without having to put the command into the terminal buffer.
.b
One entry, in SIXBIT format, for each command that SCNSER might
want to force.
.b.i-15
Defined in: SCNSER
.b.i-15
Used in: CLOCK1, COMCON, NETMCR, NETSER, NETVTM, ONCE, SYSINI,
UUOCON
.B.lm0
Format:
.b.nf
Label Content Command
+-------------------------------------+
TTFCXC | HALT | Control-C
|-------------------------------------|
TTFCXD | .BYE | Dataset
| | disconnect
|-------------------------------------|
TTFCXH | .HELLO | Dataset
| | connect
|-------------------------------------|
.lit
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)
+-------------------------------------+
.el
.pg
Notes:
.f.ls.le;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.
.le;The entries in TTFCOM are conditionally assembled; therefore all of the
above listed entries will not be in every monitor.
.els.pg
Name: Terminal Chunks
.b;.lm15;.i-15
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.
.b
Buffers are set up dynamically, as needed, from a pool of monitor
free core reserved for that purpose.
.b
The association between a buffer and a line depends on pointers in
the Line Data Block.
.b
Buffers are built from four word "chunks," which are linked together
as necessary.
.b.i-15
Defined in: SCNSER
.b.lm0
Format:
.b;.nf
+-------------------------------------+
| Prev chunk addr | Next chunk addr |
|-------------------------------------|
| | | | |
|-------------------------------------|
| | | | |
|-------------------------------------|
| | | | |
+-------------------------------------+
.b2
Notes:
.f;.ls;.le;The ninth bit in each byte of data is used to indicate image mode.
.le;If there is not another chunk in a given direction, the corresponding
linkage will be zero.
.le;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.
.le;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.
.le;See description of Line Data Block for various pointers
which are used with the TTY buffer.
.els
.pg
Name: TTUUOT -- TTCALL Dispatch Table
.b2;.lm15;.i-15
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.
.b.i-15
Defined in: SCNSER
.lm0.b
Format:
.b.lit
+-------------------------------------------------------+
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
.el
.pg
Name: TTYTAB -- TTY Table
.B.lm15.ts15.i-15
Description: One entry per job, indexed by job number.
This is the table of controlling (attached) terminals for each job.
.b.i-15
Defined in: COMMON
.b.i-15
Used by: CLOCK1, COMCON, COMDEV, CPNSER, ERRCON, FILIO, IPCSER,
PSISER, PTYSER, SCNSER, UUOCON
.b.lm0
Format:
.b;.lit
+-------------------------------------------------------+
TTYTAB: | | | Job 0
|-------------------------------------------------------|
| | DDB address | Job 1
|-------------------------------------------------------|
| | DDB address | Job 2
|-------------------------------------------------------|
| | DDB address | Job 3
|-------------------------------------------------------|
| | |
| | |
| | |
| | |
| | |
|-------------------------------------------------------|
| | DDB address | Job n
+-------------------------------------------------------+
.el
.f;.b
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.
.pg
Name: TYPTAB -- Device Types Table
.b.lm15.f.i-15
Description: Contains three letter generic device type prefix in
SIXBIT format for all possible devices in the system.
.b
Used by UUOCON subroutine which finds a DDB given its Universal Device
Index.
.b.i-15
Defined in: UUOCON
.b.i-15
Used by: UUOCON
.b.lm0.nf
Format:
.b;.lm10
+-------------------------------------+
| SIXBIT/DSK/ |
|-------------------------------------|
| SIXBIT/DTA/ |
|-------------------------------------|
| SIXBIT/MTA/ |
|-------------------------------------|
/ . . . /
+-------------------------------------+
.pg.lm0
Name: UCLJMP -- CALL and CALLI UUO Dispatch Table
.b.f.lm15.i-15
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
.b
Indexed by one half the CALLI argument.
.b
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.
.b.i-15
Defined in: UUOCON
.b.i-15
Used by: UUOCON
.lm0.nf.b
Format:
.b
+-------------------------------------+
/ . . . /
|-------------------------------------|
| Customer adr -4 | Customer adr -3 |
| |
| Customer adr -2 | Customer adr -1 |
| |
|-------------------------------------|
| DEC adr 0 | DEC adr 1 |
|-------------------------------------|
| DEC adr 2 | DEC adr 2 |
|-------------------------------------|
/ . . . /
+-------------------------------------+
.b
Notes:
.f.lm0.b
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.
.lm0.pg
Name: UCLTAB -- CALL UUO Names Table
.b.lm15.i-15
Description: Contains names of the CALL UUOs. There is one entry for
each CALL function.
.b
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.
.lm0.b.nf
Format:
.b
+-------------------------------------+
CCLTAB: | Customer CALL -m |
|-------------------------------------|
| Customer CALL -2 |
|-------------------------------------|
| Customer CALL -1 |
|-------------------------------------|
UCLTAB: | DEC CALL 0 |
|-------------------------------------|
| DEC CALL 1 |
|-------------------------------------|
| DEC CALL 2 |
|-------------------------------------|
| DEC CALL n |
+-------------------------------------+
.B2
Notes:
.F;.LS;.LE;Customers may extend the table in the negative direction with
as many of their own CALLs as desired.
.le;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.
.le;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.
.els.pg.nf.lm0
Name: UDB -- Unit Data Block
.fill.b.lm15.ts15.i-15
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.
.b.i-15
Defined in: COMMOD
.B.i-15
Used by: COMMON, CPNSER, DPXKON, ERRCON, FHXKON, FILFND, FILIO,
FILUUO, FSXKON, KLSER, ONCMOD, RPXKON, SYSINI, VMSER
.lm0.b
Format:
.b.literal
+-------------------------------------------------+
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 |
|-------------------------------------------------|
.end literal
.page
.literal
|-------------------------------------------------|
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 |
|-------------------------------------------------|
.end literal
.page
.literal
|-------------------------------------------------|
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 |
|-------------------------------------------------|
.end literal
.page
.literal
|-------------------------------------------------|
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) |
+-------------------------------------------------+
.el.b
* Indicates that details are shown on following pages.
.pg
UNISYS word (3)
.b.nf
+--------------------------------------------------------+
| Next UDB in system | SIC | | LUN |
+--------------------------------------------------------+
0 17 18 25 30 35
.b
Word Bits Byte Description
.b;.lit
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
.el
.lm0.b2
UNISWP Word (7)
.b
+-------------------------------------------------------+
|Next UDB for swapping | | CFS | K for swapping |
+-------------------------------------------------------+
0 17 20 22 23 35
.b;.lm5
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
.lm0
.b
UNISTS Word (36)
+-------------------------------------------------------+
| Code |
+-------------------------------------------------------+
0 35
.b
.nf
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
.lm 0 .b2
UNICCT Word (37)
.b
+-------------------------------------------------------+
| Section# | BCT | _# of channel termination errors |
+-------------------------------------------------------+
0 8 9 17 18 35
.b2
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
.b2
UNICHR Word (47)
.b
+-------------------------------------------------------+
| BPC | BPT | Blocks per cylinder |
+-------------------------------------------------------+
0 8 9 17 18 35
.b2
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
.b2
UNICPS Word (50)
.b
+-------------------------------------------------------+
| WPS | | SPU | CPS |
+-------------------------------------------------------+
0 8 9 10 17 18 35
.b
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
UNIDES Word (55)
.b
+-------------------------------------------------------+
| Bits |
+-------------------------------------------------------+
.b
Word Bit Label or
Label Bit Byte Pointer Content
.b
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
.pg
Word Bit Label or
Label Bit Byte Pointer Content
.b
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.
.b2.lm0.fill
Notes:
.ls.le;This word is returned by the DSKCHR UUO. Those items
marked with an asterisk are returned by the DSKCHR UUO.
.le;Controller type starts at zero (for example, DPA=0, DPB=1, and so on).
.els
.page;.no fill
UNI2ND Word
.b
+-------------------------------------------+
| Dual port flag | UDB address |
+-------------------------------------------+
0 17 18 35
.b.f
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:
.lm5.b.nf
XWD 0,UDB-addr-of-alternate If this is the main port for the
unit
.b
XWD -1,UDB-addr-of-main If this is the alternate port
.lm0
.b2
UNIAJB Word
.ls;.le;Is -1 if no DA in progress on this unit
.le;Is +n if job n is allocating but no other jobs are waiting.
.le;Is n,,n is job n is allocating and others are waiting to use
the DA resource.
.els
.pg.f.lm0
Name: UFB -- UFD Data Block
.b.lm15.i-15
Description: One data block for every UFD/file structure
pair which has an active file. All blocks for a file structure
are linked together.
.b.i-15
Defined in: COMMOD
.b.i-15
Used by: FILFND, FILIO, FILUUO
.b.lm0
Format:
.b;.lit
+-------------------------------------------------------+
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 |
+-------------------------------------------------------+
.el.b
Notes:
.b
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.
.b
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.
.pg
UFBPPB Byte Definitions:
.b.literal
+-------------------------------------------------------+
(1)| | | | | |
+-------------------------------------------------------+
0 17 18 26 28 32 35
.el
.B;.no fill
Word
Label Bits Symbol Content
.b
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.
.pg
.lm0
Name: UFD -- User File Directory
.f.b;.lm15;.i-15
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.
.b.i-15
Defined in: COMMOD
.B.i-15
Used by: FILFND, FILIO, FILUUO
.lm0.b
Format:
.nf.b;.lm10
+-------------------------------------+
| File 1 entry |
|-------------------------------------|
| File 2 entry |
|-------------------------------------|
| File 3 entry |
|-------------------------------------|
| |
+-------------------------------------+
.b2;.lm0
Format of each entry:
.b.lit
+-------------------------------------+
UFDNAM | File name in SIXBIT |
|-------------------------------------|
UFDEXT | Extension | CFP | UFDCFP
+-------------------------------------+
.el.f;.b2
Note:
.b
See MFD for discussion of compressed file pointers (CFPs).
.PG.LM0.F.PS58,70
Name: UPT -- User Process Table
.b.lm15.ts15.i-15
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.
.B
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.
.b.i-15
Defined in: S.MAC
.lm0.b
Format:
.b.literal
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 |
|------------------------------------------------------|
.end literal
.pg
.literal
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 |
|------------------------------------------------------|
.end literal
.pg
.literal
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 / /
+------------------------------------------------------+
.end literal
.pg
Notes:
.b.lm5
The bits defined in .UPBTS are:
.b.nf
Bits Symbol Meaning
.b
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
.pg.fill.LM0
Name: UUOTAB -- UUO Dispatch Address Table
.f.b;.lm15;.i-15
Description: Contains address of operator-dependent UUO routines.
.B
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.
.b
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.
.b.i-15
Defined in: UUOCON
.b.i-15
Used by: UUOCON
.b.lm0
Format:
.b.literal
+-------------------------------------------------------+
| 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 |
+-------------------------------------------------------+
.end literal
.pg
.b
Name: WSBTAB -- Working Set Bit Table
.B.f;.lm15.i-15
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.
.b.i-15
Defined in: S.MAC
.B.i-15
Used by: VMSER
.b.lm0
Format:
.b.LIT
+-------------------------------------+
| |
| |
| |
|-------------------------------------|
440 | | | | | | |
|-------------------------------------|
| | WSBTAB
| |
|-------------------------------------|
456 | | | | | | |
|-------------------------------------|
| |
.EL
.pg
.ax ANF-10 TABLES DESCRIPTIONS
.RIGHT MARGIN 62.ts
.SKIP 2
.CENTER;List of ANF-10 Tables
.SKIP 2.lm7.nf
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
.PG
.RIGHT MARGIN 70.lm0
.LITERAL
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)
.END LITERAL
.PG
.LITERAL
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) | |
+---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL
+---------------------------------------------------------------+
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 |
| |
+---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL
+---------------------------------------------------------------+
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.
.END LITERAL
.PG
.LITERAL
+---------------------------------------------------------------+
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 |
| |
+---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL
+---------------------------------------------------------------+
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
DS.TTY* 020000 Device is a terminal
DS.XDS 040000 Send DB.DCS to other node
DS.CON 100000 Device is CONNECTED
.END LITERAL
.PG
.LITERAL
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
.END LITERAL
.PG
.LITERAL
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.
.END LITERAL
.PG
.LITERAL
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)
.END LITERAL
.PG
.LITERAL
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 ==>
.END LITERAL
.PG
.LITERAL
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) |
+---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL
+---------------------------------------------------------------+
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 |
+---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL
+---------------------------------------------------------------+
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|
+---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL
+---------------------------------------------------------------+
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) |
+---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL
+---------------------------------------------------------------+
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 |
| |
+---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL
+---------------------------------------------------------------+
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.
.END LITERAL
.PG
.LITERAL
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
.END LITERAL
.PG
.LITERAL
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
.END LITERAL
.PG
.LITERAL
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.
.END LITERAL
.PG
.LITERAL
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==>
.END LITERAL
.PG
.LITERAL
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
.END LITERAL
.PG
.LITERAL
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 |
+---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL
+---------------------------------------------------------------+
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
.END LITERAL
.PG
.LITERAL
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
.END LITERAL
.PG
.LITERAL
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" |
| |
+---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL
+---------------------------------------------------------------+
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.
.END LITERAL
.PG
.LITERAL
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 |
| |
+---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL
+---------------------------------------------------------------+
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)
.END LITERAL
.PG
.LITERAL
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==>
.END LITERAL
.PG
.LITERAL
Notes:
Meaning of TE.LIN bits:
Bit Label Value Description
FW.MOR 000400 There will be another QPR msg in NCL message
.END LITERAL
.PG
.LITERAL
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 |
| |
+---------------------------------------------------------------+
.END LITERAL