Trailing-Edge
-
PDP-10 Archives
-
SRI_NIC_PERM_SRC_3_19910112
-
stanford/5-swskit/monitor-tables.mem
There are 5 other files named monitor-tables.mem in the archive. Click here to see a list.
ALOC1
Allocation 1 Table. This non-resident table, the size of
the OFN area in SPT, is used to help enforce disk quotas for
each active directory.
Defined in: STG
Reference by: PAGEM
Index: ALOCX portion of an OFN entry in the SPT
Format
+-------------------------------------------------------+ / \
ALOC1: | ADIRN | ODIRC | |
ALCWD | Directory No. | OFN Directory Count | |
|-------------------------------------------------------| |
| . | |
| . | NOFN
| . | |
| . | |
| . | |
| . | |
\ . \ |
+-------------------------------------------------------+ \ /
Note: Each SPT entry in the OFN area contains an index into this
table.
Page 2
ALOC2
Allocation 2 Table. This non-resident table, the size of
the OFN area is SPT, is used in disk quota enforcement for
each active directory.
Defined in: STG
Referenced by: DISC, PAGEM
Index: ALOCX portion of an OFN entry in the SPT
Format
+-------------------------------------------------------+ / \
| PGLFT | |
ALOC2: | Count of Pages Left for This Directory | |
| (may be negative) | |
|-------------------------------------------------------| |
| . | NOFN
| . | |
| . | |
| . | |
\ . \ |
+-------------------------------------------------------+ \ /
Note: Each SPT entry in the OFN area contains an index
into this table.
Page 3
BAT
Bad Allocation Table. The BAT Block is one sector in length
(128 words). It consists of 4 words of header, followed by
data; each 2 word data entry indicates the bad spots on the
disk.
Defined in: PROLOG
Referenced by: DSKALC, DISC, DEVICE, PHYH2
Format
+-------------------------------------------------+ --
BATNAM=0 | SIXBIT/BAT/ | |
|-------------------------------------------------| |
| BATFR | | |
BATFRE=1 | Free Blocks Left | | |
|-------------------------------------------------| |
| |9 BTHCT 17| |
| | # of Pairs | | Header
| | Added By | |
| | Mapper | | |
|-------------------------------------------------| |
| BTMCT | |
| # of Pairs Added by Monitor | --
|-------------------------------------------------| --
| Bad Block Information |* |
|-------------------------------------------------| |Data
| |9 ADD27 35 |* |Pair
| | Address of Starting Sector | |
|-------------------------------------------------| --
| . |
| . |
| . |
| . |
| . |
\ . \
|-------------------------------------------------| --
| | |
|-------------------------------------------------| |Data
| | |Pair
|-------------------------------------------------| --
BATCOD=176| Unlikely Code 606060 |
|-------------------------------------------------|
BATBLK=177| Sector Number of the BAT Block |
+-------------------------------------------------+
Page 4
Data Pair 0 8 18 20 21 22 35
+---------------------------------------------------------+
word 1 | BATNB | | BTKNM | | APRNM |
|Bad Blks Cnt| |Controller#|Type| Apr Serial # |
+---------------------------------------------------------+
Bits Pointer Content
0-8 BATNB Count of Bad Blks in Pair
18-20 BTKNB Massbus Controller #
21 BADT Type field in BAT Pair
23-35 APRNM APR Serial #
word 2
Bits
18-35 ADD18 Old style disk address of
starting sector
9-35 ADD27 New style address of
starting sector
Page 5
Name: BTB*
Description: Bit Table for Disk. This table has
mapped into it pointers to the file
STRNAM:<ROOT-DIRECTORY> DSKBTTBL,
when pages are allocated or
deallocated from the disk unit(s)
belonging to structure, STRNAM. The
bit table file as shown below
indicates which pages are assigned
(bits off) and which are available
(bits on).
It consists of two parts; the top
half contains the number of free
pages for each cylinder in the
structure and the bottom half
contains a bit map (1 bit per page)
for all pages of each cylinder in
the structure.
At initialization time, all of this
structure's pages belonging to the
Home blocks, swapping space and
pointed to by the BAT blocks are
assigned in the Bit Table file.
Defined in: STG
Referenced by: DSKALC
Page 6
Format
+-------------------------------------+
! Free Pages on Cylinder 0 !
!-------------------------------------!
! Free Pages on Cylinder 1 !
!-------------------------------------!
! . !
! . !
! . !
! . !
! . !
! . !
! . !
! . !
! . !
! . !
!-------------------------------------!
! Free Pages on Cylinder n !
!-------------------------------------!
\ \ \
\ \ Cylinder 0
\ \ /
!-------------------------------------!
\ \ \
\ \ Cylinder 1
\ \ /
!-------------------------------------!
! . !
! . !
! . !
! . !
! . !
! . !
! . !
! . !
! . !
! . !
!-------------------------------------!
\ \ \
\ \ Cylinder n
\ \ /
+-------------------------------------+
Page 7
Note:
In the bit map each cylinder starts on a word boundary
and contains as many full words as are needed for all
of its pages.
*For Systems which have sectioning, the BTB table does
not hold the maps for the disk bit table file. Rather,
the monitor will map the disk bit table file for a
structure into section four of the monitor's address
space when it needs to allocate or deallocate disk pages.
That is, the index block of this file will be the page
table pointed to by the monitor's section pointer for
section four.
Page 8
BUG-HLT/CHK/INF-STORAGE-AREA
BUGHLT, BUGCHK, and BUGINF Storage Area. This resident
storage is used to hold such information as the push down
list, PC, ACs and dispatch address when a
BUGHLT/BUGCHK/BUGINF occurs. BUGSEB holds the pointer to
the last queued up SYSERR block. (See SYSERR-STORAGE-AREA)
Defined in: STG
Referenced by: APRSRV, CDRSRV, DEVICE, DIAG, DIRECT, DISC,
DSKALC, DTESRV, ENQ, FESRV, FILINI, FIMLSC,
FORK, FREE, FUTILI, GTJFN, IMPPHY, IMPDV,
IO, IPCF, JSYSA, JSYSF, LINPR, LOGNAM,
LOOKUP, MAGTAP, MEXEC, MSTR, NETWRK,
NSPSRV, PAGEM, PHYH11, PHYH2, PHYM2, PHYP4,
PHYSIO, SCHED, STG, SWPALC, SYSERR, TAPE
TTYSRV
FORMAT
+-------------------------------------------------------+
BUGHLT:| 0 (PC Stored here on BUGHLT)|
|-------------------------------------------------------|
| JRST BUGHO the BUGHLT was issued |
|-------------------------------------------------------|
SVVEXM:| Save Valid Examine in BUGTYO |
|-------------------------------------------------------|
BUGLCK:| Lock on BUGxxx Routines |
|-------------------------------------------------------|
BUGCHK:| 0 (PC Stored here on BUGCHK)|
|-------------------------------------------------------|
| JRST BUGCO |
|-------------------------------------------------------|
BUGINF:| 0 (PC Stored here on BUGINF)|
|-------------------------------------------------------|
| JRST BUGIO |
|-------------------------------------------------------| / \
BUGACS:| | |
\ ACs Saved on a BUGHLT \ # of
\ (Contents of ACs at time of BUGHLT) \ ACS
|-------------------------------------------------------| \ /
BUGPDL:| Push Down List | / \
\ \ BUGPLN
\ \ (12)
|-------------------------------------------------------| \ /
BUGCNT:| Count of BUG Blocks in SYSERR Queue |
| (Maximum of BUGMAX=5) |
|-------------------------------------------------------|
BUGNUM:| Number of BUGHLT/CHK/INFs since STARTUP |
|-------------------------------------------------------|
BUGSEB:| Ptr to last queued up SYSERR Block |
| due to a BUGHLT/CHK/INF |
|-------------------------------------------------------|
Page 9
BUGP: | Place to Store P During BUG HLT/CHK/INF |
|-------------------------------------------------------|
BUGP1: | Temp Storage for BUGSTO Routine |
|-------------------------------------------------------|
BUGP2: | Temp Storage for BUGSTO Routine |
|-------------------------------------------------------|
BUGP3: | Temp Storage for BUGSTO Routine |
|-------------------------------------------------------|
BUGTMS:| Time to Store Next BUGTIM |
| (Length of Interval Is BUGINT = 5 min) |
|-------------------------------------------------------|
BUGTIM:| ASCII Time & Data Stored for BUGHLT |
+-------------------------------------------------------+
Page 10
CDB
Channel Data Block. This table, one per channel, contains
channel dependent instructions and data, pointers to the
units (i.e. UDBs) belonging to the channel and information
about the currently active unit. When the channel
interrupts, control passes (via a JSP instruction) to
CDBINT. The CDB address is stored in AC, P1, and the
principal analysis routine, PHYINT, is called.
Defined in: PHYPAR
Referenced by: PHYSIO, PHYH2, PHYM2, PHYP4
Format
+-------------------------------------------------------+
CDBINT | 0(2-word PC stored on interrupt)|
|-------------------------------------------------------|
-5 | 0 |
|-------------------------------------------------------|
-4 | (Flags) 0 |
|-------------------------------------------------------|
-3 | 0,, .+1 |
|-------------------------------------------------------|
-2 | MOVEM P1, .+2+CDBSVQ |
|-------------------------------------------------------|
-1 | JSP P1, PHYINT |
|-------------------------------------------------------|
CDBSTS=0| Status and Configuration Information |
|-------------------------------------------------------|
CDBMBW=1| Memory Bandwidth Scheduling Information |
|-------------------------------------------------------|
CDBODT | Overdue Timer when Data Transfer Active |
|-------------------------------------------------------|
CDBICP | EXEC Virtual Adrs (EPT Adrs) of |
| Interrupt Vector,, Data Logout Area |
|-------------------------------------------------------|
CDBIUN | Initial AOBJN Pointer to UDB Table |
|-------------------------------------------------------|
CDBCUN | Current AOBJN Pointer to UDB Table |
|-------------------------------------------------------|
CDBDSP | Unit Utilities Dispatch | Main Entry Dispatch |
| | (Channel Dispatch Table) |
|-------------------------------------------------------|
CDBFCT | Fairness Count for Latency |
|-------------------------------------------------------|
CDBPAR | Channel Memory Parity Errors |
|-------------------------------------------------------|
CDBNXM | Channel NXMs |
|-------------------------------------------------------|
CDBXFR | Currently Transferring UDB |
|-------------------------------------------------------|
CDBCCL \ Channel Command List (3 words) \
|-------------------------------------------------------|
Page 11
| |
CDBUDB | UDB Table (8 words) |
\ \
|-------------------------------------------------------|
CDBSVQ | P1 Saved Here on Vector Interrupt Entry |
|-------------------------------------------------------|
CDBJEN | BLT 17, 17 (Interrupt Dismiss) |
|-------------------------------------------------------|
| DATA0 RH, CDBRST |
|-------------------------------------------------------|
| XJEN CDBINT(P1) |
|-------------------------------------------------------|
CDBRST | Location Used by CDBJEN |
|-------------------------------------------------------|
CDBCNI | Channel CONI at Start of Interrupt |
|-------------------------------------------------------|
CDBONR | Fork Who Has Channel in Maint. Mode |
|-------------------------------------------------------|
CDBADR | Number of This Channel (CHNTAB index) |
|-------------------------------------------------------|
CDBCS0 | Channel Status 0 at Error |
|-------------------------------------------------------|
CDBCS1 | Channel Status 1 |
|-------------------------------------------------------|
CDBCS2 | Channel Status 2 |
|-------------------------------------------------------|
CDBCC1 | First CCW |
|-------------------------------------------------------|
CDBCC2 | Second CCW |
|-------------------------------------------------------|
CDBOVR | Number of Overruns |
|-------------------------------------------------------|
CDBICR | Initial STCR When Device Started |
|-------------------------------------------------------|
CDBCL2 \ Alternate CCW List (3 words) \
|-------------------------------------------------------|
CDBDDP \ CDB Device Dependent Block \
\ \
\ \
| |
| |
| |
+-------------------------------------------------------+
Page 12
0 1 2 3 4 5 6 25 26 28 9 0 31 35
+-------------------------------------------------------+
CDBSTS | | | | | | | | PIA | | TYPE |
+-------------------------------------------------------+
Symbol Bits Content
CS.OFL 0 Offline
CS.AC1 1 Primary command active
CS.AC2 2 Secondary command active
CS.MAI 3 Channel is in maint. mode
CS.MRQ 4 Maint. mode requested for a unit
CS.ERC 5 Error recovery in progress
CS.STK 6 Channel Support Command Stacking
CS.ACL 7 Alternate CCW List is Current
26-28 PIA field
31-35 Channel type field
CDBDSP
See Tables, UDS and CDS
CDBDDP
CDB Device Dependent Block for the RH20 Controller
+-------------------------------------+
CDBDDP=RH2CNI | CONI RH2, TI |
|-------------------------------------|
| CONO RH2, T2 |
|-------------------------------------|
| DATAI RH2, T1 |
|-------------------------------------|
| DATAO RH2, T2 |
+-------------------------------------+
Page 13
CDB Device Dependent Block for the RH11 Controller
+-------------------------------------+
CDBDDP=RC1CS1 | Control Status 1 |
|-------------------------------------|
RC1DS | Drive Status Register |
|-------------------------------------|
RC1ER1 | Error Register 1 |
|-------------------------------------|
RC1MR | Maintenance Register |
|-------------------------------------|
RC1AS | Attention Summary Register |
|-------------------------------------|
RC1DA | Desired Address Register |
|-------------------------------------|
RC1DT | Driver Type Register |
|-------------------------------------|
RC1LA | Look Ahead Register |
|-------------------------------------|
RC1SN | Serial Number Register |
|-------------------------------------|
RC1OF | Offset Register |
|-------------------------------------|
RC1DC | Desired Cylinder Register |
|-------------------------------------|
RC1CA | Current Cylinder Register |
|-------------------------------------|
RC1ER2 | Error Register 2 |
|-------------------------------------|
RC1ER3 | Error Register 3 |
|-------------------------------------|
RC1EC1 | ECC Register 1 |
|-------------------------------------|
RC1EC2 | ECC Register 2 |
|-------------------------------------|
RC1WC | Word Count Register |
|-------------------------------------|
RC1BA | Current Address Register |
|-------------------------------------|
RC1CS2 | Control and Status Register 2 |
|-------------------------------------|
UBADSW | Unibus Status Register Address |
|-------------------------------------|
UBBASA | Unibus Bus Addr. Base Addr. |
+-------------------------------------+
Page 14
CDR-STORAGE-AREA
Card Readers (Physical) Storage Area. Most entries are CDRN
words long where CDRN equals the number of card readers on
the system.
Defined in: STG
Referenced by: CDRSRV
Format
+-----------------------------------------------+ / \
\ \ CDEN
CDRCT1: \ Buffer Count \ \ /
|-----------------------------------------------| / \
CDRCKT: \ Word for Scheduler Test \ CDRN
|-----------------------------------------------| \ /
\ \ / \
CDRSTS: \ Status Word \*CDRN
|-----------------------------------------------| \ /
\ \ / \
CDRST1: \ Second Status Word \*CDRN
|-----------------------------------------------| \ /
\ \ / \
CDRST2: \ Third Status Word \*CDRN
|-----------------------------------------------| \ /
\ \ / \
CARDCT: \ Count of Cards Read \ CDRN
|-----------------------------------------------| \ /
\ \ / \
CARDER: \ Number of "Hardware" Errors \ CDRN
|-----------------------------------------------| \ /
CDRLCK: | CDR Lock Word |
|-----------------------------------------------|
CDRCNT: | Count of CDRs Opened |
|-----------------------------------------------| --
\ \ / \ |
CDUBAD: \ Address of UBA Window \ CDRN |
|-----------------------------------------------| \ / |
\ \ / \ |
CD11A: \ Address of UBA-11 Address \ CDRN |
|-----------------------------------------------\ \ / |
\ \ / \ KS10
CDERBF: \ Error Status for Cardreader \ CDRN ONLY
\ \ *16 |
|-----------------------------------------------| \ / |
\ \ / \ |
CDUNIT: \ Unit Number of Cardreader \ CDRN |
+-----------------------------------------------+ \ / --
Page 15
The Non-resident area contains:
+-----------------------------------------------+ / \
| | |
CDRBUF: \ Card Reader Buffer \ 1 Page
| | |
+-----------------------------------------------+ \ /
0 17 8 9 20 35
+------------------------------------------------------------+
| CDFRK | | | CDERR |
CDRSTS| Owning Fork | | | Last Error Condition|
+------------------------------------------------------------+
Bits Pointer Content
0-17 CDFRK Owning fork
18 CDOL If one, cards in reader
19 CDBLK Waiting for a card
20-35 CDERR Last error condition
0 1 2 3 4 5 11 2 3 4 5 6 17 18 35
+------------------------------------------------------------+
| | | | | | | | | | | | |CDWRD |
CDRST1| | | | | | | | | | | | | Current Internal Storage Word|
+------------------------------------------------------------+
Bits Pointer Content
0 CDAII CDR opened in ASCII
1 CDATN CDR needs attention
2 CDMSG Suppress system messages
3 CDOPN CDR is open
4 CDER Error in this CDR
12 CDCNT Count of bytes now in buffer
13 CDEOF EOF button was pushed
14 CDBUF Buffer for process level
15 CDPIR Process needs interrupt
16 CDBFI Buffer for PI level
17 CDDON If one, doing a buffer by process
18-35 CDWRD Current internal storage word
Page 16
0 1 2 3 4 5 6 7 11 12 17 8 9 20 35
+------------------------------------------------------------+
| | | | | | | | | |CDSST |
CDRST2| | | | | | | | CDPSI | | Software Status Word|
+------------------------------------------------------------+
Symbol Bits Pointer Content
CD%SHA 0 CDSHA "Status has arrived" flag
1 CDMWS MTOPR is waiting for status to
arrive
CD%RLD 2 CDRLD Front end has reloaded
3 CDOFI Offline interrupt is pending
4 CDEFI End of file interrupt
already given
5-6 CDRTYP Type of card reader
7 CDEXST Existance of reader
12-17 CDPSI PSI chan. no. for on-line
transitions
20-35 CDSST Software status word
Symbol Bits Content
.DVFFE 28 Device has a
fatal, unre-
coverable error
.DVFLG 29 Error logging
info. follows
.DVFEF 30 EOF
.DVFIP 31 I/O in progress
.DVFSE 32 Software cond.
.DVFHE 33 Hardware error
.DVFOL 34 Offline
.DVFNX 35 Nonexistent device
Page 17
CDS
Channel Dispatch Service Routine Table. This table contains
vectored addresses to channel dependent functions, and is
given in its generalized form. The specific channel
dispatch table for the RH20 begins at RH2DSP in PHYH2. See
PHYPAR for definitions of arguments given and returned on
calls to these channel routines.
Defined in: PHYPAR
Referenced by: PHYH2, PHYM2, PHYP4, PHYSIO, STG
Format
+-------------------------------------------------------+
CDSINI=0 | Initialize and Build Data Structure |
|-------------------------------------------------------|
CDSSTK=1 | Stack Second Channel Command, Skip if OK |
|-------------------------------------------------------|
CDSSIO=2 | Start I/O on IORB (skip if started O.K.) |
|-------------------------------------------------------|
CDSPOS=3 | Do Positioning to Idle Unit (skips if O.K.) |
|-------------------------------------------------------|
CDSLTM=4 | Return Latency and Best Request (i.e. best IORB) |
|-------------------------------------------------------|
CDSINT=5 | Interrupt Entry |
|-------------------------------------------------------|
CDSCCW=6 | Generate Single CCW Entry |
|-------------------------------------------------------|
CDSHNG=7 | Hung Reset |
|-------------------------------------------------------|
CDSRST=10| On Restart, Reset Channel and All Devices |
|-------------------------------------------------------|
CDSCHK=11| Periodic Check Entry, PIA, etc. |
+-------------------------------------------------------+
Page 18
CHNTAB
Channel Table, indexed by channel number, contains channel
data block (CDB) pointers.
Defined in: STG
Referenced by: DIAG, DSKALC, PHYH11, PHYH2, PHYSIO
Index: Channel Number
Format
+-----------------------------------------------+ / \
CHNTAB: | CDB Pointer | |
|-----------------------------------------------| |
| . |
| . | CHNN
| . |
| . | |
\ . \ |
+-----------------------------------------------+ \ /
Page 19
CLASS-SCHEDULER-STORAGE
This storage is used by the class scheduling algorithms.
Defined in: STG
Referenced by: SCHED
Index: A number of the sections are indexed by either class
(sections of length MAXCLS) or by job number
(sections of length NJOBS).
Format
+-------------------------------------------------------+
MJBUSE: | Highest job in use |
+-------------------------------------------------------+
RDRTIM: | Time to do next reorder |
+-------------------------------------------------------+
UTLTIM: | Time to compute utilization |
+-------------------------------------------------------+
UTLINT: | Interval to compute next utilization |
+-------------------------------------------------------+
OLDSLD: | Previous sold time |
+-------------------------------------------------------+
CLASSF: | If non-zero, doing classy scheduling |
+-------------------------------------------------------+
CLSCTL: | Class control word | *
+-------------------------------------------------------+
CLSUTL: | | /\
| Class utilization | MAXCLS
\ . \ \/
+-------------------------------------------------------+
JOBCLS: | | /\
| Class per job | NJOBS
\ . \ \/
+-------------------------------------------------------+
JOBUTL: | | /\
| Job utilization | NJOBS
\ . \ \/
+-------------------------------------------------------+
JOBIRT: | | /\
| Job incremental runtime | NJOBS
\ . \ \/
+-------------------------------------------------------+
JOBDST: | | /\
| Job distance | NJOBS
\ \ \/
+-------------------------------------------------------+
CLSSHR: | | /\
| Class share | MAXCLS
\ . \ \/
+-------------------------------------------------------+
WA: | | /\
| Windfall allocation (or -1) | MAXCLS
Page 20
\ . \ \/
+-------------------------------------------------------+
CLSSHI: | | /\
| Share per member | MAXCLS
\ . \ \/
+-------------------------------------------------------+
CLSCNT: | CLGLC | | / \
| Count of processes | | MAXCLS
| on GOLST per class | | |
\ . \ \ /
+-------------------------------------------------------+
CLSDST: | | /\
| Class distance | MAXCLS
\ . \ \/
+-------------------------------------------------------+
CLSSUM: | | /\
| Integral of NRUN for classes | MAXCLS
\ . \ \/
+-------------------------------------------------------+
CLSIRT: | | /\
| Class incremental runtime | MAXCLS
\ . \ \/
+-------------------------------------------------------+
0 1 9 10 18 19 20 25 26 36
+-------------------------------------------------------+
CLSCTL | | CLSDF | CLSBT | | CLSKV | |
entry +-------------------------------------------------------+
Bits Pointer Content
0 CLSBD BATCH jobs to dregs queue
1-9 CLSDF Default class
10-18 CLSBT Batch class
19 CLSAC If on, class by accounts
20-25 CLSKV Current knob value
Page 21
CST0
Core Status Table 0 (sometimes referred to as CST). Each
entry in this table, is principally defined by the pager.
If the page is in use, the entry contains the age stamp for
the page, which processes have referenced it and whether the
page has been modified. The age stamp field is used to show
the page's state if it is not assigned to a process.
Defined in: STG
Referenced by: APRSRV, DIAG, DSKALC, PAGEM
Index: Physical page number
Format
+-------------------------------------------------------+
| CSTAGE | | | / \
CST0:| Age | Process Use Register |M| |
|-------------------------------------------------------| |
| or | |
|-------------------------------------------------------| |
| CSTAGE | XGAGE | CFXRD | | |
| Page State | | Fork # | | |
|-------------------------------------------------------| |
| . | |
| . | |
| . |
| . | MAXCOR
| . |
\ . \ |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | \ /
+-------------------------------------------------------+
Page 22
Symbol Bits Pointer Content
0-8 CSTAGE If page in use, contents of
pager age register ( >= 100 )
at last age register reload
9-14 XGAGE Age at last XGC (low bits only)
CORMB 35 This is the "modified" bit which
is set by the pager on any write
reference. This bit will be 1 if
the page has been written since
the last operation.
AGEMSK 0-8 CSTAGE If page not in use, this field
indicates (right-justified) the
page state as follows:
PSRPQ = 0 On replaceable queue
PSDEL = 1 To be put on replace
able queue
PSRDN = 2 Read completed
PSWIP = 4 Write in progress
PSRIP = 6 Read in progress
PSSPQ = 7 Page on special memory
queue
PSASN = 10 Page assign to process
if age field >=
PSASN.
(The age field should
always be strictly
greater than 10 as
it is initialized
to 100 and increases
in value as process
runs.)
15-32 CFXRD Number of fork which initiated
read if page not in use
(i.e. age field < 10).
PSTFLD 33-34 CSTPST Special page state
PSTAVL=.MCPSA=0 Available for
RPLQ when freed
PSTSPM=.MCPSS=1 Place on SPMQ
when freed
PSTOFL=.MCPSO=2 Offline-action
as PSTSPM
PSTERR=.MCPSE=3 Offline due to
error action as
PSTSPM
Page 23
CST1
Core Status Table 1. This table is referenced only by the
software and is parallel to CST0. It contains the lock
count which indicates the number of system events requiring
the page be locked in core (i.e., page table contains other
core addresses) and the backup address (next level of
storage) for each page in core (1000000 if unassigned).
Defined in: STG
Referenced by: PAGEM, PHYSIO, SCHED
Index: Physical page number
Format
+-----------------------------------------------+
| PLKMSK | | |
CST1: |Lock Count | | Backup Address | / \
|-----------------------------------------------| |
| . | |
| . | |
| . | |
| . |
| . | MAXCOR
| . |
| . | |
| . | |
| . | |
| . | |
\ . \ \ /
+-----------------------------------------------+
Symbol Bits Pointer Content
PLKV 0-11 PLKMSK Lock count field-if non-zero,
the page will not be
considered for swapping
11 Page lack value in CST1
14-35 Backup address
Page 24
CST2
Core Status Table 2 (Home Map Location). This table,
indexed by physical page number, is referenced only by the
software and is parallel to CST0. It contains the home map
location for the page (i.e., the page table which contains
the core address pointing to the page).
If the left half is 0, the home map is the SPT and the right
half contains the SPT index. If the left half is not 0, the
home map is a page table or index block, where PTN is the
SPT index of that map and PN is the page number within that
map.
(See the SPT and SPTH table descriptions.)
Defined in: STG
Referenced in: PAGEM, PHYSIO
Index: Physical page number
Format
+-------------------------------------------------------+
CST2: | PTN | PN | / \
|-------------------------------------------------------| |
| or | |
|-------------------------------------------------------| |
| 0 | SPTN | |
|-------------------------------------------------------| |
| . | |
| . |
| . | MAXCOR
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ \ /
+-------------------------------------------------------+
NOTE
The SPTN/PTN value (both SPT
indexes) is used to specify
the kind of page represented
in the CST2 table. For
example, if the SPTN in the
second format above is greater
than or equal to NOFN (length
of the OFN area), the process'
Page 25
page is a file page pointed to
by a shared pointer or fork
overhead page. Otherwise
(i.e., SPTN<NOFN), it's an
index block page.* Likewise,
if the PTN value in the first
format above is greater than
or equal to NOFN, the page is
a private process page (i.e.,
pointed to by a direct pointer
from the process' map).
Otherwise (i.e., PTN<NOFN), it
is a process' file page
pointed to by an indirect
pointer through the file's own
page table, the index block.*
* In both of these cases when
an index block is involved
(i.e., SPTN/PTN< NOFN), it is
common to find in the monitor
listings the symbolic
notation, OFN, replacing
SPTN/PTN.
Page 26
CST3
Core Status Table 3. This table, indexed by physical core
page number, is referenced only by the software and is
parallel to CST0. An entry in this table is used for a
variety of purposes, generally as a list pointer for groups
of pages on various queues.
For example, when on the replaceable queue, the left half
and right half contain backward and forward list pointers,
respectively. When on a swapping device queue, the right
half contains a forward list pointer and B0 is 1 if write
and 0 if read. Other queues threaded through this table are
the deletion and special memory queues.
When the page is in use (not linked on one of the queues),
it contains the local disk address for PHYSIO and the fork
assigned to the page.
Defined in: STG
Referenced by: PAGEM, PHYSIO, SCHED
Index: Physical page number
Format
+-------------------------------------------------------+
CST3:| Backward List Pointer | Forward List Pointer | / \
|-------------------------------------------------------| |
| or | |
|-------------------------------------------------------| |
| | | Forward List Pointer | |
|-------------------------------------------------------| |
| or | |
|-------------------------------------------------------| |
| | CSTOFK | CSTLDA |* |
|Flags | Fork # | Local Disk Address |
|-------------------------------------------------------| MAXCOR
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ \ /
+-------------------------------------------------------+
Page 27
0 1 2 3 14 15 35
+--------------------------------------------------------------+
| | | | CSTOFK | CSTLDA |
| | | | Fork # | Local Disk Address |
+--------------------------------------------------------------+
Symbol Bits Pointer Content
DWRBIT 0 Set if write in progress.
The bit is cleared by the
swapper when the write
completes.
SWPERR 1 Set if an unrecoverable
error occurred when this
page read in from disk/drum
DSKSWB 2 Swap to disk requested by
DDMP (periodic routine that
trickles file pages to the
disk) or by monitor when
certain monitor calls are
issued, e.g., CLOSF
3-14 CSTOFK Process to which this page
is assigned (7777 is not
assigned).
15-35 CSTLDA Local disk address for
PHYSIO
Page 28
CST5
Core Status Table 5. This table, indexed by physical core
page number, is referenced only by the software and is
parallel to CST0. It is a table of short IORBs. (See the
IORB table description for format of the IRBSTS entry.)
Defined in: STG
Referenced by: PHYH2J, PHYSIO
Index: Physical page number
Format
+-------------------------------------------------------+
CST5: | Flags | Next Disk IORB(short/long)| / \
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . |
| . | MAXCOR
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ \ /
+-------------------------------------------------------+
Page 29
DEV`DTB
Device Dispatch Table. Each device has its own dispatch
table that conforms to the format described below. An error
return dispatch address is placed in those words which have
no corresponding device function. The naming convention for
these tables is the device name concatenated with DTB (i.e.
MTADTB, DSKDTB, TTYDTB, etc.)
Defined in: PROLOG
Referenced by:
Format
+-------------------------------------------------------+
DLUKD=0 | Directory Setup |
|-------------------------------------------------------|
NLUKD=1 | Name Lookup |
|-------------------------------------------------------|
ELUKD=2 | Extension Lookup |
|-------------------------------------------------------|
VLUKD=3 | Version Lookup |
|-------------------------------------------------------|
PLUKD=4 | Protection Insertion |
|-------------------------------------------------------|
ALUKD=5 | Account Insertion |
|-------------------------------------------------------|
SLUKD=6 | Status Modification |
|-------------------------------------------------------|
OPEND=7 | Open File |
|-------------------------------------------------------|
BIND=10 | Sequential Byte Input |
|-------------------------------------------------------|
BOUTD=11 | Sequential Byte Output |
|-------------------------------------------------------|
CLOSD=12 | Close File |
|-------------------------------------------------------|
REND=13 | Rename File |
|-------------------------------------------------------|
Page 30
DELD=14 | Delete File |
|-------------------------------------------------------|
DMPID=15 | Dump Mode Input |
|-------------------------------------------------------|
DMPOD=16 | Dump Mode Output |
|-------------------------------------------------------|
MNTD=17 | Mount |
|-------------------------------------------------------|
DSMD=20 | Dismount |
|-------------------------------------------------------|
INDD=21 | Initialize a Directory |
|-------------------------------------------------------|
MTPD=22 | MTAPE Operations |
|-------------------------------------------------------|
GDSTD=23 | Get Device Status |
|-------------------------------------------------------|
SDSTD=24 | Set Device Status |
|-------------------------------------------------------|
RECOUT=25| Force Record Out (SOUTR) |
|-------------------------------------------------------|
RFTADD=26| Read File Time and Date |
|-------------------------------------------------------|
SFTADD=27| Set File Time and Date |
|-------------------------------------------------------|
JFNID=30 | Set JFN for Input |
|-------------------------------------------------------|
JFNOD=31 | Set JFN for Output |
|-------------------------------------------------------|
ATRD=32 | Check Attribute |
+-------------------------------------------------------+
Page 31
DEVCH1
Device Characteristics Table 1. This table, contains
another word of information about each device unit in the
system and is initialized from the INIDVT table at system
start up time.
Defined in: STG, MONSYM
Referenced by: DEVICE, DSKALC, FILINI, FUTILI, GTJFN,
JSYSA, JSYSF, MEXEC, MSTR
Format
+-------------------------------------------------------+
DEVCH1: | Device Characteristics (word 2) | / \
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . | |
| . |
| . |NDEV
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ \ /
+-------------------------------------------------------+
Symbol Bit Content
D1%%SPL 0 Device is spooled
D1%%ALC 1 Device is under control
of allocator
D1%%VVL 2 Volume valid
D1%%NIU 3 Device slot not is use
D1%%INI 4 Device is being initialized
currently for structures
only)
Page 32
DEVCH2
Device Characteristcs Table 2. This table contains spool
directory information and is parallel to the DEVCH1 table.
Defined in: STG
Referenced by: DISC, JSYSA
Format
+-------------------------------------------------------+
DEVCH2: | Directory Number of Spool Directory | / \
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . | |
| . |
| . |NDEV
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ \ /
+-------------------------------------------------------+
Page 33
DEVCHR
Device Characteristics Table. This table contains indexed
information about each device unit and is initialized from
the INIDVT table at system startup time. See INIDVT table
for bit definitions.
Defined in: STG
Referenced by: DEVICE, DISC, FILMSC, GTJFN, JSYSA, JSYSF,
MEXEC, TTYSRV
Format
8 9 17 18 35
+-------------------------------------------------------+
DEVCHR: | CHAR1* | TYPE | MODES | / \
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . | |
| . |
| . | NDEV
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ \ /
+-------------------------------------------------------+
*CHAR1
Bit 5 can take on another meaning (i.e., DV%OPN=1B5;
File Open on Device) than the one described in INIDVT.
Note: A resident word, DEVLCK (Free is -1), is used to
lock the data base in the DEVXXX Tables when they
are being manipulated.
Page 34
DEVDSP
Device Dispatch Table Addresses. This table contains the
device dispatch table for each device unit and is
initialized from the INIDVT table at system startup time.
Defined in: STG
Referenced by: DEVICE, JSYSA, JSYSF
Format
+-------------------------------------------------------+
DEVDSP: | Device Type Index | Dispatch Table Address | / \
| (Not Referenced) | | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . | |
| . |
| . | NDEV
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ \ /
+-------------------------------------------------------+
Page 35
DEVNAM
Device Name Table. This table contains the SIXBIT device
name for each device unit. The generic device name is
obtained from INIDVT, modified to include unit number (if
device has units) and stored in this table at system start
up time.
Defined in: STG
Referenced by: DEVICE, FILINI, GTJFN, IPCF, JSYSA, MEXEC,
MSTR
Format
+-------------------------------------------------------+
DEVNAM: | SIXBIT / Name / | / \
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . | |
| . |
| . | NDEV
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ \ /
+-------------------------------------------------------+
Page 36
DEVUNT
Device Unit Table. This table, contains infomation about
the job associated with a unit, where the unit information
in DEVUNT is built at system startup utilizing data from the
INIDVT table.
Defined in: STG
Referenced by: DEVICE, DSKALC, FILINI, FILMSC, JSYSA, JSYSF
MEXEC, MSTR, TAPE, TTYSRV
Format
+-------------------------------------------------------+
DEVUNT: |Assigner's Job#/Dev Free(-1)|Unit # or No Unit Dev(-1) | / \
| | or being controlled by | |
| | the allocator (-2) | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . | |
| . |
| . |NDEV
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ \ /
+-------------------------------------------------------+
Page 37
DIRECTORY
Directory Format. The following illustrations show the
format of a TOPS-20 directory.
Defined: PROLOG
Referenced by: DIRECT, DISC, DSKALL
Overview of a Directory
+-------------------------------------------------------+
| |
| Page 0 |
| |
|-------------------------------------------------------|
| |
| Page 1 |
| |
|-------------------------------------------------------|
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
|-------------------------------------------------------|
| |
| Page n |
| |
|-------------------------------------------------------|
| |
| |
| Symbol Table |
| |
| |
|-------------------------------------------------------|
| |
| |
| Reserved for Directory Expansion |
| |
| |
+-------------------------------------------------------+
Page 38
First Page of a Directory
0 17 18 23 24
+-------------------------------------------------------+
| DRTYP | DRVER | DRHLN |
| Block Type TYDIR (400300) | Ver. # | Length of Header |
|-------------------------------------------------------|
| DRRPN | DRNUM |
| Relative Page # in DIR | Directory Number |
|-------------------------------------------------------|
| DRFFB |
.DRFFB=2| Pointer to First Free Block |
|-------------------------------------------------------|
| DRSBT |
| Address of Bottom of Symbol Table |
|-------------------------------------------------------|
| DRSTP |
| Address of Top of Symbol Table |
|-------------------------------------------------------|
| DRFTP |
| Address of Last Used Word+1 for Strings and FDBs |
|-------------------------------------------------------|
| DRFBT |
| Pointer to Free Bit Table |
|-------------------------------------------------------|
| DRDPW |
| Default File Protection |
|-------------------------------------------------------|
| DRPRT |*
| Default Directory Protection |
|-------------------------------------------------------|
| DRDBK |
| Backup Specification |
|-------------------------------------------------------|
| DRLIQ |
| Logged In Quota |
|-------------------------------------------------------|
| DRLOQ |
| Logged Out Quota |
|-------------------------------------------------------|
| DRDCA |
| Current Directory Allocation |
|-------------------------------------------------------|
| DRNAM |
| Pointer to Directory Name String |
|-------------------------------------------------------|
| DRPSW |
| Pointer to Password String |
|-------------------------------------------------------|
| DRPRV |
| Privilege Bits |
|-------------------------------------------------------|
| DRMOD |
Page 39
| Mode Bits |
|-------------------------------------------------------|
| DRDAT |
| Date and Time of Last LOGIN |
|-------------------------------------------------------|
| DRUGP |
| Pointer to User Group List |
|-------------------------------------------------------|
| DRDGP |
| Pointer to Directory Group List |
|-------------------------------------------------------|
| DRUDT |
| Date and Time of Last Update to Directory |
|-------------------------------------------------------|
| DRSDM | DRSDC |
| Max # of Subdirectories | Count of Subdirectories |
|-------------------------------------------------------|
| DRCUG |
| CRDIR allowed specifying these User Groups |
|-------------------------------------------------------|
| DRACT |
| Pointer to Dir. Default Account |
|-------------------------------------------------------|
| DRDNE |
| Default online expiration date/interval |
|-------------------------------------------------------|
| DRDFE |
| Default offline expiration date/interval |
|-------------------------------------------------------|
| |
| Spare Words |
| |
| |
\ \
|-------------------------------------------------------|
| |
| Free Space for Strings and FDBs |
| |
\ \
+-------------------------------------------------------+
Page 40
18 23 24 29 30 35
+-----------------------------------------------------------+
DRPRT | | DRPOW | DRPGP | DRPWL |
+-----------------------------------------------------------+
Bits Pointer Content
18-23 DRPOW Owner field
24-29 DRPGP Group field
30-35 DRPWL World field
General format for all blocks
0 17 18 23 24 35
+----------------------------------------------------------+
| BLKTYP | BLKVER | BLKLEN |
| Type code | Ver. # | Length |
+----------------------------------------------------------+
Possible type codes are:
.TYNAM = 400001
.TYEXT = 400002
.TYACT = 400003
.TYUNS = 400004
.TYFDB = 400100
.TYLAC = 400200
.TYDIR = 400300
.TYSYM = 400400
.TYFRE = 400500
.TYFBT = 400600
.TYGDB = 400700
Page 41
Subsequent Directory Pages
+-------------------------------------------------------+
| DRTYP | DRVER | DRHLN |
| .TYDIR (400300) | Ver. # | Length of Header |
|-------------------------------------------------------|
| DRRPN | DRNUM |
| Relative Page # in DIR | Directory Number |
|-------------------------------------------------------|
| DRFFB |
| Pointer to First Free Block |
|-------------------------------------------------------|
| |
| |
| Free Space for Strings and FDBs |
| |
| |
+-------------------------------------------------------+
Symbol Table
|-------------------------------------------------------|
| SYMTY | | SYMDN |
| .TYSYM (400400) | |Dir. # of Sym.Tbl.|
|-------------------------------------------------------|
| -1 |
|-------------------------------------------------------|
|SYMET| SYMAD | \
|Type | Address of FDB | \
|-------------------------------------------------------| >
| SYMVL | /
| First 5 Characters of Name, Account or User | /
| Name for last writer/author |
|-------------------------------------------------------|
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
|-------------------------------------------------------| \
| | \
|-------------------------------------------------------| >
Page 42
| | /
+-------------------------------------------------------+ /
0 1 2 3 35
+------------------------------------------------------------+
| | |
|Type | Address of FDB |
+------------------------------------------------------------+
Bits Pointer Content
0-2 SYMET Entry Type
0 = .ETNAM Name
2 = .ETUNS User Name
4 = .ETACT Account
3-35 SYMAD Address of FDB
User Name String
+-------------------------------------------------------+
| UNTYP | | UNLEN |
| .TYUNS (400004) | Ver. # | Length |
|-------------------------------------------------------|
| UNSHR | |
| Share Count of User Name String |
|-------------------------------------------------------|
| UNVAL |
| ASCIZ User Name String |
+-------------------------------------------------------+
Page 43
Name String
+-------------------------------------------------------+
| NMTYP | | NMLEN |
| .TYNAM (400001) | Ver. #| Length |
|-------------------------------------------------------|
| NMVAL |
| ASCIZ Name String (1st 5 characters) |
| |
+-------------------------------------------------------+
Extension String
+-------------------------------------------------------+
| EXTYPE | |EXLEN |
| .TYEXT (400002) | Ver.# |Length |
|-------------------------------------------------------|
| |
| ASCIZ Extension String |
| |
+-------------------------------------------------------+
Account String
+-------------------------------------------------------+
| ACTYP | |ALLEN |
| .TYACT (400003) | Ver. # | Length |
|-------------------------------------------------------|
| ACSHR |
| Share Count |
|-------------------------------------------------------|
| ACVAL |
| ASCIZ Account String |
| |
+-------------------------------------------------------+
Page 44
File Descriptor Block (FDB)
+-------------------------------------------------------+
| FBTYP | FBVER | FBLEN |
| .TYFDB (400100) | Ver. # | Length |
|-------------------------------------------------------|
| |
| |
\ See FDB Table for Details of this Block \
\ \
| |
| |
+-------------------------------------------------------+
Free Space
+-------------------------------------------------------+
| FRTYP | FRVER | FRLEN |
| .TYFRE (400500) | Ver. # | Length |
|-------------------------------------------------------|
| FRNFB |
| Pointer to Next Free Block or 0 if at end |
|-------------------------------------------------------|
| |
| |
\ Remainder of Free Block \
\ \
| |
| |
+-------------------------------------------------------+
Page 45
Free Storage Bit Table
+-------------------------------------------------------+
| | | |
| .TYFBT (400600) | Ver. #| Length |
|-------------------------------------------------------|
| |
\ Bit Table Containing 1 Bit per Directory Page \
\ \
| 0 = No Room on the Page |
| 1 = There is Room on the Page |
+-------------------------------------------------------+
Group List
+-------------------------------------------------------+
| | | |
| .TYGDB (400700) | Ver. # | Length |
|-------------------------------------------------------|
| Group # | Group # |
|-------------------------------------------------------|
| Group # | 0 |
+-------------------------------------------------------+
Page 46
DRMBBT
Drum Bit Table. This bit table indicates which pages are in
use and which pages are available in the swapping area.
Defined in: STG
Referenced by: SWPALC
Format
+-------------------------------------------------------+ / \
DRMBBT: \ \ \ |
\ \Cylinder 0 |
| | / |
|-------------------------------------------------------| |
\ \ \ |
\ \Cylinder 1 |
| | / |
|-------------------------------------------------------| |
| . | |
| . |
| . | DRMMXB
| . | *
| . | DRMBSE
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
|-------------------------------------------------------| |
\ \ \ |
\ \Cylinder n |
| | / |
+-------------------------------------------------------+ \ /
Note: The bit map for each cylinder starts on a word boundary
and contains as many full words as are needed for all of its
pages.
Page 47
DRMCNT
Drum Count Table. This table, indexed by cylinder, records
the free page count for the drum (logical swapping area).
The total free page count for all the cylinders is kept in
the storage word, DRMFRE.
Defined in: STG
Referenced by: SWPALC
Format
+-------------------------------------------------------+ / \
DRMCNT| Drum Free Page Count - Cylinder 0 | |
|-------------------------------------------------------| |
| . | |
| . | |
| . |
| . |DRMMXB
| . |
| . | |
\ . \ |
|-------------------------------------------------------| |
| Drum Free Page Count - Cylinder n | |
+-------------------------------------------------------+ \ /
Page 48
DSKSIZ
Disk Size Pointer Table. This table contains pointers to
the disk size data tables. DSKSIZ is parallel to DSKUTP
which contains codes for the known disk types. When an
entry is added to DSKUPT, a corresponding entry must be
added to DSKSIZ to point to the correct size data for that
type of disk.
Defined in: PHYSIO
Referenced by: DSKALC
Format
+-------------------------------------------------------+
DSKSIZ: | Pointer to RP04 Table (DSKSZ0) |
|-------------------------------------------------------|
| Pointer to RP05 Table (DSKSZ0) |
|-------------------------------------------------------|
| Pointer to RP06 Table (DSKSZ1) |
|-------------------------------------------------------|
| Future Development |
|-------------------------------------------------------|
| Future Development |
|-------------------------------------------------------|
| Pointer to RM03 Table (DSKSZ3) |
+-------------------------------------------------------+
Page 49
DSKSZ`n
Disk Size Table (for type n). The resident table contains
size data (for disks) based on type.
n = 0 for RP04 and RP05
n = 1 for RP06
n = 3 for RM03
Defined in: STG
Referenced by: DSKALC, PHYSIO
Format
DSKSZ`n: +-------------------------------------------------+
/SEGPAG=0| Sectors per Page |
|-------------------------------------------------|
SECCYL=1| Sectors per Cylinder |
|-------------------------------------------------|
PAGCYL=2| Pages per Cylinder |
|-------------------------------------------------|
CYLUNT=3| Cylinders per Unit |
|-------------------------------------------------|
SECUNT=4| Sectors per Unit |
|-------------------------------------------------|
BTWCYL=5| No. of Bit Words in Bit Table per Cylinder |
|-------------------------------------------------|
MINFPG=6| Minimum Free Pages for Free Choice Allocation |
|-------------------------------------------------|
MAXFPU=7| Pages per Unit for DSKASN turning point |
|-------------------------------------------------|
LPPCYL=10| Lost Sectors per Surface |
|-------------------------------------------------|
SECSRF=11| Sectors per Surface |
|-------------------------------------------------|
USSECU=12| Microseconds per LATOPT sector unit |
+-------------------------------------------------+
Page 50
DSKUTP
Disk Unit Type. This table contains the unit types used by
the file system.
Defined in: PHYSIO
Referenced by: DSKALC, MSTR, PHYP4
Format
+-------------------------------------------------------+ / \
DSKUTP: | RP04 Disk Unit Code (.UTRP4 = 1) | |
|-------------------------------------------------------| |
| RP05 Disk Unit Code (.UTRP5 = 5) | |
|-------------------------------------------------------| |
| RP06 Disk Unit Code (.UTRP6 = 6) |
|-------------------------------------------------------| NDSKUT
| Future Development |
|-------------------------------------------------------| |
| Future Development | |
|-------------------------------------------------------| |
| RM03 Disk Unit Code (.UTRM3 = 11) | |
+-------------------------------------------------------+ \ /
Page 51
DST
Drum Status Table. This table is indexed as a function of
the drum (swapping space) address. The routine GDSTX
converts a drum address into a DST index. The DST holds the
address of the next lower level of storage (usually disk)
for the page stored at that address on the drum.
BWRBIT (bit 11) indicates if the page has been changed since
being read from the lower level storage. The page will only
be copied back on to the lower level storage if BWRBIT is
set (i.e., page modified) when the page is no longer in use.
A slot no longer in use contains a -1.
Defined in: STG, PROLOG
Referenced by: PAGEM
Index: Drum page number
Format
11 14 35
+-------------------------------------------------------+ / \
DST: | || | Storage Address | |
|-------------------------------------------------------| |
| . | |
| . | |
| . |
| . | NDST
| . |
| . | |
| . | |
| . | |
\ . \ |
+-------------------------------------------------------+ \ /
Page 52
DTE-STORAGE-AREA
DTE Storage Area. This storage area contains storage for
each DTE. It contains the Communication Area for each
processor in COMBAS, the linked output packet queues
(pointed to by DTEQS), the DTE input buffers, and local
storage (i.e., ACs, PC, & PDL) for the DTE Protocol Handler,
DTESRV.
A packet in the COMQ area must be reformatted to RSX20F
protocol and stored in PKTADR before being sent over the
DTE. The before and after packet formats are described
below.
Two single packets, SNGPK1 and SNGPK2 (already formatted as
direct packets to RSX20F protocol - See below) are set
aside for the DTSNGL routine. This routine is responsible
for activating lines and sending single characters over the
DTE if the output buffer has only one character.
Normally output buffer characters are sent via indirect
packets over the DTE, where the indirect packet (after being
reformatted and stored in PKTADR) is sent first followed by
the line's output buffer characters.
Defined in: STG
Referenced by: DTESRV, SPRSRV, MEXEC, SCHED
+-------------------------------------------------------+
UPFLAG: | Word to Generate Continued Message |
|-------------------------------------------------------|
LOAD11: | Says if -11 Needs to Reload |
|-------------------------------------------------------|
LODFRK: | Handle of Monitor Fork Doing -11 Reboot |
|-------------------------------------------------------|
DTEDTE: | The Interrupting DTE |
|-------------------------------------------------------|
CTYUNT: | FE Physical Unit for TS TTY |
|-------------------------------------------------------| / \
DTEQS: | Drive Queue Header for DTE 1 | |
| (Ptr. to 1st Queued Packet in COMQ) |
\ . \ DTEN
| . |
| Driver Queue Header for DTE n | |
|-------------------------------------------------------| \ /
COMQ: | |*/ \
| | |
\ Area for Queue Packets \ |
\ (=Packet Size * ^D20) \
\ \ QPKT1
| |
| | |
| | |
Page 53
|-------------------------------------------------------| \ /
COMH: | Queue Header (Points to 1st Free Packet in COMQ) |
|-------------------------------------------------------| / \
DTESTS: | DTE 1 Status Word |* |
| . |
\ . \ DTEN
| DTE n Status Word | |
|-------------------------------------------------------| \ /
DTEST1: | DTE 1 Secondary Status Word |*/ \
| . | |
\ . \ DTEN
| DTE n Secondary Status Word | |
|-------------------------------------------------------| \ /
DTBFWD: | Hdr. Word for DTE 1 Buf |
| (Ptr. to 2nd Input Buf,, Ptr. to 1st Input Buf) |
\ . \
| . |
| Header Word for DTE n Buffer |
|-------------------------------------------------------|
DTETRA: | Interrupt Return PC for DTE 1 |
| . |
|-------------------------------------------------------|
| . |
| Interrupt Return PC for DTE 2 |
|-------------------------------------------------------| / \
DTESKP: | | |
| |
\ Local PDL Stack \ DTESZ
| |
| | |
|-------------------------------------------------------| \ /
DTEACB: | | / \
\ Block to Save ACs \ |
| | 16
|-------------------------------------------------------| \ /
DTEIND: | Storage for Indirect Function for DTE 1 |*/ \
| . | |
\ . \ DTEN
| Storage for Indirect Function for DTE n | |
|-------------------------------------------------------| \ /
PKTADR: | Storage for Queue Packets | / \
| (One 3-Word Packet/RSX20F Protocol DTE) | |
\ \ PKTSZ1
| | |
|-------------------------------------------------------| \ /
COMBUF: | Processor # | Index into COMBAS to get to this | / \-- --
| 4 | Processor's Comm Area | | | |
|-------------------------------------------------------| | | |
| 3 | '' |DTEN+1 |
|-------------------------------------------------------| | |
| 2 | '' | |Header|
|-------------------------------------------------------| |Area |
| 1 | '' | | | |
|-------------------------------------------------------| | | |
| 0 | '' | | | |
Page 54
|-------------------------------------------------------| \ / -- |
COMBAS: | KL10 "Owned" Area |-- |
|-------------------------------------------------------| | |
| "To" DTE1 Area | | |
|-------------------------------------------------------| | |
| "To" DTE2 Area | Master |
|-------------------------------------------------------| Process |
| . | Comm |
| . | Area |
| . | | |
|-------------------------------------------------------| Communi-|
| "To" DTEn Area | |cation |
|-------------------------------------------------------|--Region |
| |-- |
| DTE1 "Owned" Area | DTE1 |
| | Comm |
|-------------------------------------------------------| Area |
| "To" KL10 Area | | |
|-------------------------------------------------------| | |
| . | | |
| . | | |
| . | | |
|-------------------------------------------------------|-- |
| |-- |
| DTEn "Owned" Area | | DTEn |
| | Comm |
|-------------------------------------------------------| | Area |
| "To" KL10 Area |-- --
|-------------------------------------------------------| / \
TAD11: \ Time Packet from -11 \ 3
|-------------------------------------------------------| \ /
\ \ / \
TO11TM: \ Time Packet to -11 \ 3
|-------------------------------------------------------| \ /
\ \ / \
KLIDTA: \ KLINIK Data Base \ KLISIZ
|-------------------------------------------------------| \ /
SNGPK1: | Single-Packet-1 Header Word |
|-------------------------------------------------------| / \
\ Packet Data (5 Words) \ 5
| | \ /
|-------------------------------------------------------|
SNGPK2: | Single-Packet-2 Header Word |
|-------------------------------------------------------| / \
\ Packet Data (5 Words) \ 5
| | |
+-------------------------------------------------------+ \ /
Page 55
DTESTS
0 1 2 3 4 5 6 17 18 29 30 35
+---------------------------------------------------------------+
| | | | | | | DTEB1 | DTEBC | DTEST |
+---------------------------------------------------------------+
Bits Pointer Content
0 DTERL If set, DTE exists
1 DTEBF Says which buffer is in use
for RSX20 protocol
2 DTBLK For MCB, to -10 is blocked
on free space
3 DTRLD If set, -11 is being reloaded
4 DTKAC If set, -11 is ill
5 DTSTI Status packet is split
6-17 DTEB1 Byte count of list transfer
18-29 DTEBC Byte count remaining for
subsequent transfer
30-35 DTEST DTE status
DTET10=1
KL10 is receiving last
fragment of message
DTE11=2
-11 is receiving bytes
DTE11I=4
-11 is receiving an
indirect queue entry
DTE1F=10
KL10 is receiving 1st
fragment of a message
Page 56
DTEST1 Is parallel to DTESTS and contains current
operation data and special request bits for
"To" -11 conditions.
0 15 16 31 32 33 34 35
+-------------------------------------------------------+
|DT1FC |DT1DV | | | |
+----------------------------------------------------------+
Bits Pointer Contents
0-15 DT1FC Current function code
16-31 DT1DV Current device code
32 DT1TM -11 wants time of day
33 DT1ID Waiting for indirect
setup
DTEIND (Storage for indirect packets)
0 7 8 15 16 17 35
+----------------------------------------------------------+
|INUNT |INCNT | | |
+----------------------------------------------------------+
Bits Pointer Contents
0-7 INUNT Unit
8-15 INCNT Count
16 INVLD If set, says unit
field is invalid
Page 57
COMQ Area for queue packets where a packet (5 words in
length) has the form:
0 17 18 35
+-------------------------------------------------------------+
0 |QINT |QLINK |
| Int Loc for this Function | Link to Next Packet |
|-----------------------------|-------------------------------|
1 |QFNC |QDEV |
QNSPH | Function Word for this | DTE Dev. Code for this |
| Request | Request |
|-----------------------------|-------------------------------|
2 |QLIN |QMODE |19 QCNT 35|
| Device Unit # |indirect | Byte Count or Byte |
| |Data Must| or 0 |
| |be Byte | |
| |Mode | |
|-------------------------------------------------------------|
3 |QPNTR |
| Byte Pointer for Indirect Operation or Local 8-bit Datum |
| if QCNT = 0 |
|-------------------------------------------------------------|
4 |QCOD |
| Unique Code Returned to Interrupt Routine, TTYINT |
+-------------------------------------------------------------+
COMQ area is currently assembled for room of ^D20 packets.
PKTADR
Storage for currently activated DTE packet for each DTE (Packet
taken from the linked list of packets on the queue in COMQ and
place here).
Page 58
The packet has the following form:
0 15 16 31 32 35
+---------------------------------------------------+
0 |HDCNT |HDFNC | |
| Count | Function | |
|---------------------------------------------------|
1 |HDDEV |HDSPR | |
| Device Code | Spare | |
|---------------------------------------------------|
|0 7|8 15| |
2 |HDLIN |HDDAT | |
| Line # | Datum* | |
|-----------------------| |
|0 or 15| |
|HDDT1 | |
| Dataum for Single | |
| Datum Packet | |
+---------------------------------------------------+
* Datum could be a character (direct packet case) or
Max # of characters to be sent (indirect packet case)
Page 59
0 15 16 31 32 35
SNGPK1/2 +----------------------------------------------+
| Flags |Link to Next Packet| |
|----------------------------------------------|
|Packet Byte Count | Function | |
|----------------------------------------------|
| Device | Spare | |
|----------------------------------------------|
| Line # | Datum | Line # | Datum | |
|----------------------------------------------|
| Line # | Datum | Line # | Datum | |
|----------------------------------------------|
| Line # | Datum | Line # | Datum | |
+----------------------------------------------+
0 1 2 16 31
+---------------------------------------------+
Header Word | | | | |Link to Next Packet| |
+---------------------------------------------+
Symbol Bits Contents
SNGONQ 0 On the DTE packet
queue pointed to by
DTEQS
SNGAVL 1 Packet has space
available
SNGACT 2 Packet active (i.e.
DTE processing it)
16-31 Link to next packet
Page 60
COMBAS
"Owned" Area Block Format
0 1 2 3 4 5 6 11 12 16 17 19 20 35
+--------------------------------------------------+
0 |CMTEN|CMVER| |CPVER| CMNPR| CMSIZ| CMNAM |*
| | | | | | |Processor Name|
|--------------------------------------------------|
1 |CMLNK |
| Pointer to Next Processor |
|--------------------------------------------------|
| |
\ \
| |
|--------------------------------------------------|
KPALIV=5 |CMKAC |
| Processor Keep Alive Count |
|--------------------------------------------------|
CMPCW=6 | PC Word |
|--------------------------------------------------|
CMPIWD=7 | CONI PI, Word |
|--------------------------------------------------|
CMPGWD=10 | CONI PAG, Word |
|--------------------------------------------------|
CMPDWD=11 | DATAI PAG, Word |
|--------------------------------------------------|
CMAPRW=12 | CONI APR, Word |
|--------------------------------------------------|
CMDAPR=13 | DATAI APR, Word |
|--------------------------------------------------|
14 | |
\ \
| |
17 +--------------------------------------------------+
Page 61
Word 0 0 1 2 3 4 5 6 11 12 16 17 19 20
+--------------------------------------------------+
| | | | CPVER | CMNPR | |CMNAM |
| | | | | | | Processor Name|
+--------------------------------------------------+
Bits Pointer Contents
0 CMTEN Set if area belongs to KL10
1-3 CMVER Communication area version
number
6-11 CPVER Protocol version number
12-16 CMNPR Number of processors
represented in this
area (including owner)
17-19 CMSIZ Size of area in 8-word
blocks
20-35 CMNAM Processor name
(= serial number)
Page 62
"To" Area Block Format
0 1 2 3 11 16 17 19 20 35
+-----------------------------------------------------------------+
0 |CMPRO|CMDTE|CMDTN| |CMVRR|CMSIZ|CMPNM |*
| | | | | | | "To" Processor No. |
|-----------------------------------------------------------------|
1 |CMPPT |
| Pointer to "To" Processor's Owned Communication Area |
|-----------------------------------------------------------------|
2 | 0 | 1 | 2 | 3 |4 12| 13 |14 16| 17 | 18| 19|20 27|28 35|*
|CMPWF|CML11|CMINI|CMTST| |CMQP| |CMFND| | |CMOIC|CM1IC|
|-----------------------------------------------------------------|
3 |0 3|4 19|20 35|
|CMTMD |CMPCT |CMQCT |
|Mode of| Piecemeal Ctr. (Bits 0-19 Used| Count of Words in |
| Xfer | by Prot. Ver. VNMCB Only) | Current Queue |
|-----------------------------------------------------------------|
4 |CMRLF |
| Reload Parameter for "To" Processor |
|-----------------------------------------------------------------|
5 |CMKAK |
| Owning Processor's Copy of "To" Processor's Keep Alive Count |
+-----------------------------------------------------------------+
0 1 2 3 11 16 17 19 20 35
+-----------------------------------------------------+
Word 0 | | | | |CMVRR |CMSIZ |CMPNM |
| | | | | | | "To" Processor Number|
+-----------------------------------------------------+
Bits Pointer Contents
0 CMPRO If set, it implies connected
to a KL10
1 CMDTE If set, there is a DTE
connecting this processor
and owning processor
2-3 CMDTN If CMDTE is set, this is
the number of that
connecting DTE
11-16 CMVRR Protocol in use by the two
processors
17-19 CMSIZ Size of "to" area in
8-word blocks
20-35 CMPNM "To" processor number
Page 63
0 1 2 3 4 12 13 14 16 17 18 19 20 27 28 35
+------------------------------------------------------+
Word 2 | | | | | | | | | | |CMOIC |CM1IC |
| | | | | | | | | | |To 10IC |To 11IC |
| | | | | | | | | | |for Queue|for Queue|
| | | | | | | | | | |Xfer |Xfer |
+------------------------------------------------------+
Symbol Bits Pointer Contents
0 CMPWF Power fail indicator -11
1 CML11 Wants reload (set by -11)
2 CMINI Initialization bit for
MCB protocol only
3 CMTST Valid examine if set
(should always be set)
13 CMQP Set if using queued
protocol
17 CMFND -11 doing full word
transfer (set by -11)
CMIP 18 -11 doing indirect
transfer
CMTOT 19 "Toit" bit. Set to 1 by
KL10 in -11's section
of -10's Comm area
after -11 sets QMode bit
or increments Q-count,
and after -10 processes
the doorbell.
Cleared by KL10 after
receiving T010DN.
Assures -11 that the
KL10 has not
lost a T010DN interrupt
20-27 CMOIC -11s wrap around count
of direct Q transfer
28-35 CM1IC KL10's wrap around count
of direct Q transfers.
Page 64
DTEDTV
DTE Protocol Device Dispatch Table. The entries with the
dispatch address, TTYDTV are for the CTY, DL11, DH11 and DLS
devices.
Defined in: STG
Referenced by: DTESRV
Format
+-------------------------------------------------------+
DTEDTV: | Reserved for Unknown Device |
|-------------------------------------------------------|
| TTYDTV |
|-------------------------------------------------------|
| TTYDTV |
|-------------------------------------------------------|
| TTYDTV |
|-------------------------------------------------------|
| TTYDTV |
|-------------------------------------------------------|
| LPTDTV |
|-------------------------------------------------------|
| CDRDTV |
|-------------------------------------------------------|
| 0 (Unknown Device) |
|-------------------------------------------------------|
| FEDTV |
+-------------------------------------------------------+
Page 65
ENQ/DEQ - STORAGE AREA
Enqueue/Dequeue Storage Area. The non-resident local area
for the ENQ/DEQ Facilty is illustrated first followed by the
resident bit tables, ENFKTB and LCKDBT. A bit is set in the
ENFKTB bit table if the fork should be woken up or
interrupted because it owns a lock. (The Scheduler's
wake-up test routine address is ENQTST.)
Defined in: STG
Referenced by: ENQ, IPCF, DIRECT
Format
+--------------------------------------------------+ / \
HSHTBL:*| | |
\ Hash Table for \
\ ENQ Locks \ HSHLEN
\ (Name/Number of Lock hashed) \
| | |
|--------------------------------------------------| \ /
ENQLOK: | Data Base Lock For ENQ and DEQ |
| (-1 if Free) |
|--------------------------------------------------|
ENQSPC: | Count of Free Space |
| Available for ENQ's |
|--------------------------------------------------|
ENQLTL: | List of Long Term Locks |
|--------------------------------------------------|
ENQLTS: | Time of next Garbage Collect |
+--------------------------------------------------+
Page 66
Resident Storage:
+--------------------------------------------------+ / \
ENFKTB: | | | | | . . | |
|--------------------------------------------------| ENFKTL
| Wake-up Table (1 bit/Fork) | |
| | |
|--------------------------------------------------| \ /
LCKDBT: | | | | | . . | / \
|--------------------------------------------------| |
| Bit Tbl for DIR Lock ENQ/DEQ | LCKDBN
| (1 bit/fork) | |
+--------------------------------------------------+ \ /
*The name (or identifying number) of a lock block
is hashed to provide a number; This number, modulo
the size of the hash table is used as an index
into HSHTBL. If the hashing algorithm yields the
same index for more than one lock block name, the
lock blocks will be linked together; the HSHTBL
entry will be the linked list header.
Page 67
ENQ-LOCK-BLOCK
Enqueue Lock Block. Each resource is described in a lock
block. The lock block is created at the time of the first
request.
Defined in: ENQ
Referenced by: ENQ
Format
+-------------------------------------------------------+
| ENQLHC | ENQNHC |
0 | Back Pointer to Last | Pointer to Next |
| Lock-Block on Hash Chain | Lock-Block on Hash Chain |
|-------------------------------------------------------|
| ENQLLQ | ENQNLQ |
1 | Back Pointer to | Forward Pointer to |
| Last Q-Block on Queue | First Q-Block on Queue |
|-------------------------------------------------------|
| ENQFLG | | ENQLVL |
2 | Flags | | Level Number |
| | | of this Lock |
|-------------------------------------------------------|
| ENQTR | ENQRR |
3 | Total # of Resources | Remaining Number of |
| in this Pool | Resources in this Pool |
|-------------------------------------------------------|
| ENQTS |
4 | Time Stamp |
| Time of Last Request Locked |
|-------------------------------------------------------|
| ENQFBP | ENQLT |
.ENQLT=5 | Free Block Pointer | Long Term Lock List |
| to Free Q-Block | for this Job |
|-------------------------------------------------------|
| ENQOFN | ENQLEN |
6 | OFN, or -2, or -3, | Length of this |
| or 400000 + Job Number | Lock-Block |
|-------------------------------------------------------|
| ENQNMS | |
7 | Number of Words in | |
| the Mask Block | |
|-------------------------------------------------------|
| ENQTXT ASCIZ String |
.ENTXT=10| or |
| 500000 + User Code |
+-------------------------------------------------------+
Page 68
0 11 12 17 18 35
+-------------------------------------------------------+
Word 0 | ENQFLG | | ENQLVL |
| Flags | | Level # of this Lock |
+-------------------------------------------------------+
Symbol Bits Pointer Meaning
EN.LTL=40 6 Long Term Block
EN.INV=20 7 This Q-Block is invisible
EN.LOK=10 8 The Q-Block has the Lock
Locked.
EN.TXT=4 9 This Block has a Text
String Identity.
EN.EXC=2 10 Request is Exclusive
EN.LB=1 11 This is the Lock-Block
13-17 ENQCHN PSI Channel (-1 means job
Blocked)
18-35 ENQLVL Level # of this lock.
Page 69
EPT
Executive Process Table. This memory resident table pointed
to by the Executive Base Register (EBR), contains the
vectored dispatch addresses for system events. All device
interrupts pass control to a specific offset position in
this table.
This table also includes the executive section map table,
the time of day clock and arithmetic trap instructions which
are executed when arithmetic conditions occur in executive
mode.
Locations 444 to 457 are reserved for software and used by
DTESRV.
Defined In: STG
Referenced by: APRSRV, DTESRV, MEXEC, PHYH11, PHYH2
Format
+-------------------------------------+
KIEPT: | Eight Channel Logout Areas |
| |
|Each: 0 Initial Channel Command |
\ 1 Gets Channel Status Word \
| 2 Gets Last Updated Command |
| 3 Reserved for Channel's |
\ Vectored Interrupt Location \
| |
| |
| |
KIEPT+37| |
|-------------------------------------|
40| |
41| Reserved |
|-------------------------------------|
42| |
\Standard Priority Interrupt Instruc. \
57| |
|-------------------------------------|
60| |
| Four Channel Block Fill Words |
63| |
|-------------------------------------|
64| |
\ Reserved \
.| |
77| |
|-------------------------------------|
SMTEPT=KIEPT+100| Pointer to SM10 Vector Table |
| (if 2020 System) |
|-------------------------------------|
101| |
Page 70
| |
\ Reserved \
137| |
|-------------------------------------|
| Four 8-word DTE20 Control Blocks |
DTEEBP=KIEPT+140| Each: 0 To -11 Byte Pointer |
DTETBP=KIEPT+141| 1 To -10 Byte Pointer |
DTEINT=KIEPT+142| 2 Interrupt Location |
143| 3 Reserved |
DTEEPW=KIEPT+144| 4 Examine Protection Word |
DTEERW=KIEPT+145| 5 Examine Relocation Word |
DTEDPW=KIEPT+146| 6 Deposit Protection Word |
DTEDRW=KIEPT+147| 7 Deposit Relocation Word |
|-------------------------------------|
| |
\ DTE1 Control Block \
| |
|-------------------------------------|
| |
\ DTE2 Control Block \
| |
|-------------------------------------|
| |
\ DTE3 Control Block \
177| |
|-------------------------------------|
EPTMHI=KIEPT+200| |
| |
| |
| |
| Available to Software |
| |
| |
| |
417| |
|-------------------------------------|
EPTPTI=KIEPT+420| LUUO from Executive Mode |
| (.LUTRP)* |
|-------------------------------------|
421| Executive Arithmetic Overflow Trap |
| Instruction (JFCL)* |
|-------------------------------------|
422| Executive Stack Overflow trap |
| Instruction (.PDOVT)* |
|-------------------------------------|
423| Executive Trap 3 Trap Instruction |
| (JFCL)* |
|-------------------------------------|
424| |
\ Reserved \
437| |
|-------------------------------------|
440| |
\ Reserved for Software \
443| |
Page 71
|-------------------------------------|
DTEFLG=KIEPT+444| Operation Complete Flag |
|-------------------------------------|
DTECFK=KIEPT+445| Clock Interrupt Flag |
|-------------------------------------|
DTECKI=KIEPT+446| Clock Interrupt Instruction |
|-------------------------------------|
DTET11=KIEPT+447| "To" 11 Argument |
|-------------------------------------|
DTEF11=KIEPT+450| "From" 11 Argument |
|-------------------------------------|
DTECMD=KIEPT+451| Command Word |
|-------------------------------------|
DTESEQ=KIEPT+452| DTE20 Operation Sequence Number |
|-------------------------------------|
DTEOPR=KIEPT+453| Operation in Progress Flag |
|-------------------------------------|
DTECHR=KIEPT+454| Last Typed Character |
|-------------------------------------|
DTETMD=KIEPT+455| Monitor TTY Output Complete Flag |
|-------------------------------------|
DTEMTI=KIEPT+456| Monitor TTY Input Flag |
|-------------------------------------|
DTESWR=KIEPT+457| Console Switch Register |
|-------------------------------------|
460| |
\ Reserved for Software \
477| |
|-------------------------------------|
500| |
\ Reserved \
507| |
|-------------------------------------|
TIMBAS=KIEPT+510| |
| Time Base |
511| |
|-------------------------------------|
512| |
| Performance Analysis Count |
513| |
|-------------------------------------|
TIMVIL=KIEPT+514| Internal Counter Interrupt Instruc. |
|-------------------------------------|
MSECTB=KIEPT+540| EXEC SECTION 0 |
| |
\ \
| |
577| EXEC SECTION 37 |
|-------------------------------------|
EPTMLO=KIEPT+600| |
| |
| |
| |
| |
\ Available to Software \
Page 72
\ \
| |
| |
| |
777| |
+-------------------------------------+
* These values are placed into the table when the EPT is
initialized at system startup.
Page 73
EXEC-PG-MAP-TBL
Executive Page Map Table. This 512-word memory resident
table holds or points to other tables that hold all of the
mapping information needed by the firmware to translate
executive (monitor) virtual addresses in a given section
into physical memory addresses. It is pointed to by an
entry in the monitor's section table in the Executive
Process Table (EPT).
The four possible formats for an entry in this table (i.e.,
Immediate, shared, indirect or null pointers) are
illustrated below. The details of these four possible
pointer words as well as the mechanics of the virtual to
physical translation process for a monitor page is identical
to that described for the User-Page Map Table (See
User-Pg-Map-Tbl)
Defined in: STG
Referenced by: All Monitor Modules
Format
MMAP*: +-------------------------------------------------------+
0| | / \
| Immediate Pointer | |
|-------------------------------------------------------| |
|0 2| 3 8| | 12 35| |
| Op |Access Bits | | STGADR | |
| Code | | | Storage Address | |
| 1 | | | | |
|-------------------------------------------------------| |
| or | |
| | |
| Shared Pointer | |
|-------------------------------------------------------| |
|0 2 |3 8| |18 35| |
| Op | Access | | SPTX | |
| Code| Bits | | SPT. index | |
| 2 | | | (Holds Pg's Stor Adr.) |
|-------------------------------------------------------| Virtual
| or | Pg #
| |0-777octal
| Indirect Pointer |
|-------------------------------------------------------| |
|0 2 |3 8 |9 17 |18 35 | |
| Op | Access | IPPGN | SPTX | |
| Code| Bits | PN | SPT index | |
| 3 | | | (Holds Pg Tb's Stor. Adr) | |
|-------------------------------------------------------| |
| or | |
| | |
| Null Pointer | |
|-------------------------------------------------------| |
Page 74
|0 2 |3 8| | |
|Op |Access Bits| 0 (Nonexistent Pg) | |
|Code | | | |
| 0 | 0 | | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | \ /
+-------------------------------------------------------+
* Currently MMAP is the monitor's page map table for section 0
and section 1. The layout of the monitor's virtual address
space for section 0 is described in Appendix B of the Monitor
Structures Book.
Page 75
FDB
File Description Block. All attributes of a file are stored
in its description block (FDB) maintained in the file's
directory. An FDB is built in the directory's free space
area when a file is created. This table is referenced by
the DIR table.
Defined in: PROLOG, MONSYM
Referenced by: DISC, DIRECT, DSKALC, GTJEN, JSYSA, JSYSF,
FILINI, LINEPR, IO, SYSERR, DTESRV
+-------------------------------------------------------+
|0 17|18 23|24 35|
| FBTYP | FBVER | FBLEN |
.FBHDR | 400100 | Ver. # | Length |
|-------------------------------------------------------|
| FBFLG | |
.FBCTL | Flags | |
|-------------------------------------------------------|
| FBEXL |
.FBEXL | Link to FDB of Next Extension \
|-------------------------------------------------------|
| FBADR |
.FBADR | Disk Address of File's Index Block |
|-------------------------------------------------------|
| FBPRT | |
.FBPRT | 500000 | File Access Bits |
|-------------------------------------------------------|
| FBCRE |
.FBCRE | Date and Time of Last Write to File |
|-------------------------------------------------------|
| FBLW0 | FBAT0 |
.FBUSE | DIR # of Last Writer | DIR # of Author |
|-------------------------------------------------------|
| FBAUT |
.FBAUT | Pointer to Author String |
|-------------------------------------------------------|
| FBLWR |
.FBLWR | Pointer to Last Writer String |
|-------------------------------------------------------|
| FBGEN |FBDRN |
.FBGEN | Generation Number | Dir.# (if it's a Dir File)|
|-------------------------------------------------------|
| FBACT |
| 500000,,0 + Account Number |
| or |
.FBACT | Pointer to Account String |
|-------------------------------------------------------|
|0 5|6 11| |14 17|18 35|
| FBGNR | FBBSZ | |FBMOD | FBNPG |
Page 76
.FBBYV |# Gens. |Byte Sz | | Mode | # of Pages in File |
|-------------------------------------------------------|
| FBSIZ |
.FBSIZ | # of Bytes in File |
|-------------------------------------------------------|
| FBCRV |
.FBCRV | Date and Time of Creation |
|-------------------------------------------------------|
| FBWRT |
.FBWRT | Date and Time of Last User Write |
|-------------------------------------------------------|
| FBREF |
.FBREF | Date and Time of Last Nonwrite Access |
|-------------------------------------------------------|
| FBNWR | FBNRF |
.FBCNT | # of Writes | # of References |
|-------------------------------------------------------|
| FBBK0 |
.FBBK0 | Backup Word #1 |
|-------------------------------------------------------|
| FBBK1 |
.FBBK1 | Backup Word #2 |
|-------------------------------------------------------|
| FBBK2 |
.FBBK2 | Backup Word #3 |
|-------------------------------------------------------|
| FBBK3 |
.FBBK3 | Backup Word #4 |
|-------------------------------------------------------|
| FBBK4 |
.FBBK4 | Backup Word #5 |
|-------------------------------------------------------|
| FBUSW |
.FBUSW | User Settable Word |
|-------------------------------------------------------|
| FBGNL |
.FBGNL | Link to FDB of Next Generation |
|-------------------------------------------------------|
| FBNAM |
.FBNAM | Pointer to File Name Block |
|-------------------------------------------------------|
| FBEXT |
.FBEXT | Pointer to Extension Block |
|-------------------------------------------------------|
| |
.FBLWR | Pointer to Last Writer String |
| |
+-------------------------------------------------------+
Page 77
0 1 2 3 4 5 6 7 8 9 10 13 14 17 18 27 28 35
+-------------------------------------------------------------+
.FBCTL | | | | | | | | | | | | | | |
+-------------------------------------------------------------+
Symbol Bits Pointer Content
FB%%TMP 0 File is temporary
FB%%PRM 1 File is permanent
FB%%NEX 2 No extension for this file
yes; file doesn't really
exist.
FB%%DEL 3 File is deleted
FB%%NXF 4 File doesn't exist (first
write not complete)
FB%%LNG 5 Long file
FB%%SHT 6
FB%%DIR 7 File is a directory
FB%%NOD 8 File is not saved by backup
system
FB%%BAT 9 File may have bad pages
FB%%FCF 14%-17 File class field
0 = .FBNRM Not an
RMS file
1 = .FBRMS RMS file
Note: See Monitor Call's Reference Manual (Chapter 2) for
more information.
Page 78
FILE DESCRIPTOR BLOCK (FDB)
The following diagrams show the layout of the FDB for
files created by Release 4. New or changed entries are
marked with a bar at the left.
+-------------------------------------------------+
!0 17!18 23!24 35!
! FBTYP ! FBVER ! FBLEN !
.FBHDR ! 400100 ! Ver. #! Length !
!-------------------------------------------------!
| ! FBFLG ! !
|.FBCTL ! Flags ! !
!-------------------------------------------------!
! FBEXL !
.FBEXL ! Link to FDB of Next Extension !
!-------------------------------------------------!
! FBADR !
.FBADR ! Disk Address of File's Index Block !
!-------------------------------------------------!
! FBPRT ! !
.FBPRT ! 500000 ! File Access Bits !
!-------------------------------------------------!
! FBCRE !
.FBCRE ! Date and Time of Last Write to File !
!-------------------------------------------------!
! FBAUT !
.FBAUT ! Pointer to Author String !
!-------------------------------------------------!
! FBGEN !FBDRN !
.FBGEN ! Generation Number ! Dir.# (if a DIR File) !
!-------------------------------------------------!
Page 79
! FBACT !
! 500000,,0 %+ Account Number !
! or !
.FBACT ! Pointer to Account String !
!-------------------------------------------------!
!0 5!6 11! !14 17!18 35!
! FBGNR ! FBBSZ ! !FBMOD! FBNPG !
.FBBYV !# Gens.!Byte Sz! ! Mode! # of Pages in File !
!-------------------------------------------------!
! FBSIZ !
.FBSIZ ! # of Bytes in File !
!-------------------------------------------------!
! FBCRV !
.FBCRV ! Date and Time of Creation !
!-------------------------------------------------!
! FBWRT !
.FBWRT ! Date and Time of Last User Write !
!-------------------------------------------------!
! FBREF !
.FBREF ! Date and Time of Last Nonwrite Access !
!-------------------------------------------------!
! FBNWR ! FBNRF !
.FBCNT ! # of Writes ! # of References !
!-------------------------------------------------!
| ! FBBK0 !
|.FBBK0 ! Backup Word #1 !
!-------------------------------------------------!
! FBBK1 !
.FBBK1 ! Backup Word #2 !
!-------------------------------------------------!
! FBBK2 !
.FBBK2 ! Backup Word #3 !
!-------------------------------------------------!
| ! FBBBT ! !
|.FBBBT ! Flags ! # of pages when deleted!
!-------------------------------------------------!
| ! FBNET !
|.FBNET ! Date and time of on-line expiration !
!-------------------------------------------------!
! FBUSW !
.FBUSW ! User Settable Word !
!-------------------------------------------------!
! FBGNL !
.FBGNL ! Link to FDB of Next Generation !
!-------------------------------------------------!
Page 80
! FBNAM !
.FBNAM ! Pointer to File Name Block !
!-------------------------------------------------!
! FBEXT !
.FBEXT ! Pointer to Extension Block !
!-------------------------------------------------!
! !
.FBLWR ! Pointer to Last Writer String !
! !
!-------------------------------------------------!
| ! FBTDT !
|.FBTDT ! Date and time of archive/collection tape write !
!-------------------------------------------------!
| ! FBFET !
|.FBFET ! Date and time of off-line expiration !
!-------------------------------------------------!
| ! ARTP1 !
|.FBTP1 ! Tape ID for first archive/collection run !
!-------------------------------------------------!
| ! TFN1 ! TSN1 !
|.FBSS1 ! Saveset # for 1st tape! Tape file # in saveset !
!-------------------------------------------------!
| ! ARTP2 !
|.FBTP2 ! Tape ID for second archive/collection run !
!-------------------------------------------------!
| ! TFN2 ! TSN2 !
|.FBSS2 ! Saveset # for 2nd tape ! Tape file # in saveset !
+-------------------------------------------------+
1 1 1 1 1 1 1 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 7 8 5
+-----------------------------------------//---------+
.FBCTL! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
+-----------------------------------------//---------+
Symbol Bits Contents
FB%TMP 0 File is temporary
FB%PRM 1 File is permanent
FB%NEX 2 On; no extension for this file
Off; file does not really exist
FB%DEL 3 File is deleted
Page 81
FB%NXF 4 File does not exist (first
write not complete)
FB%LNG 5 Long file
FB%SHT 6 Reserved for DEC
FB%DIR 7 File is a directory
FB%NOD 8 File is not saved by backup system
FB%BAT 9 File may have bad pages
FB%SDR 10 This directory has subdirectories
| FB%ARC 11 File has archive status
| FB%INV 12 File is invisible
| FB%OFF 13 File is off-line
FB%FCF 14-17 File class field
0 = .FBNRM Not an RMS file
1 = .FBRMS RMS file
1 1 1 3
0 1 2 3 4 5 6 7 8 5 7 8 5
+-------------------------------------//-------------+
.FBBBT! ! ! ! ! ! ! ! ! ! ! ! !
+-------------------------------------//-------------+
Symbol Bits Contents
| AR%RAR 1 Request for file to be archived
| AR%RIV 2 System request for migration
| AR%NDL 3 Do not delete disk contents
| after archiving
| AR%NAR 4 Resist migration
| AR%EXM 5 File is exempt from migration
| AR%1ST 6 First pass is in progress
| AR%RFL 7 Restore failed
| AR%WRN 8 User warned of file expiration
| AR%RSM 15-17 Reason file pushed off-line:
| 1 = .AREXP File expired
| 2 = .ARARR Archive requested
| 3 = .ARRIR Migration requested
| AR%PSZ 18-35 # of pages in file when removed
| from disk
Page 82
NOTE: FBBK0 is used by DUMPER as follows:
1 1 3
0 1 7 8 5
+---------------------------------------------------+
.FBBK0 ! ! ! !
+---------------------------------------------------+
Bits Contents
0 Indicator for interrupted incremental
save
| 1-17 Count of incremental saves since last
| time write count changed
18-35 Write count at last incremental save
Page 83
FE-STORAGE-AREA
Front End Storage Area. Each entry is FEN words long
(except FEUNVW), where FEN equals the number of front end
devices.
Defined in: STG
Referenced by: FESRV
Format
+-------------------------------------------------------+
\ | | FEFEM | FEFRK |
FEUDB0: \ Flags | | FE Alloc| Fork # Owning Device \
+-------------------------------------------------------+
| FEICT | FEICM | FEFEI \
FEUDB1: | Current Input | Maximum Input | Bytes Now in FE |
| Byte Count | Byte Count | |
|-------------------------------------------------------|
\ FEIPT \
FEUDB2: \ Input Byte Pointer \
|-------------------------------------------------------|
\ FEIBF | FEOBF \
FEUDB3: \ Input Buffer Address | Output Buffer Address \
|-------------------------------------------------------|
\ \
FEUDB4: | Input Input Pointer |
|-------------------------------------------------------|
|0 2| |
FEUNVW: |# FEs| Input Input Pointer |
+-------------------------------------------------------+
The buffer area for the front end is in the monitor's
nonresident address space.
+-------------------------------------------------------+
FEBUFF \ 1 Page in Length \
+-------------------------------------------------------+
0 1 2 3 4 5 12 17
+-------------------------------------------------------+
FEUDB0: | | | | | | | FEFEM | FEFRK |
| | | | | | |FE Alloc| Fork # Owning Device |
+-------------------------------------------------------+
Bit(s) Pointer Content
0%-1 FEDTE DTE owning this device
2 FEBLK Unit is blocked
Page 84
3 FEPST Waiting for DTE Post
4 FEEOF Input EOF declared by FE
5 FEVDT FE assignment is valid
12%-17 FEFEM FE Allocation
18%-35 FEFRK Fork # owning device
Page 85
FKBSPW
This resident table contains pointers that comprise a linked
list of the current balance set members. The initial
pointer to this list is BSLST. The list is used by AJBALS
to determine the status of the current members of the
balance set. Note that an entry may contain a non-zero
value without being a balance set member. Only entries
found by following the BSLST link are considered. If a fork
is placed on the balance set without hold time, it will not
appear on this list.
Defined in: STG
Referenced by: SCHED
Index: Fork number
Format
+-------------------------------------------------------+
FKBSPW: | Not used | Balance set list pointer | / \
+-------------------------------------------------------+ |
| . | |
| . | NFKS
\ . \ |
| . | |
| . | \ /
+-------------------------------------------------------+
Page 86
FKCNO
Fork Core Number Table. This table contains the core number
(given when a process enters the balance set) for each fork.
The core number is used to set a corresponding bit in the
pager's process use register (PUR) when the fork is chosen
to run.
The left half of this table is used to hold the SPT index
for the second page of each fork's PSB table. (see FKPGS
table for SPT index for first page of each fork's PSB).
Defined in: STG, PROLOG
Referenced by: PAGEM, SCHED
Index: Fork number
Format
+-------------------------------------------------------+
FKCNO:| FSSPTN/HWPTN | Core Number | / \
| SPTn for 2nd pg of PSB | | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . | |
| . |
| . | NFKS
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ \ /
+-------------------------------------------------------+
Page 87
FKINT
Fork Interrupt Table. This table contains the
pseudo-interrupt communication register for each fork. The
left half of each entry contains bits recording the type of
request. The symbols for these requests have right half bit
assignments (i.e. bits 20-31) but are tested against the
left half of the table.
Defined in: STG
Referenced by: FORK, MEXEC, NETWRK, PAGEM, SCHED, TTYSRV
Index: Fork number
Format
0 18 19 26 27 35
+-------------------------------------------------------+
FKINT: | Bits | Unused | JRMCOD | / \
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . | |
| . |
| . | NFKS
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ \ /
+-------------------------------------------------------+
Page 88
Symbol Bit Pointer Content
0 Interrupt Request(s) pending
1 Fork not interruptable
NEWFKF(B20) 2 Initiate new fork
NEWJBF(1B21) 3 Initiate new job
PSIIF(1B22) 4 Channel interrupt requested
in FKINTB
PSIT1F(1B23) 5 Terminal code Interrupt, Phase 1
PSIT2F(1B24) 6 Terminal code Interrupt, Phase 2
SUSFKR(1B25 7 Suspend fork request
PSIWTF(1B26) 8 Job was in wait state
PSILOB(1B27) 9 Logout job request
FRZB1(1B28) 10 Direct freeze has been done
FRZB2(1B29) 11 Indirect freeze has been done
PSICOB(1B30) 12 Carrier off action request
PSITLE(1B31) 13 Time Limit Exceeded interrupt
PSIJTR(1B32) 14 JSYS trap request
JTFRZB(1B33) 15 JSYS trap freeze
ADRBKF(1B34) 16 Address Break Request
ABFRZB(1B35) 17 Address Break Freeze
PSIPRI 18 Priority Word Set
UNUSED 19-26 Unused
27-35 Field for terminal
Page 89
FKINTB
Fork Interrupt Buffer Table. This table contains the buffer
for the pseudo-interrupt channel requests pending for each
fork since the fork's last PSI interrupt.
Defined in: STG
Referenced by: FORK, SCHED
Index: Fork number
Format
+-------------------------------------------------------+
FKINTB: | Interrupt Channel Request(s) Pending | / \
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . | |
| . |
| . | NFKS
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ \ /
+-------------------------------------------------------+
Page 90
FKJOB
Fork Job Table. This table holds each fork's job number and
JSB address (SPT index).
Defined in: STG
Referenced by: APRSRV, CDRSRV, DIAG, DTESRV, ENQ, FILMSC,
FORK, IPCF, LINEPR, MEXEC, NSPSRV, PAGEM,
PHYSIO, SCHED
Index: Fork number
Format
+-------------------------------------------------------+
| FKJOBN | FKJSB | / \
FKJOB: | Job Number | JSB (SPT Index) | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . |
| . | NFKS
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ \ /
+-------------------------------------------------------+
Page 91
FKJTQ
Fork JSYS Trap Queue. This doubly linked list is a JSYS
Traps Queue of forks waiting to program software interrupt
(PSI) the monitor. JTLST points to the top fork on the
linked JSYS traps queue in FKJTQ.
When a fork tries JTLOCK (in the JSB) and some other fork
has the lock, the fork is added to FKJTQ and blocked. When
the lock is cleared, the queue is scanned for the first fork
(if any) waiting on the lock. That fork is removed from the
queue and allowed to run.
Defined in: STG
Referenced by: SCHED
Format
+-------------------------------------------------------+
FKJTQ: | Ptr. to Previous Entry | Ptr. to Next Entry | / \
|-------------------------------------------------------| |
| | |
| | |
| |
| | NFKS
| |
| | |
\ \ \ /
+-------------------------------------------------------+
Page 92
FKNBW
This resident table saves the time of start of a balance set
wait of a fork.
Defined in: STG
Referenced by: SCHED
Index: Fork number
Format
+-------------------------------------------------------+
FKNBW: | Time of start of BALSET wait | / \
+-------------------------------------------------------+ |
| . | |
| . | NFKS
\ . \ |
| . | |
| . | \ /
+-------------------------------------------------------+
Page 93
FKNR
Fork Number of Reserve Pages Table. This table contains in
the right half the current reserve working set size for each
fork. Also, it contains in the left half the current age
stamp (to be loaded into the pager's age resister when the
fork is chosen to run) and the age stamp value at the last
time local garbage collection (removal of less frequently
used pages) took place for the fork.
Defined in: STG
Referenced by: PAGEM, SCHED
Index: Fork number
Format
0 8 9 17 18 35
+-------------------------------------------------------+
| FKXAGE | FKAGE | FKWSS | / \
FKNR: |Age -Last XGC| Current Age | Reserve Working Set Size | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . |
| . | NFKS
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ \ /
+-------------------------------------------------------+
Page 94
FKPGS
Fork Page and Process Storage Table. This table contains
the page table and PSB locations (SPT indexes) for each
fork.
Defined in: STG
Referenced by: DIAG, FORK, JSYSA, PAGEM, SCHED
Index: Fork number
Format
+-------------------------------------------------------+
| FKUPT | FKPSB | / \
FKPGS: | Page Table (SPT Index) | PSB (SPT Index) * | |
| | for 1st page of PSB | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . |
| . | NFKS
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ \ /
+-------------------------------------------------------+
* See FKCNO table description for SPT index for second
page of PSB.
Page 95
FKPGST
Fork BALSET Wait Satisfied Test Table. This table holds
test routine information for forks in a balance set wait
state. The test routine checks if wait satisfied has
occurred.
For forks on a wait list (and therefore not in the balance
set), this table contains the time of day the fork entered
the list.
Defined in: STG
Referenced by: SCHED
Index: Fork number
Format
+-------------------------------------------------------+ / \
| | Test Routine for | |
FKPGST: | Test Data | BALSET Wait Satisfied | |
|-------------------------------------------------------| |
| or | |
|-------------------------------------------------------| |
| Time of Day Entered a Wait List | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . |
| . | NFKS
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ \ /
+-------------------------------------------------------+
Page 96
FKPT
Fork List Pointer Table. This table gives the chain of
forks for each list of forks in the system. That is, it
holds the linked list of forks on TTILST, CLKLST, GOLST,
etc. A fork is either on one of the wait-lists or the
go-list.
The right half contains the list pointer to the next fork on
the same list and the left half contains WTLST or GOLST. If
the left half contains WTLST, the type of wait-list can be
obtained from the right half of FKQ2.
Defined in: STG
Referenced by: APRSRV, FORK, MEXEC, PAGEM, SCHED
Index: Fork number
Format
+-------------------------------------------------------+
| FKBET | | / \
FKPT: |Current Location (GOLST/ | List Pointer | |
|WTLST) or 400000 if fork | | |
| free | | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . | |
| . |
| . | NFKS
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | \ /
+-------------------------------------------------------+
Page 97
FKQ1
Fork Run Queue Table 1. This table contains each fork's
remaining run quantum. When this quantum expires, the
process will be requeued to a lower run position and given
the the quantum associated with that run queue.
Defined in: STG
Referenced by: SCHED
Index: Fork number
Format
+-------------------------------------------------------+
FKQ1: | FKQTM | / \
| Fork's Remaining Run Quantum | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . |
| . | NFKS
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | \ /
+-------------------------------------------------------+
Page 98
FKQ2
Fork Run Queue Table 2. This table contains the queue level
number and fork location [i.e., list address (TTILST, GOLST,
etc.) for each fork.
Defined in: STG
Referenced by: FORK, NSPSRV, SCHED
Index: Fork number
Format
0 1 2 5 6 11 12 17 18 35
+-------------------------------------------------------+ / \
FKQ2: | | | | | | | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . |
| . | NFKS
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | \ /
+-------------------------------------------------------+
Bits Pointer Content
0 FKNTC Network topology change
interrupt enabled
1 PIBMP PI boost flag
2-5 FKFLG Fork flags
6-11 FKMXQ Max Q for fork
12-17 FKQN Queue level number
18-35 FKWTL Wait list address for blocked fork
Page 99
FKSTAT
Fork Status Table. This table has useful information when a
fork blocks and leaves the GOLST (i.e., LH (FKPT) contains
the list address, WTLST).
The blocked fork's entry in this table will contain the
address of the test routine which, when called, determines
if wait satisfied has occurred for the fork.
Defined in: STG
Referenced by: DIRECT, FORK, SCHED
Index: Fork number
Format
+-------------------------------------------------------+
FKSTAT: | Test Data | Test Routine Address | / \
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . | |
| . |
| . | NFKS
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | \ /
+-------------------------------------------------------+
Page 100
FKSWP
This resident table contains fork information that is used
primarily by the working set manager in its decisions.
Defined in: STG, PROLOG
Referenced by: FORK, PAGEM, SCHED
Index: Fork number
Format
+-------------------------------------------------------+
FKSWP: | flags | FKGOLN | FKHST | / \
+-------------------------------------------------------+ |
| . | |
| . | NFKS
\ . \ |
| . | |
| . | \ /
+-------------------------------------------------------+
0 1 2 3 4 5 6 7 8 17 18 35
+-------------------------------------------------------+
| | | | | | | | | FKGOLN | FKHST |
+-------------------------------------------------------+
Bits Pointer Content
0 FKWSL Working set loaded
1 FKBLK Fork blocked off if on GOLST
2 FKIBS Fork in balance set
3 BSWTB Fork in balance set wait
4 BSNSK NOSKED--on if fork is NOSKED
and not running
5 BSCRSK CRSKED--on if fork is CRSKED
and not running
6 FKIBH In balance set hold--on if fork
entered balance set since last
update to history
7 FKBSHF In balance set hold in AJBALS
algorithm
8-17 FKGOLN GOLIST position
18-35 FKHST Fork history
Page 101
FKTIME
Fork Time Table. This table, indexed by fork , gives the
time of day (TODCLK) at which each fork was put on its
current run queue.
Defined in: STG
Referenced by: SCHED
Index: Fork number
Format
+-------------------------------------------------------+
FKTIME: | Time When Fork Put on Run Queue | / \
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . | |
| . |
| . | NFKS
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ \ /
+-------------------------------------------------------+
Page 102
FKWSP
Fork Working Set (In%-Memory Size) Table. This table
contains in the right half the number of physical pages
currently assigned to each fork. The left half is used to
hold the preload size as determined by LDJOB when a fork
enters the balance set.
Defined In: STG
Referenced by: PAGEM, SCHED
Index: Fork number
Format
+-------------------------------------------------------+
| FKNWCE | FKCSIZ | / \
FKWSP: | # of entries in W.S. Cache| Current Size | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . |
| . | NFKS
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ \ /
+-------------------------------------------------------+
Page 103
GTOKPR
This table is used by the access control code. It contains
one entry for each legal GETOK/GIVOK function.
Defined in: STG
Referenced by: ENQ, FORK, JSYSA, JSYSF, MEXEC, MSTR, SCHED,
TAPE, TTYSRV
Format
+-------------------------------------------------------+
GTOKPR: | DGOUSR -- User requests | / \
+-------------------------------------------------------+ |
| DGOASD -- Assign device | |
+-------------------------------------------------------+ |
| DGOCAP -- Enable/disable capabilities | |
+-------------------------------------------------------+ |
| DGOCJB -- Create job | |
+-------------------------------------------------------+ |
| DGOLOG -- Login | |
+-------------------------------------------------------+ |
| DGOCFK -- Create fork | |
+-------------------------------------------------------+ |
| DGOTBR -- Set terminal baud rate | |
+-------------------------------------------------------+ |
| DGOLGO -- Logout | |
+-------------------------------------------------------+ |
| DGOENQ -- ENQ quota setting | MXGOKF
+-------------------------------------------------------+ |
| DGOCRD -- Create/modify directory | |
+-------------------------------------------------------+ |
| DGOSMT -- Structure mount | |
+-------------------------------------------------------+ |
| DGOMDD -- Enter MDDT | |
+-------------------------------------------------------+ |
| DGOCLS -- Set class for job | |
+-------------------------------------------------------+ |
| DGOCL0 -- Set class at login | |
+-------------------------------------------------------+ |
| DGOMTA -- MT access | |
+-------------------------------------------------------+ |
| DGOACC -- ACESS JSYS | |
+-------------------------------------------------------+ |
| DGOOAD -- Assign device via OPENF | \ /
+-------------------------------------------------------+
Page 104
HOM
Home Block. Block on each disk unit which contains vital
statistics that cannot be built in when a monitor is
generated. These are primarily parameters of the unit and
the STR to which it belongs.
Defined in: DSKALC
Referenced in: DSKALC, PHYSIO, JSYSA
+-------------------------------------------------------+
HOMNAM=0 | SIXBIT/HOM/ |
|-------------------------------------------------------|
HOMID=1 | SIXBIT/Unit ID/ |
|-------------------------------------------------------|
| Physical Disk Address | Physical Disk Address |
HOMPHY=2 | of This Home Block | of Other Home Block |
|-------------------------------------------------------|
HOMSNM=3 | SIXBIT/Structure Name/ |
|-------------------------------------------------------|
HOMLUN=4 | # of Packs in STR | Logical Pack # Within STR |
|-------------------------------------------------------|
| Block # of | Block # of |
HOMHOM=5 | This Home Block | Other Home Block |
|-------------------------------------------------------|
HOMP4S=6 | # of Pages for Swapping on This Structure |
|-------------------------------------------------------|
HOMFST=7 | First Swapping Track on Unit |
|-------------------------------------------------------|
HOMRXB=10 | Address of Index Block of ROOT-DIRECTORY |
|-------------------------------------------------------|
| Address of Index Block of |
HOMBXB=11 | BACKUP-COPY-OF-ROOT-DIRECTORY |
|-------------------------------------------------------|
HOMFLG=12 | Flags |
|-------------------------------------------------------|
HOMSIZ=13 | Number of Sectors in This Unit |
|-------------------------------------------------------|
HOMBTB=14 | Number of Tracks in Structure |
|-------------------------------------------------------|
HOMMID=15 | Pack Unique Code |
|-------------------------------------------------------|
| |
\ Reserved for Expansion \
| |
| |
|-------------------------------------------------------|
HOMFE0=61 | Front End File System (sector #) |
|-------------------------------------------------------|
HOMFE1=62 | Front End File System (# of sectors) |
|-------------------------------------------------------|
Page 105
| |
| |
\ Reserved for the Front End \
| |
| |
|-------------------------------------------------------|
HOMFE2=101| BOOTSTRAP.BIN Word One (Sector #) |
|-------------------------------------------------------|
HOMFE3=102| BOOTSTRAP.BIN Word Two (# of Sectors) |
|-------------------------------------------------------|
| |
\ Reserved for Expansion \
| |
| |
|-------------------------------------------------------|
HOMUID=165\ 12 Character Unit I.D. (PDP-11 Format) (3 words) \
|-------------------------------------------------------|
HOMOID=170\ 12 Character Owner I.D. (PDP-11 Format) (3 words) \
|-------------------------------------------------------|
HOMFSN=173\ 12 Character File System Name (PDP-11 Format)(3 words)\
|-------------------------------------------------------|
HOMCOD=176| 0 | CODHOM (707070) |
|-------------------------------------------------------|
HOMSLF=177| 0 | This Block # |
+-------------------------------------------------------+
Page 106
HOME
Home Table. This table contains the disk pages for the HOME
and BAT blocks and the 11 Bootstrap program.
Defined in: STG
Referenced by: DSKALC
Format
+-------------------------------------------------------+ / \
HOME: | 0 (11 Bootstrap) | |
|-------------------------------------------------------| |
| 1 (Home Block ) | |
|-------------------------------------------------------| |
| 2 ( BAT Block ) | |
|-------------------------------------------------------| |
| 3 Reserved | |
|-------------------------------------------------------| |
| 4 . | |
|-------------------------------------------------------| |
| 5 . |
|-------------------------------------------------------| NHOME
| 6 . |
|-------------------------------------------------------| |
| 7 . | |
|-------------------------------------------------------| |
| 10 . | |
|-------------------------------------------------------| |
| 11 . | |
|-------------------------------------------------------| |
| 12 (Secondary Home Block) | |
|-------------------------------------------------------| |
| 13 (Secondary Bat Block) | |
+-------------------------------------------------------+ \ /
Page 107
HOMTAB
This table contains the logical to physical mapping (channel
and unit) per logical unit, and its length equals the
maximum number of packs in a structure.
Defined in: STG
Referenced by: DSKALC
Format
+--------------------------------------------------------+
HOMTAB: | Physical Channel | Physical Unit | / \
|--------------------------------------------------------| |
| . | |
| . | |
| . | |
| . |
| . | HOMTBL
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
+--------------------------------------------------------+ \ /
Page 108
IDXFIL
The Index Table File of the structure currently mapped for a
process. Each structure has an index table file. The file
is indexed by 2* directory number as each entry is two words
long. For each directory on the structure, an entry will
contain the address of the FDB for the directory and the
disk address of the index block for the directory.
The table, IDXFIL, in the PSB, is mapped from the index
block of the file, STRNAM: <ROOT-DIRECTORY>INDEX-TABLE.BIN.
The file pointed to by the IDXFIL map has the format shown
below.
When a structure is mounted (physically) the system gets an
OFN for this file and stores it in entry, STRIDX, in the SDB
table for that structure. The table entries are created at
this time (mount-time).
Defined in: PROLOG
Referenced in: FILINI, DIRECT
Format
+-------------------------------------------------+
IDXFIL: | | / \
|-------------------------------------------------| |
| | |
|-------------------------------------------------| |
| . | |
| . | |
| . | |
|-------------------------------------------------|
| IDXSD | IDXFDB | Dir No.
| Superior Dir. | Adr. of FDB for |*2
| | this Dir. | |
|-------------------------------------------------| |
| IDXFG | IDXIB | |
| Flags | Disk Adr of Index Blk of Dir. | |
|-------------------------------------------------| |
| . | |
| . | |
| . | |
\ \ \ /
+-------------------------------------------------+
Page 109
Word 2 of Pair
0 1 2 3 4 5 6 35
+-----------------------------------------+
| | | IDXIB |
| | | Dsk Adr of Index Blk of Dir.|
+-----------------------------------------+
Symbol Bits Pointer Meaning
IDX%%IV 5 If set, indicates that this
IDX entry is invalid.
(IDX%IV is set equal to 1,
but is positioned at bit 5)
6-35 IDXIB Disk address of index block
of directory.
Page 110
INDEX
The Index Block (1 page) exists for each disk file and
contains pointers to where each of the file's pages resides
on disk. If more than one index block is needed for
non%-directory files, a super index block (1 page) is
created which points to the home disk address of each index
block. (Note that the maximum file size is 512*512 pages.)
When the file is referenced, an in%-core copy of the index
block is maintained which keeps track of the file's active
pages in the system. (i.e. Whether the pages are in%-core,
on the swapping area, or on disk.)
Defined in:
Referenced by: PAGEM, PHYSIO
Format
+-------------------------------------------+
| 0 8| |
| C | Storage Address |
| H | |
|-------------------------------------------|
| 0 E 8| |
| C | Storage Address |
| K | |
|-------------------------------------------|
| 0 8| |
| S | Storage Address |
| U | |
|-------------------------------------------|
| 0 M 8| |
| | Storage Address |
|-------------------------------------------|
| |
| Storage Address |
| |
|-------------------------------------------|
| . |
| . |
| . |
| |
| |
|-------------------------------------------|
| |
| Storage Address |
| |
+-------------------------------------------+
Page 111
INIDEV
Initialization Device Routines. This table contains calls
to initialize devices after loading the swappable monitor.
Defined in: STG
Referenced by: FILINI
Format
+-------------------------------------------------------+
INIDEV: | CALL MTAINI |
|-------------------------------------------------------|
| CALL LPTINI (2020 only) |
|-------------------------------------------------------|
| CALL CDPINI (KL only) |
|-------------------------------------------------------|
| RET |
+-------------------------------------------------------+
Page 112
INIDV1
Front End Initialization Device Routines.
Defined in: STG
Referenced by: DTESRV
Format
+-------------------------------------------------------+
INIDV1: | CALL FEINI (KL only) |
|-------------------------------------------------------|
| CALL CDRINI |
|-------------------------------------------------------|
| CALL LPTINI (KL only) |
|-------------------------------------------------------|
| RET |
+-------------------------------------------------------+
Page 113
INIDVT
Device Initialization Table. This static table generated at
assembly time, contains a 4 word block for each type of
device on the system. It is used at system startup time to
generate unit of entries per device type in the device
tables, DEVCHR, DEVCH1, DEVNAM, DEVUNT. Thus, each unit of
each device type has an entry in the device tables.
Defined in: STG, MONSYM
Referenced by: DEVICE
Format
+-------------------------------------------------------+ / \
INIDVT: | SIXBIT/Name/ | |
|-------------------------------------------------------| |
| Device Type Index # = 0 | Dispatch Adr. |
|-------------------------------------------------------| 4
| Char1| <TYPE>B17 | Modes |
|-------------------------------------------------------| |
| CHAR2 + CHAR3+ Number of Units | |
|-------------------------------------------------------| \ /
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
\ . \
+-------------------------------------------------------+
Page 114
CHAR1 can be a combination of the following:
Symbol Bit Meaning
DV%%OUT 0 Can do output
DV%%IN 1 Can do input
DV%%DIR 2 Has a directory
DV%%AS 3 Is assignable
DV%%MDD 4 Is a multiple directory device
DV%%AV * 5 Is available to this job
DV%%ASN * 6 Is assigned by ASND
DV%%MDV 7 Is a mountable device
DV%%MNT * 8 Is mounted
TYPE is one of the following:
Symbol Value Meaning
.DVDSK 0 Disk
.DVMTA 2 Magtape
.DVPTP 5 Spooled PTP
.DVLPT 7 Spooled & physical line printer
.DVCDR 10 Spooled & physical card reader
.DVFE 11 Front End Device
.DVTTY 12 Terminal
.DVPTY 13 Pseudo TTY
.DVNUL 15 Null Device
.DVPLT 17 Spooled Plotter
.DVCDP 21 Spooled Card Punch
MODES can be a combination of the following:
Symbol Bit Meaning
DV%%M0 35 Can be opened in mode 0
DV%%M1 34 " 1
DV%%M2 33 " 2
DV%%M3 32 " 3
DV%%M4 31 " 4
DV%%M5 30 " 5
DV%%M6 29 " 6
DV%%M7 28 " 7
DV%%M10 27 " 10
DV%%M11 26 " 11
DV%%M12 25 " 12
DV%%M13 24 " 13
DV%%M14 23 " 14
DV%%M15 22 " 15
DV%%M16 21 " 16
DV%%M17 20 " 17
Page 115
CHAR2 can be a combination of the following:
Symbol Bit Meaning
D1%%SPL 0 Is spooled
D1%%ALC * 1 Is under control of allocator
D1%%VVL * 2 Volume valid
D1%%NIU * 3 Device slot not in use
D1%%INI * 4 Device is being initialized
(currently for structures only)
* These bits are zero at assembly time and are set
by the monitor when appropriate in their corres-
ponding device tables. (i.e. DEVCHR or DEVCH1)
Page 116
IORB
I/O Request Block. Whenever a request for massbus I/O (i.e.
DSK or MTA) occurs, an IORB is built for that request. It
is of the long form described below for magtape requests and
special disk I/O. However, the most common IORB format for
disk I/O is a one word IORB, consisting of just the status
word, IRBSTS, and stored in the CST5 table.
Defined: PHYPAR
Referenced by: PHYSIO, STG
Format
+-------------------------------------------------------+
| |IRLNK |*
IRBSTS=0| Status | Next IORB |0=IRBLNK
|-------------------------------------------------------|
IRBMOD=1| Mode, Priority, Density, Parity |
|-------------------------------------------------------|
IRBCNT=2| Count of Hardware Bytes Transfered |
|-------------------------------------------------------|
| IRBTL |IRBHD |
IRBXFL=3| Transfer List Tail | Transfer List Head |
|-------------------------------------------------------|
IRBIVA=4| Address of Termination Routine |
|-------------------------------------------------------|
IRBADR=5| Physical Device Address (if needed) |
|-------------------------------------------------------|
IRBLEN=6\ Device Dependent Data \
| |
+-------------------------------------------------------+
Page 117
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 17 18 35
+-------------------------------------------------------------+
IRBSTS| | | | | | | | | | | | | | | | |
+-------------------------------------------------------------+
Symbol Bits Pointer Content
IS.SHT 0 Short form (PAGEM) request
IS.DON 1 Done with this job
IS.ERR 2 ISERR Error on this operation
IS.NRT 3 No more retries
IS.WGU 4 Wrong unit interrupted
IS.TPM 5 ISTPM Hit tape mark
IS.EOT 6 On write only, hit physical EOT
IS.WLK 7 Write locked
IS.IER 8 Inhibit error recovery
IS.DTE 9 Data error
IS.DVE 10 Hardware error on device
IS.BOT 11 Hit BOT
IS.RTL 12 Record too long (buffer too small)
IS.IEL 13 Inhibit error logging
14-17 IFSCN Function code
18-35 IRLNK When referring to link
Function Codes for ISFCN
Symbol Code Function
IRFRED 1 Read data
IRFRDF 2 Read data and format (count, key,
header)
IRFWRT 3 Write Data
IRFWTF 4 Write format
IRFSEK 5 Seek
IRFFSB 6 Forward space block
IRFBSB 7 Backspace block
IRFWTM 10 Write tape mark
IRFERG 11 Erase gap
IRFREW 12 Rewind
IRFRUN 13 Rewind and unload
IRFRDR 14 Read reverse
IRFRCR 15 Recovery read
Page 118
0 14 5 6 17 18 26 7 8 9 0 1 32 35
+-----------------------------------------------------------+
IRBMOD | | | | | | |
+-----------------------------------------------------------+
Bits Pointer Content
15%-17 IRBDM Data Mode
27%-30 IRBPRI Priority
31 IRBPAR Parity
32%-35 IRBDN Density
Data Modes for IRBDM
Symbol Code Meaning
IRMWRD 1 Word mode
IRM6BT 2 Six bit
IRM7BT 3 Seven bit
IRM8BT 4 Eight bit
IRMHID 5 High density mode
If device is DSK, IRBLEN becomes:
+-------------------------------------------------------+
IRBLEN | Transfer List |
|-------------------------------------------------------|
| 0 |
+-------------------------------------------------------+
Page 119
If device is MTA, IRBLEN=MTIRSD becomes:
0 8 9 17 18 35
+-------------------------------------------------------+
| IRFLG *| IRBUN |IRBPB |
MTIRSD | Flags | Unit No. |Ptr to Buffer of Page Ptrs |
|-------------------------------------------------------|
| | IRBOC |
| | Original Count |
| | (Copy of IRBCNT) |
|-------------------------------------------------------|
MTIRBL | Transfer List |
|_______________________________________________________|
| . |
\ . \
| . |
| . |
+-------------------------------------------------------+
Value of flags in IRFLG:
Bits Pointer Content
0 IRBFR Buffer ready for use
1 IRBFQ Current buffer flag
2 IRBFA Active flag, IORB being filled
or emptied by service routine
3 IRBAB IORB aborted due to an error
4 IRBFF IORB free
Page 120
IPCF-MESSAGE-HEADER
IPCF Message header. This table describes the format of the
message header for message sent by the Inter-Process
Communications Facility.
Defined in: IPCF
Referenced by: IPCF
Format
0 17 18 35
+-------------------------------------------------------+
| MESLNK | MESLEN |
0 | Link to Next Message | Length of This Block |
|-------------------------------------------------------|
1 | MESSJN | MESFLG |
| Sender's Job Number | Flags |
|-------------------------------------------------------|
2 | MESSPD |
| Sender's PID |
|-------------------------------------------------------|
3 | MESLDN |
| Logged in Directory # of Sender |
|-------------------------------------------------------|
4 | MESENB |
| Enabled Capabilities of Sender |
|-------------------------------------------------------|
5 | MESCDN |
| Connected Directory # of Sender |
|-------------------------------------------------------|
MESACT=6 | MESACT |
\ Account String Block \
| |
|-------------------------------------------------------|
MESWDI=20| MESWDO |
\ Message \
| (PTN.PN in Page Mode) |
|-------------------------------------------------------|
MESWDI+1 | MSFTM |
| Mask into Fork Page Bit Table |
| (PAGE Mode only) |
|-------------------------------------------------------|
MESWDI+2 | MESPAC | MSFTI |
| Access Bits | Index into |
| of Page | Fork Bit Table |
+-------------------------------------------------------+
Page 121
IPCF-PID-HEADER
IPCF Process ID Header. This contains overhead information
for each PID in use.
Defined in: IPCF
Referenced by: IPCF
0 8 9 11 12 17 18 35
+-------------------------------------------------------+
| PIDUN | |
| Unique | Length of this block |
| (LH of PID) | |
|-------------------------------------------------------|
| PIDFLG* | PIDCHN | PIDFW |
| Flags | Chn | Fork Number of |
| | | Waiting Fork |
|-------------------------------------------------------|
| PIDRQ | PIDRC | PIDFO |
| Receive | Receive | Fork Number of |
| Quota | Count | Owner of this PID |
|-------------------------------------------------------|
| PIDNL | PIDOL |
| Link to | Link to |
| Newest Message | Oldest Message |
+-------------------------------------------------------+
0 18 35
+-------------------------------------------------------+
| |||| | PIDCHN | PIDFW |
| |||| | CHN | Fork Number of |
| |||| | | Waiting Fork |
+-------------------------------------------------------+
Symbol Value Contents
PD%JWP 1 PID is a Job-wide PID
PD%DIS 2 PID is disabled
PD%CHN 4 channel is set up to
get interrupts
PD%NOA 10 access by other forks
Page 122
IPCF-STORAGE-AREA
Inter-Process Communication Facility Storage Area. This
non-resident storage is described followed by the resident
wake-up bit table (PDFKTB). See also the tables, PIDCNT and
PIDTBL.
Defined in: STG
Referenced by: GTJFN, IPCF, LOGNAM, MEXEC
Format
+-------------------------------------------------------+ / \
SPIDTB: | | |
\ Table of Commonly Used PIDS \ SPDTBL=8
\ \ |
|-------------------------------------------------------| \ /
PIDLOK: | Lock on PID Free Pool and Data Structure |
|-------------------------------------------------------|
NXTPID: | Next Unique # to be used as LH of PID |
|-------------------------------------------------------|
INFOPD: | PID of SYSTEM INFO |
|-------------------------------------------------------|
INFOPV: | Public Value of SYSTEM INFO PID |
|-------------------------------------------------------|
PIDLST: | Number of First Free PID, 0 if none |
|-------------------------------------------------------|
PIDMXP: | Highest Page in Pages-In-Transit File |
|-------------------------------------------------------| / \
PIDPBT: | | |
\ Bit Table of Pages-In-Transit File \ PIDPBL
\ \ |
|-------------------------------------------------------| \ /
PIDFTB: | | / \
\ TBL of PTN's of forks for pages in transit \ |
\ \ PIDFTL
| | |
|-------------------------------------------------------| \ /
SWPFRE#:| | / \
\ Free Space Header Block (7 words) \ 7
\ \ |
|-------------------------------------------------------| \ /
SWFREE#:| | / \
| Free Space Pool | |
| (PID Headers & Messages | |
| Assigned Space here) | SWFREL
| | |
\ \ |
|-------------------------------------------------------| \ /
PIDCNT: | | / \
\ Table of quotas and counts for IPCF \ |
\ \ NJOBS
+-------------------------------------------------------+ \ /
Page 123
+-------------------------------------------------------+
PDFKTB | | | | | . . |
|-------------------------------------------------------|
\ Bit Wakeup Table (1/Fork) \
+-------------------------------------------------------+
# See Swap%-Free%-Space%-Pool Table.
Page 124
JOBDIR
Job Directory Table. This table contains the number of the
login directory for each job.
Defined In: STG
Referenced by: APRSRV, CDRSRV, DIRECT, DISC, DTESRV,
FILINI, FUTILI, IPCF, JSYSA, JSYSF, LINEPR,
MAGTAP, MEXEC, MSTR, SCHED, TAPE, TTYSRV
Format
+-------------------------------------------------------+ / \
JOBDIR: | Reserved | Login Directory # | |
|-------------------------------------------------------| |
| . | |
| . |
| . | NJOBS
| . |
| . | |
| . | |
\ . \ |
+-------------------------------------------------------+ \ /
Page 125
JOBNAM
Job Name Table. This table contains an index into the
subsystem name tables (SNAMES, STIMES, etc.) indicating what
subsystem, if any, each job is running. The name index is
for statistics only and is not used by the monitor.
Defined In: STG
Referenced by: DIAG, FORK, MEXEC, PAGEM, SCHED
Index: Job number
Format
+-------------------------------------------------------+ / \
JOBNAM: ||| | Name Index | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . | |
| . |
| . | NJOBS
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ |
+-------------------------------------------------------+ \ /
Symbol Bit Pointer Content
JWAKEF 0 HIBFL Flag used by HIBER JSYS.
If set, implies a wakeup
signal to THIBR
1 DIAFL Job has DIAG resources
1-2 SKPCT Skip count for NEWUTL
18-35 Name index
Page 126
JOBPNM
Job Program Name. This non-resident table contains each
job's program name.
Defined In: STG
Referenced by: CDRSRV, DTESRV, IPCF, JSYSA, LINEPR, MAGTAP,
MEXEC
Index: Job number
Format
+-------------------------------------------------------+ / \
JOBPNM | Job Program Name | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . |
| . | NJOBS
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ |
+-------------------------------------------------------+ \ /
Page 127
JOBPT
Job Process Table. This table, contains the number of the
controlling terminal, or -1 for a detached job, and the
index of the top fork of the job.
Defined in: STG
Referenced by: DEVICE, DIAG, FILMSC, FORK, IO, IPCF, JSYSA,
MEXEC, MSTR, SCHED, TTYSRV
Format
+-------------------------------------------------------+ / \
JOBPT | Controlling Terminal | Top Fork Index | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . |
| . | NJOBS
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ |
+-------------------------------------------------------+ \ /
Page 128
JOBRT
Job Runtime Table. This table contains the total runtime of
each job (sum of all forks) in milliseconds. If a word
contains a -1, the job does not exist.
Defined in: STG
Referenced by: ENQ, FORK, FUTILI, IPCF, JSYSA, MEXEC, MSTR,
SCHED
Index: Job number
Format
+-------------------------------------------------------+ / \
JOBRT: | Runtime | |
|-------------------------------------------------------| |
| . | |
| . |
| . | NJOBS
| . |
| . | |
| . | |
\ . \ |
+-------------------------------------------------------+ \ /
Page 129
JOBRTL
Job Runtime Limit. This table contains the number of clocks
(via TIMER JSYS) in use by each job and a pointer to the
runtime limit TIMER block. A description of the TIMER block
is described below. (See RES-FREE-SPACE).
Defined in: STG, PROLOG
Referenced by: MEXEC, SCHED, TIMER
Index: Job number
Format
0 12 13
+-------------------------------------------------------+
| TIMCNT | JOBRTP | / \
JOBRTL: | # of Clks. in | Ptr to Runtime Limit Block | |
| Use | | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . |
| . | NJOBS
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ |
+-------------------------------------------------------+ \ /
TIMER Run Timer Limit Block
+---------------------------------------+
| TIMLNK |
| Link to Next Block (Q) |
|---------------------------------------|
| TIMTIM |
| Time Word (When Clock Should Go Off |
|---------------------------------------|
|0 5|6 17|18 35|
| TIMCHN | TIMJOB | TIMFRK |
| |Job # that | Sys. Fork Handle |
| |Set Clock | to be PSI'd |
|---------------------------------------|
| TIMKNL |
| Back Link to Previous Clock |
+---------------------------------------+
Page 130
JSB
Job Storage Block. Each job has a Job Storage Block which
holds per-job information such as the job's fork structure,
line number of controlling TTY, terminal interrupts enabled
and accounting and logical name information.
The JOBMAP map in the JSB points to all of the per-job
storage (including the JSB page itself). When the monitor
references this current job's storage area it uses virtual
addresses 620000-706777. (The monitor's mapped slots in
MMAP for virtual pages 620-706 point to the JOBMAP map via
indirect pointers.)
JBCOR contains a bit table which keeps track of which pages
in the Job Storage Area are in use (bit(s) = 0) and which
are free (bit(s) = 1). The first several pages of this Job
Common Area will always be allocated for the JSB page plus
expansion pages for the JFN blocks and for the JSYS trap
header word and trap blocks (See FKJTQ table). The first
non-reserved page begins at FREJPA (=626000).
JSBFRE is the free block header. If a block of words (i.e.,
<512 words) is required, it is allocated from the JSFREE
area in the JSB. Blocks in the JSFREE area are linked and
when a block of words is required, the free list is search
looking for a large enough block. If the free list area in
JSFREE is depleted, a new page (space outside the JSB in the
Job Storage Area) is allocated and its space added to the
free list for block usage.
Pages are assigned from the bit table, JBCOR, by the
routine, ASGPAG, and are used for temporary job pages such
as file window pages, magtape buffer pages, mapping a super
index block, getting more space for the free block storage
linked in JSBFRE, and mapping EXE file directory pages.
Blocks of words are assigned from the free list, headed by
JSBFRE by the routine, ASGFRE, and are used to hold
temporary storage such as name strings for JFN blocks, the
job-wide Logical Names List, and the Logical Name Definition
Blocks.
Defined in: STG
Referenced by: PAGEM, SCHED, FORK, POSTLD, PROLOG, DSKALC,
DISC, JSYSA, JSYSF, FILINI, FREE, GTJFN, IO,
IPCF, LOGNAM, MAGTAP, MEXEC, MSTR, NETWRK,
NSPSRV, TAPE
Page 131
Format
+-------------------------------------------------------+
JSBPGA: | |
JOBMAP: | Object Map for Job-Common Area |
| |
\ \
\ \
| |
| |
|-------------------------------------------------------|*/ \
SYSFK: | Job Fork Index to System Fork Index Table | |
\ (1 Entry /Job Fork) \ NUFKS
| | |
|-------------------------------------------------------| \ /
FKCTTY: | Job Fork 0 Ptr | Job Fork 1 Ptr | / \
|-------------------------------------------------------| |
\ . . \ NUFKS
\ . . \ 2
| . . | |
|-------------------------------------------------------| \ /
FKJTB: | Adr of JSYS Trap Block | / \
| (1 Entry /Job Fork) | |
\ . \ NUFKS
| . | |
|-------------------------------------------------------| \ /
FKPTRS: | Fork Pointers (Structure) Table | / \
\ (1 Entry /Job Fork) \ NUFKS
| | |
|-------------------------------------------------------| \ /
FKPSIE: | Terminal Interrupt Enabled Word Table | / \
\ (1 Entry /Job Fork) \ NUFKS
| | |
|-------------------------------------------------------| \ /
FKDPSI: | Deferred Terminal Interrupts Mask Table | / \
\ (1 Entry /Job Fork) \ NUFKS
| | |
|-------------------------------------------------------| \ /
FREJFK: | Free Job Fork Slot List |
|-------------------------------------------------------|
FKLOCK: | Lock for Fork Structure Modification |
|-------------------------------------------------------|
FLKCNT: | Nest Count for Fork Lock |
|-------------------------------------------------------|
FLKOWN: | Fork That Locked Fork Lock |
|-------------------------------------------------------|
FLCNT: | Count of Active Forks in This Job |
|-------------------------------------------------------|
LSTLGN: | Last LOGIN Date and Time |
|-------------------------------------------------------|
SRTTIM: | Data & Time Job Was Initialized |
|-------------------------------------------------------|
ARDFRT: | Job Default for Retrievals |
|-------------------------------------------------------|
Page 132
CTRLTT: | Line Number of Controlling TTY |
|-------------------------------------------------------|
TTSPSI: | Code Enabled Anywhere in This Job |
|-------------------------------------------------------|
TTSDPS: | Terminal Interrupt Code Deferred |
|-------------------------------------------------------|
TTJTIW: | Terminal Interrupt Enable Mask |
|-------------------------------------------------------|
CONSTO: | Console Time On (TODCLK units) |
|-------------------------------------------------------|
CTIMON: | Connect Time On (GTAD units) |
|-------------------------------------------------------|
CONCON: | Console Connect Time (for usage) |
|-------------------------------------------------------|
JBRUNT: | Job Run Time (for usage) |
|-------------------------------------------------------|
JBNODE: | Node Name (SIXBIT) |
|-------------------------------------------------------|
JBBNAM: | Batch Job Name (SIXBIT) |
|-------------------------------------------------------|
JBBSEQ: | Batch Sequence Number |
|-------------------------------------------------------|
ACCTSL: | Length of ACCTSR |
|-------------------------------------------------------| / \
ACCTSR: \ Account String \ MAXLW
|-------------------------------------------------------| \ /
ACCTSX: | Expiration Data of ACCTSR |
|-------------------------------------------------------| / \
CSHACT: \ Most recently Validated Account \ MAXLW
|-------------------------------------------------------| \ /
CSHUSR: | User for Whom Cached Account was Validated |
|-------------------------------------------------------|
CSHACX: | CSHACT Expiration Date |
|-------------------------------------------------------|
CSHCLS: | Class of Cached Account |
|-------------------------------------------------------|
LLSR: | Logical Location |
|-------------------------------------------------------| / \
JSSRM: \ Session Remark \ MAXLW+1
|-------------------------------------------------------| \ /
| | / \
USRNAM: \ User Name String \ MAXLW+1
|-------------------------------------------------------| \ /
JFNLCK: | Lock to Prevent Tampering with JFNs |
|-------------------------------------------------------|
MAXJFN: | |
|-------------------------------------------------------|
ENQLST: | ENQ Quotas & Counts | Pointer to ENQ Q Blocks |
| | for this Job |
|-------------------------------------------------------|
TIMALC: | TIMER Clocks Limit |
|-------------------------------------------------------|
LNTABP: | Pointer to Logical Name Table (Tbl is in JSB Space) |
|-------------------------------------------------------|
LNMLCK: | Lock for Logical Name Data Base |
Page 133
|-------------------------------------------------------|
JOBUNT: | Connected Disk Unit |
|-------------------------------------------------------|
JBCLCK: | Lock for ASGPAG |
|-------------------------------------------------------| / \
JBCOR: \ Page Allocation Bit Table for Job Storage Area \ 4
\ \ \ /
|-------------------------------------------------------| --
JSBFRE: | Ptr. to 1st Free Block | 0 | |
|-------------------------------------------------------| |
| Lock | |
|-------------------------------------------------------|
| Space Counter |Job area
|-------------------------------------------------------| free
| Most Common Block Size | storage
|-------------------------------------------------------| header
| Max Top of Free Stor. | Min. Bottom of Free Stor.|
|-------------------------------------------------------| |
| Temp | |
|-------------------------------------------------------| |
| Temp | |
|-------------------------------------------------------| --
JSFREE: \ Free Storage Area in Job Block (^D64 words) \ / \
\ \ |
\ [Free Blocks have Hdr. Wd of: \ |
\ Ptr. to Next Blk,, Length] \ IJSFRE
\ \ |
\ \ |
|-------------------------------------------------------| \ /
JSSTRT: | | JSSTN |*/ \
JSSTRF=0| Flags | Structure Unique Code | |
|-------------------------------------------------------| |
| JSGRP | |
JSGRPS=1| AOBJN Pointer to List of Groups | |
|-------------------------------------------------------| |
| | JSADN | JSSTMX
JSADIR=2| **Unused** |Accessed DIR # for This STR| *STRN
|-------------------------------------------------------| |
JSFKMT=3| JSFMT | |
| Fork-mount bit word | |
|-------------------------------------------------------| |
\ \ |
\ (4 Words per Structure) \ |
\ \ |
|-------------------------------------------------------| \ /
JSSTLK: | Lock on the JSSTRT Block |
|-------------------------------------------------------|
| JSUC | JSDIR |
JSBSDN: | Connected STR Unique Code | Connected Directory # |
|-------------------------------------------------------|
|0 | |18 35|
JSBCDS: | JSCDF | |JSCDS |
|String Ptr. | |Ptr. to Connected |
|Valid if set| |Dir. Name String |
|-------------------------------------------------------|
Page 134
MODES: | DDBMOD Word from LOGIN |
|-------------------------------------------------------|
GROUPS: | Groups to Which LOGIN User Belongs |
|-------------------------------------------------------|
RSCNPT: | RESCAN Pointer |
|-------------------------------------------------------|
RSCNBP: | Ptr. to RESCAN Buffer (max. buf. size is 777) |
|-------------------------------------------------------|
JBINFO: | PID of Private <SYSTEM>INFO for JOB |
|-------------------------------------------------------|
JSCDR: | Next Version # (or -1) | Adr. of Spool Set String |
| | for CDR |
|-------------------------------------------------------|
JSMTA1: | MTA Parity, Density, Mode, and Default Record Size |*
|-------------------------------------------------------|
JBFLAG: | Spooler Flags | |*
| (Sent on CLOSE/LOGOUT | General Job-wide Flags |
|-------------------------------------------------------|
JSLOPD: | PID to get LOGOUT message from CRJOB |
|-------------------------------------------------------|
JSLOJB: | Job # of Who Logged Out this Job |
|-------------------------------------------------------|
JSFSTK: | Stack of Things to be Done on Fork Cleanup |
|-------------------------------------------------------|
JSFLCK: | Lock for This JSFSTK Structure |
|-------------------------------------------------------|
CRJFLG: |Flag that this is CRJOB Startup.(Used by MEXEC & LOGIN)|
|-------------------------------------------------------|
| DCMAX | DCCUR |
DCNCNT: | Job's Network Link Quota| Current Count of Open Links|
|-------------------------------------------------------|
JSSRTM: | Runtime at Start of this Accounting Session |
|-------------------------------------------------------|
JSSCTM: | Console Time at Start of this Session |
|-------------------------------------------------------|
JSATCT: | ATS HTN Quota,,Count |
|-------------------------------------------------------|
JOBSKD: | Special Job Scheduling Parameter |
|-------------------------------------------------------|
BATSTF: | Batch Stream Number and Flags Word |
+-------------------------------------------------------+
JFN0: +-------------------------------------------------------+ --
FILBYT: | Byte Pointer to Current Window | |
|-------------------------------------------------------| |
FILBYN: | Byte # of Current Byte | |
|-------------------------------------------------------| |
FILACT: | Ptr to Account String or Account # | |
|-------------------------------------------------------| |
FILLEN: | Total File Length in Bytes | |
|-------------------------------------------------------| |
FILCNT: | Bytes Remaining in Current Buffer | |
|-------------------------------------------------------| |
FILLCK: | File Lock Word | |
Page 135
|-------------------------------------------------------| |
FILWND: | Current Page # |Location of Current Window | |
|-------------------------------------------------------| |
FILSTS: | File Status Bits | Status | Mode |* |
|-------------------------------------------------------| |
| STR | | |
FILDEV: | Structure Number |DEV`DTB (i.e.Dev Disp. Tbl)| |
|-------------------------------------------------------| |
FILOFN: | OFN for This File | OFN of Long File PT Table |
|-------------------------------------------------------| JFN
FILLFW: | Count of Pages Mapped | Loc. of Page Table Table | BLOCK
|-------------------------------------------------------|
FILDDN: |Ptr. to Device String Block| Directory # | |
|-------------------------------------------------------| |
|FILDIR | FILATL | |
FILDNM: | Directory Name String | Ptr to Attribute List | |
|-------------------------------------------------------| |
FILNEN: |File Name String Blk. Ptr. | Ext. String Blk. Ptr. | |
|-------------------------------------------------------| |
FILVER: | Fork # of JFN Originator | Version # | |
|-------------------------------------------------------| |
| FILDMS | FILNMS | |
FILMS1: | Directory Wild Mask | Name Wild Mask | |
|-------------------------------------------------------| |
| FILEMS | | |
FILMS2: | Extension Wild Mask | | |
|-------------------------------------------------------| |
FILFDB: | Address of FDB in the Directory | |
|-------------------------------------------------------| |
| FILUC | FILPO | |
FILCOD: | STR Unique Code | PTO OFN for Long File | |
|-------------------------------------------------------| --
| Additional JFN Blocks |
| . |
| . |
+-------------------------------------------------------+
Each JFN uses a block of 19 (MLJFN) words. (Since JFNs can
grow beyond the end of the JSB into successive pages, the
JFN blocks must be the last storage defined in the JSB.)
MJFN is the maximum number of JFNs.
Page 136
These definitions are used in the above positions only during the
GTJFN procedure:
(1) FILTMP / Ptr. to temp string block for default ,, Ptr. to
temp string block
(2) FILPRT / Ptr. to protection string or protection #
(3) FILSKT / Arpanet connection no.,, Unused
FILOPT / Byte Ptr. to Store String in GTJFN
(4) FILLIB / For DECNET, Ptr to LL Block
(5) FILLNM / Ptr. to RDTEXT buffer ,, Ptr. to logical name
chain **
(6) FILBFO / For DECNET, Output Buffer Ptr.
(7) FILIDX / 0 ,, Index into device tables for original
devices GTJFNed
{(i.e., doesn't change during spooling)}
FILBFI / For DECNET, Ptr. to Input Buffer
(8) FILBCT / For DECNET, Ptr. to Counts
** Logical Name Header Format
+-------------------------------------------------------+
| LNMCNT || LNMSTP |
| Depth Count || Step Counter |
|-------------------------------------------------------|
| LNMLNK | LNMPNT |
| Link to Next BLK | Logical Name String Ptr |
+-------------------------------------------------------+
Bits Pointer Content
0-17 LNMCNT Depth count for logical
names
18 LMMIDX Index into logical name
tables
19-35 LNMSTP Step counter at time of
chaining
0-17 LNMLNK Link to next chain block
18-35 LNMPNT Pointer to logical name
string
Page 137
FILSTS
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 31 35
+-------------------------------------------------------------------+
| | | | | | | | | | | | | | | | | | | | | | | | |Mode |
+-------------------------------------------------------------------+
FILSTS
Symbol Bits Pointer Meaning
OPNF 0 File is open
READF 1 File is OK to read
WRTF 2 File is OK to write
XCTF 3 File is OK to execute
RNDF 4 File is OK to reset ptr.
(i.e., not append)
NONXF 5 Non-existent File, delete
FDB on RLJFN
NWTF 6 No wait on DUMP I/O
LONGF 7 File is a long file
EOFF 8 End of file if read
attempted
ERRF 9 Bytes read may be wrong
NAMEF 10 Name is associated with
this JFN
ASTF 11 An * was typed in
ASGF/BLKF 12 JFN is being assigned or
service routine wants to
block; shares a bit
position with ASGF
HLTF 13 Halt if I/O error
WNDF 14 A window page has been
set up
ENDF/TRNSL 15 File is past end of maximum
length.
Bit timeshared with ENDF to
say the JFN is in a trans-
itional state and may not
be accessed.
SIZE 16 Illegal to change size of
byte
FRKF 17 File is restricted to fork
in LH(FILVER)
PASLSN 18 Set to skip line number
checking on ASCII files
SKIPBY 19 Set by BYTINA to remember
that it has to discard.
XQTAF 20 Quota exceeded Flag
FILDUD 21 Suppress DDMP action if set
FILINP 22 Direction of I/O is input
FILOUP 23 Direction of I/O is output
Page 138
HLDF 24 Hold in balance set
RECF 25 End of record seen
ACRLFF 26 Add CRLF's after records on
input
CRNXT 27 Return CR next
LFNXT 28 Return LF next
FROSTF 29 Record has been frosted
18-35 IOMODE Mode File is opened in
SYSFK.HLP
Work 0 of 4-word structure block (starts at JSSTRT)
0 1 2 3 17 18 35
+------------------------------------------------------------+
| | | | | JSSTN |
| | | | | Structure Unique Code |
+------------------------------------------------------------+
Symbol Bit Pointer Content
0 JSSDM Structure is dismounted
1 JSMCI Mount count has been incremented by
structure
2 JSXCL Structure is mounted exclusively by
the structure
JSFRST 18-35 JSSTN Structure unique code
0 9 10 11 14 15 17 18 35
+-------------------------------------------------------------+
| | | JSMTD |JSMTM | JSMTR |
JSMTA1| | |Density| Mode | Default Record Size |
+-------------------------------------------------------------+
Bits Pointer Content
10 JSMTP Default Parity
11-14 JSMTD Default Density
15-17 JSMTM Default Mode for transfers
18-35 JSMTR Default record size (hardware bytes)
0 1 2 3 4 35
+------------------------------------------------------------+
JBFLAG| | | | |
+------------------------------------------------------------+
Symbol Bits Pointer Content
SP%BAT 0 JSBAT Job is being controlled
by BATCH
SP%DFS 1 JSDFS Spooling is deferred
Page 139
SP%ELO 2 JSELO Job executed LOGOUT JSYS
SP%FLO 3 JSFLO Job forced to LOGOUT by
top Fork error
SP%OLO 4 JSOLO Job logged out by other
job
18 JBMX Job has been in the
mini-exec
19 JBT20 Job is at TOPS-20 command
level
Page 140
KDB
Kontroller Data Block (TM02/3, DX20 only)
Defined in: PHYPAR
Referenced by: PHYM2
Format
+-------------------------------------------------------+
KDBSTS=0| Flags | Unit Type |
|-------------------------------------------------------|
KDBIUN=1| Initial AOBJN Word to UDB Table |
|-------------------------------------------------------|
KDBCUN=2| Current AOBJN Word to UDB Table |
|-------------------------------------------------------|
KDBDSP=3| Dispatch for Service Routine |
|-------------------------------------------------------|
KDBDDP=4| |
=KDBUDB \ UDB Pointer Table \
| |
| |
| |
| |
| |
|-------------------------------------------------------|
\ Device Dependent Code \
| |
| |
| |
+-------------------------------------------------------+
Device dependent sector for TM02/3
+-------------------------------------------------------+ ^
KDBUDB= | UDB Pointer Table | |
KDBPP | | D8
| | |
| | v
|-------------------------------------------------------|
TM2ADR= | Massbus Address of TM02/3 |
|-------------------------------------------------------|
SAVUDB= | Current UDB (0 if none) |
|-------------------------------------------------------|
TM.CNI= | CONI of RH 8ocshere |
|-------------------------------------------------------|
TM.CSI= | DATAI RH control Register |
|-------------------------------------------------------|
TM.DBF= | DATAI RH Data Register |
|-------------------------------------------------------|
TM2REG= | Drive Registers go here |
+-------------------------------------------------------+
Page 141
0 1 17 18 35
+----------------------------------------------------+
KDBSTS | | | | |
+----------------------------------------------------+
Symbol Bit Pointer Content
KS.ACT 1 Controller Active if set
KS.HLT 2 Microcode is halted
18%-35 Unit type
Device dependent sector for DX20
+------------------------------------------------------+ ^
K.DUDB= | UDB Pointer Table | |
KDBDDP | | |
| | NUMDRV
| | |
| | |
|------------------------------------------------------| v
K.DNUM= | Number of Drives in UDB Pointer Table |
|------------------------------------------------------|
K.DXAD= | Massbus Address of DX20 |
|------------------------------------------------------|
K.SUDB= | Current UDB (0 if none) |
|------------------------------------------------------|
K.DCNI= | CONI of RH goes here |
|------------------------------------------------------|
K.DCS1= | DATAI RH Control Register |
|------------------------------------------------------|
K.DDBF= | DATAI RH Data Register |
|------------------------------------------------------|
K.DUER= | Microcode Version |
|------------------------------------------------------|
K.DRRG= | Drive Registers go here | ^
| | |
| | |
| | D22
| | |
| | |
|------------------------------------------------------| v
K.DEST= | Extended Status Table | ^
| | |
| | |
| | D20
| | |
| | |
+------------------------------------------------------+ v
Page 142
LOGICAL LINK BLOCK
The logical link block is the data structure used in
management NSP logical links. There is a logical link block
for each logical link known to TOPS-20.
Defined in: NSPSRV
Referenced in: NSPSRV
Format
+-------------------------------------------------------+
LLUPL | Up Pointer |
|-------------------------------------------------------|
LLDWN | Down Pointer |
|-------------------------------------------------------|
|| LLSTA | LLFLG | LLLNK | *
|| | Link Flags | This Link's ID |
|-------------------------------------------------------|
| LLFRK | LLDRC | LLPII | LLPIC |
| Owning Fork |Data PI | Int PI | CI PI |
|-------------------------------------------------------|
| LLIIN | LLFNM | LLHLK |
| Segment # for | Remote | Link ID on |
| Incoming LS/INT | Object # | Foreign Host |
|-------------------------------------------------------|
LLMSG | Ptr. to Raw Message Queue |
|-------------------------------------------------------|
LLMSI | Ptr. to Interrupt Message |
|-------------------------------------------------------|
||| | LLSWG | LLMSM | LLQUN | LLQOU| *
||| | Max. Segment Size | | | |
|-------------------------------------------------------|
|| ||| | LLOPT | *
|| ||| | |
|-------------------------------------------------------|
| Next Data Xmit | Next LS/INT Xmit |Next Data Receive |
| Segment # | Segment # | Segment # |
|-------------------------------------------------------|
LLOMSG | Ptr. to Ordered Message Queue |
|-------------------------------------------------------|
| LLUCT | LLTSK |
| | Ptr. to Task Name |
|-------------------------------------------------------|
LLHST | Ptr. to Remote Host Name |
|-------------------------------------------------------|
| LLMIC | LLFDS |
| | |
|-------------------------------------------------------|
LLBPTR | Working Byte Pointer |
|-------------------------------------------------------|
LLBPCT | Current Byte Count |
|-------------------------------------------------------|
Page 143
| LLBSZ |LLDRW|LLDMT ||LLLSC| LLRSN |
| | | || | Disconnect Reason Code |
|-------------------------------------------------------|
LLSEGQ | Header for Sent Queue |
|-------------------------------------------------------|
| LLNAM | LLSOB |
| No. of This Object | Object of Remote CI |
|-------------------------------------------------------|
LLDSC | Ptr. to Descriptor Block |
|-------------------------------------------------------|
LLUSR | Ptr. to User Name Block |
|-------------------------------------------------------|
LLACT | Ptr. to Accounting String Block |
|-------------------------------------------------------|
| LLPCT | LLPSW |
| | Ptr. to Password Block |
|-------------------------------------------------------|
LLUSGP | User, Group from CI |
+-------------------------------------------------------+
Page 144
LOGICAL-NAME-DEFINITION
Logical Name Definition Block. The block format given below
is used for system and job-wide logical name definitions.
The first definition block for a logical name is pointed to
by its Logical Name List and is store in the swappable free
space if a system logical name or in the JSB space if a
job-wide logical name.
Defined in: LOGNAM
Reference by: LOGNAM
+-------------------------------------------------------+
LNBLK=0 | PTR TO NEXT DEFINITION | SIZE OF THIS BLOCK |
| (OR ZERO IF NONE) | (USUALLY 12) |
|-------------------------------------------------------|
LNDEV=1 | ASCII BYTE PTR TO DEVICE BLOCK (IF ANY) |
|-------------------------------------------------------|
LNDIR=2 | ASCII BYTE PTR TO DIRECTORY BLOCK (IF ANY) |
| (-3 MEANS STAR WAS TYPED) |
|-------------------------------------------------------|
LNNAM=3 | ASCII BYTE POINTER TO NAME BLOCK (IF ANY) |
|-------------------------------------------------------|
LNEXT=4 | ASCII BYTE POINTER TO FILE TYPE (IF ANY) |
| (-2 MEANS A NULL FIELD WAS SPECIFIED) |
|-------------------------------------------------------|
LNVER=5 | 500000,,0 + GENERATION NUMBER (IF ANY) |
|-------------------------------------------------------|
LNACT=6 | 500000,,0 + ACCOUNT NUMBER -OR- |
| ASCII BYTE POINTER TO ACCOUNT STRING (IF ANY) |
|-------------------------------------------------------|
LNPRT=7 | 500000,,0 + FILE PROTECTION (IF ANY) |
|-------------------------------------------------------|
LNTMP=10| 0 IF PERMANENT OR -1 IF TEMPORARY (IF ANY) |
|-------------------------------------------------------|
LNATR=11| PREFIX VALUE OF CURRENT | PTR TO ATTRIBUTE CHAIN |
| PREFIX | |
+-------------------------------------------------------+
Page 145
LOGICAL-NAMES-LIST
Logical Names List. The list described below is the format
used for the system logical names list (pointed to by
SYLNTB) and the job wide logical names list (pointed to by
the JSB entry, LNTABP.)
The system logical names list is built in the swappable free
space from the entries in SYNMTB at system initialization
time. (See SWAP-FREE-SPACE and SYNMTB tables). A job's
logical names list is built in the JSB space the first time
a logical name is created.
An entry in a logical names list has a pointer to the
logical name string (in ASCIZ) in the left half and a link
to the first definition block in the right half (See
LOGICAL-NAME-DEFINITION description).
Defined in: STG
Referenced by: LOGNAM
+-------------------------------------------------------+
| # OF DEFINED LOG NAMES | SPACE ALLOCATED IN TABLE |
|-------------------------------------------------------|
| LOGICAL NAME BLK ADDR | LINK TO FIRST DEFINITION |
|-------------------------------------------------------|
| LOGICAL NAME BLK ADDR | LINK TO FIRST DEFINITION |
|-------------------------------------------------------|
\ . \
\ . \
+-------------------------------------------------------+
Page 146
LPT-STORAGE-AREA
Line Printer Storage Area. Each entry in the resident area
is LPTN words long, where LPTN equals the number of line
printers on the system.
Defined in: STG
Referenced by: LINEPR
Format
+-------------------------------------------------------+ ^
LPTTYP: \ Type of LPT Vector for Dev. Independence \ LPTN
|-------------------------------------------------------| v
\ \* ^
LPTSTS: \ Status Word \ LPTN
|-------------------------------------------------------| v
\ \* ^
LPTST1: \ Second Status Word \ LPTN
|-------------------------------------------------------| v
\ \ ^
LPTST2: \ Third Status Word \ LPTN
|-------------------------------------------------------| v
\ \ ^
LPTST3: \ Fourth Status Word \ LPTN
|-------------------------------------------------------| v
\ \* ^
LPTERR: \ Last Error Word \ LPTN
|-------------------------------------------------------| v
\ \ ^
LPTCNT: \ Buffer Counter \ LPTN
|-------------------------------------------------------| v
\ \ ^
LPTCLS: \ LPTCHK Clock Switch \ LPTN
|-------------------------------------------------------| v
\ \ ^
LPTCCW: \ BLKI/O Pointer \ LPTN
|-------------------------------------------------------| v
\ \ ^
LPTICT: \ Interrupt Byte Count \ LPTN
|-------------------------------------------------------| v
\ \ ^
LPTCKT: \ Interval for LPTTIM \ LPTN
|-------------------------------------------------------| v
\ \ ^
LPTLCK: \ Lock on Opening LPT \ LPTN
|-------------------------------------------------------| v
\ \ ^
PGDATA: \ Page Counter to be Sent to -11 \ LPTN
+-------------------------------------------------------+ v
Page 147
The following LPT: storage items are in the nonresident area
of the monitor.
+-------------------------------------------------------+ ^
LPTBUF: \ 2 Buffers (each NLPBF=400 words) for Each LPT: \ LPTN*2*NLPBF
|-------------------------------------------------------| v
\ VFUOFN | RAMOFN \ ^
LPTOFN: \ VFU | RAM \ |
\ OFN's to Prevent Opens for Write (1 entry/DTE) \ LPTN
|-------------------------------------------------------| v
\ \ ^
VFUFIL: \ Swappable Storaeg Area for VFU File Names \ LPFLSZ*LPTN
|-------------------------------------------------------| v
\ \ ^
RAMFIL: \ Swappable Storage Area for RAM File Names \ LPFLSZ*LPTN
+-------------------------------------------------------+ v
If the assembly flag, SMFLG, is set, indicating a 2020 Monitor,
then the following additional storage is assembled in the
resident area of the monitor.
+------------------------------------------------------+
L11A: | Holds Fake -11 Adr of Buf |
| (1 entry / LPT ) |
|------------------------------------------------------|
LPWINA: | Address of Unibus Window |
|------------------------------------------------------| ^
LPACS: | AC Storage During LPT Interrupt | |
| | 6
|------------------------------------------------------| v
LPSTAK: | | ^
| PDL During LPT Interrupt | LPSLEN
| | |
|------------------------------------------------------| v
LPXJEN: | XJEN Instr. for Dismissing LPT Interrupt |
|------------------------------------------------------| ^
LPXPTB: | LPT Interrupt Instr. is XPCW to this 4-word Blk | LPTN(1)*4
+------------------------------------------------------+ v
Page 148
0 11 12 23 24 35
+-------------------------------------------------------------+
| LPTFE | LPTMX | | | | | | | | | | | | |
LPTSTS:|Bytes Now in Front|Max. Bytes Allowed| | | | | | | | | | | | |
| End | in FE | | | | | | | | | | | | |
+-------------------------------------------------------------+
Symbol Bits Pointer Content
LP%%FE 0%-11 LPTFE Bytes now in front end
LP%%MX 12%-23 LPTMX Max. bytes allowed in front end
LP%%LHC 24 LPLHC Loading has completed flag for
RAM/VFU load
LP%%HE 25 LPTHE Hard error on this LPT:
LP%%OBF 26 LPOBF Output is being flushed
LP%%MWS 27 LPMWS MTOPR is waiting for a status to
arrive
LP%%ER 28 LPTER LPT had an error
LP%%OL 29 LPTOL LPT on%-line
LP%%TBL 30 LPTBL LPT is over allocation
LP%%TWT 31 LPTWT Request on Q.
LP%%THN 32 LPTHN DTEQ failed
LP%%OPN 33 LPOPN LPT is opened
LP%%ALI 34 ALTI Interrupt buffer pointer
LP%%ALP 35 ALTP Buffer Pointer
Page 149
0 5 6 17 18 19 20 35
+-----------------------------------------------------------+
| LPPSI |LPPAG | | | LPSST |
LPTST1:|PSI Chan. #| Page Counter | | | Software Status Word|
+-----------------------------------------------------------+
Symbol Bits Pointer Content
LP%%SSI 0%-5 LPPSI Channel # on which PSI's are
desired
LP%%PAG 6%-17 LPPAG Page Counter
LP%%LCP 18 LPLCP Lower case printer
LP%%SHA 19 LPSHA Status has arrived
LP%%SST 20%-35 LPSST Software status word
Symbol Bits Content
.DVFFE 28 Device has a
fatal, unre%-
coverable error
.DVFLG 29 Error logging
information
follows
.DVFEF 30 EOF
.DVFIP 31 I/O in progress
.DVFSE 32 Software condition
.DVFHE 33 Hardware error
.DVFOL 34 Offline
.DVFNX 35 Nonexistent device
Page 150
0 1 12 13 28 29 30 35
+-------------------------------------------------------------+
LPTST2: | | SAVBCT | SAVBUS | | |
+-------------------------------------------------------------+
Bits Pointer Content
0 ARROWF Convert control to arrow character
1-12 SAVBCT Saved byte counter during arrow
13-28 SAVBUS Saved bus address register
29 LPTLOR On when loading ram
- - - - - - -
only for 2020
0 1 8 9 23 24 35
+-------------------------------------------------------------+
LPTST3: | | SAVCHR | LPTCC | |
+-------------------------------------------------------------+
Bits Pointer Content
0 LPXBIT On if printer exists
1-8 SAVCHR Saved LP buffer character
24-35 LPTCC Count of characters sent to printer
Page 151
0 17 18 19 20 35
+-------------------------------------------------------------+
| LPFRK | | | LPERR |
LPTERR:| Fork ID of Owning PSI | | | Last Error Indication |
| Program | | | |
+-------------------------------------------------------------+
Symbol Bits Pointer Content
LP%FRK 0-17 LPFRK Fork ID of owning PSI
process
LP%MSG 18 LPMSG If on, suppress standard
messages
LP%PCI 19 LPPCI Page counter has
interrupted
LP%ERR 20-35 LPERR Last error indication
0 5 16 17 18 35
+------------------------------------------------------------+
| LPBSZ | | | | |
LPTCLS:| Byte Size| | | | |
+------------------------------------------------------------+
Symbol Bits Pointer Content
LP%BSZ 0-5 LPBSZ Byte size of OPENF
LP%RLD 16 LPRLD Front end was reloaded
LP%NOE 17 LPNOE Note occurrence of EOF
Page 152
0 15 16 17 31 32 33 34 35
+-----------------------------------------------------------+
| PGFNC | | PGCTR | | | | |
PGDATA:|Function Code: Load | | Page Counter Value| | | | |
| Page Ctr. | | | | | | |
+-----------------------------------------------------------+
Symbol Bits Pointer Content
0%-15 PGFNC Function code: load
page counter
16 PGENB Enable interrupts
17%-31 PGCTR Page counter value
LP%%IRP 32 LPIRP Interrupt request
pending
LP%%RBR 33 LPRBR RAM or VFU being
reloaded
LP%%LTR 34 LPLTR Translation RAM
requires reloading
LP%%LVF 35 LPLVF VFU requires reloading
Page 153
MONITOR-STATISTICS
This table is available through GTTAB and is used by WATCH,
EXEC, etc.
Defined in: STG
Referenced by: MEXEC, PAGEM, SCHED, TTYSRV
Format
+-------------------------------------------------------+
SKDTM0: | Time spent in SKDNUL with balance set empty |
+-------------------------------------------------------+
SKDTM1: | Time spent in SKDNUL with balance set non-empty |
+-------------------------------------------------------+
SKDTM2: | Time spent running scheduler |
+-------------------------------------------------------+
SPTTIM: | Time spend in pager trap code |
+-------------------------------------------------------+
DRMRD: | Number of drum reads |
+-------------------------------------------------------+
DRMWR: | Number of drum writes |
+-------------------------------------------------------+
DSKRD: | Number of disk reads |
+-------------------------------------------------------+
DSKWR: | Number of disk writes |
+-------------------------------------------------------+
TTYBKS: | Number of tty wakeups |
+-------------------------------------------------------+
TTINTS: | Number of terminal interrupts |
+-------------------------------------------------------+
BSTSUM: | Integral of NBPROC DT |
+-------------------------------------------------------+
RJTSUM: | Integral of NBPROC+NGOJOB DT |
+-------------------------------------------------------+
RJAV: | Exponential average of number runnable forks | / \
| | NRJAVS
| | =3
\ \ \ /
+-------------------------------------------------------+
DSKWT: | Sum of process disk wait times |
+-------------------------------------------------------+
DRMWT: | Sum of process drum wait times |
+-------------------------------------------------------+
NTTYIN: | Total number terminal input characters |
+-------------------------------------------------------+
NTTYOT: | Total number terminal output characters |
+-------------------------------------------------------+
NGCCOR: | Count of GCCORs |
+-------------------------------------------------------+
GCCTIM: | Integral of GCCOR time |
+-------------------------------------------------------+
NREMR: | Count of WS removals while runnable |
+-------------------------------------------------------+
Page 154
BSWT: | Sum of process wait times |
+-------------------------------------------------------+
SKDOVH: | Accumulated SCHED overhead time in HP units |
+-------------------------------------------------------+
SKDIDL: | Accumulated idle time in HP units |
+-------------------------------------------------------+
SKDSWP: | Accumulated swap-wait time in HP units |
+-------------------------------------------------------+
USRTIM: | Accumulated user time in milliseconds |
+-------------------------------------------------------+
HQFSUM: | Integral of NGQFK DT |
+-------------------------------------------------------+
LQFSUM: | Integral of NLQFK DT |
+-------------------------------------------------------+
DWRWT: | Sum of process disk write wait |
+-------------------------------------------------------+
NAJBAL: | Number of forced AJBALS calls |
+-------------------------------------------------------+
SNRSUM: | Integral of SUMNRN |
+-------------------------------------------------------+
RPQSUM: | Integral of NRPLQ |
+-------------------------------------------------------+
HSPTIM: | HP pager trap time |
+-------------------------------------------------------+
NCSWCH: | Number of context switches |
+-------------------------------------------------------+
BGNDTM: | Time doing background stuff (TTCH7, etc.) |
+-------------------------------------------------------+
STRPCT: | System total page traps |
+-------------------------------------------------------+
SRPQSC: | System total "saves" from RPLQ |
+-------------------------------------------------------+
SGCCWR: | Number writes from GCCOR |
+-------------------------------------------------------+
NWSSUM: | Integral of number WS in memory |
+-------------------------------------------------------+
SKDFIL: | Integral of wait time with out swap waits |
+-------------------------------------------------------+
NWSLOD: | Count of WS loads |
+-------------------------------------------------------+
NREMJ: | Count of balance set removals while runnable |
+-------------------------------------------------------+
SXGCWR: | Number writes from XGC |
+-------------------------------------------------------+
Page 155
MTA-STORAGE-AREA
Magtape storage area; each entry (unless otherwise noted)
is MTAN words long where MTAN equals the number of magtape
units on the system.
Defined in: STG
Referenced by: MAGTAP
Format
+-------------------------------------------------------+ ^
MTALCK: \ Lock Word \ MTAN
|-------------------------------------------------------| v
\ \* ^
MTASTS: \ Status of Unit \ MTAN
|-------------------------------------------------------| v
\ \* ^
MTARS1: \ Resident Storage for Magtape \ MTAN
|-------------------------------------------------------| v
MTINDX: | Number of Real MTAs on System |
|-------------------------------------------------------| ^
MTPSFK: | Fork 4 | PST | MTAN
|-------------------------------------------------------| v
MTCUTB: \ CDB Table | UDB Table \ ^
\ | (1 Entry/UDB) \ |
\ | \ MTAN
|-------------------------------------------------------| v
\ \ ^
MTAPBF: \ Space for Buffer Page Pointers \ MTPBFL=
\ \ MTB4FN*MAXPPB+
\ \ MTPN
|-------------------------------------------------------| v
\ \ ^
MTIRBF: \ Space for IORBs \ MTABFL=
\ \ MTAN*MTBUFN*
\ \ MTIRBL
|-------------------------------------------------------| v
\ \ ^
MTIOWD: \ IOWD for Next Transfer \ MTAN
|-------------------------------------------------------| v
\ \ ^
MTBIOW: \ Backup IOWD for Next Transfer \ MTAN
|-------------------------------------------------------| v
\ \ ^
MTAOLS: \ Length of last Xfer | \ MTAN
|-------------------------------------------------------| v
\ \ ^
MTARCE: \ Total Error Count \ MTAN
|-------------------------------------------------------| v
REWCNT: | Number of Rewinding Units |
|-------------------------------------------------------|
Page 156
MTERAS: | Rewrite Erase Counter |
|-------------------------------------------------------|
MTPNTR: | IOWD During Transfer |
|-------------------------------------------------------|
MTAUNT: | Unit Currently Attached to Controller |
|-------------------------------------------------------|
MTERRC: | Retry Counter |
|-------------------------------------------------------|
MTERFL: | State of Retry |
|-------------------------------------------------------|
MTACOM: | CONO Word of Current Operation |
|-------------------------------------------------------|
MTDINR: | Return Address for Data Interrupt |
|-------------------------------------------------------|
MTACLS: | Clock Routine Switch, 0 for No Clock Wanted |
|-------------------------------------------------------| ^
TLABBP: | PNTR to Locked Buffer Page | 2XMTAN
|-------------------------------------------------------| v
TLABRO: | | RCNT | ^
| Resitent flags | Record count info | MTAN
+-------------------------------------------------------+ v
The following MTA storage items are in the nonresident area
of the monitor and each item is MTAN words long.
0 17 18 35
+-------------------------------------------------------+* ^
| | MTRS | MTAN
MTANR1: \ Flags, Density, Mode | Rec size in Hdw. Bytes \ v
|-------------------------------------------------------| ^
| MTBYT | MTBUF | MTAN
MTANR2: \ Initial LH of FILBYT | Ptr. to Buffer Pages List \ v
|-------------------------------------------------------| ^
| 0 5|6 11|12 17|18 23| | |
| MTHBW | MTUBW | MTCSB | MTCUB | | |
MTANR3: \Hdw.Byts|UserByts|Current | Current| \ MTAN
| Per Wd | Per Wd |Service | User | | |
| | |Routine | Buffer | | |
| | |Buffer | | | v
|-------------------------------------------------------| ^
| MTCIRB | MTCUP | |
MTANR4: \ Current IORB in Use | Current User Page \ MTAN
|-------------------------------------------------------| v
| MTUBB | MTUBP | ^
MTANR5: \ User Bytes per Buffer | User Bytes per Page \ MTAN
|-------------------------------------------------------| v
| MTALTC | MTLIRB | ^
MTANR6: \ Last Transfer Count | Last Dump Mode IORB Adr. \ MTAN
|-------------------------------------------------------| v
| |* ^
TLABL0: | Flags | MTAN
|-------------------------------------------------------| v
| TPERM | TPFRK | ^
Page 157
TLABL1: | Error codeset by MTCON | Tape fork for PSI | MTAN
|-------------------------------------------------------| v
| TPJFN | TPLBLS | ^
TLABL2: | Saved JFN | Tape label buffers in SWAP| MTAN
|-------------------------------------------------------| v
| FSSAV | ^
TLABL3: | Place to save file status | MTAN
|-------------------------------------------------------| v
| flags, section # | TPMTRS |* ^
TLABL4: | | Place to save Rec Size | MTAN
|-------------------------------------------------------|
| |* ^
TLABL5: | Tape position info | MTAN
|-------------------------------------------------------| v
| TPBSZ | TPRSZ | ^
TLABL6: | File blocksize | File record size | MTAN
|-------------------------------------------------------| v
| TPSOUP | TPIOB | ^
TLABL7: | Saves Cur. pg. PTR for | I/O buffer address | MTAN
| TPSBYT | | v
|-------------------------------------------------------| ^
| SVIOS | |
TLABL8: | Place to save IOS | MTAN
|-------------------------------------------------------| v
| SVBLK | ^
TLABL9: | Place to save black address | MTAN
|-------------------------------------------------------| v
| TPLRC | TPPRO |* ^
TLABL10:| Local Status | Protection | MTAN
|-------------------------------------------------------| v
| TPOCT | TPOBY |
TLABL11:| old TPFCNT | old TPFBYN |
|-------------------------------------------------------|
| TPFSN |
TLABL12:| Sixbit volume set name |
|-------------------------------------------------------|
| TPEXPD |
TLABL13:| Expiration date |
|-------------------------------------------------------|
TPFCNT: | MT filcnt |
|-------------------------------------------------------|
TPFBYN: | MT filbyn |
|-------------------------------------------------------|
TPFLEN: | MT fillen |
|-------------------------------------------------------|
TPFLNX: | Count of Bytes Expected in next Record |
|-------------------------------------------------------|
TPSBYT: | Pointer to where JCW should go when record is complete|
|-------------------------------------------------------|
MTAJB0: | JOB 0 flag for MTA unit came on line |
+-------------------------------------------------------+
Page 158
0 1 2 3 4 5 6 7 8 9 17 8 9 0 1 2 3 4 5 6 7 8 9 1 2 35
+---------------------------------------------------------------+
MTASTS | | | | | | | | | | | | | | | | | | | | | | |
entry +---------------------------------------------------------------+
Symbol Bits Content
OPN 0 Unit has been opened
OPND 2 Unit has been opened for
dum mode
DMPWT 3 Waiting for a dump mode
operation to finish
LTERR 4 Error Occurred on last
dump mode operation
BUFA 5 Buffers have been assigned
CLOF 6 CLOSF in progress
MTOWT 7 MTOPR in progress
MTIELW 8 Inhibit error logging
MTNOWT 9 Don't set MTOWT
MT%ILW 18 Write lock
MT%DVE 19 Hardware device error
MT%DAE 20 Data error
MT%%SER 21 No error retry
MT%EOF 22 EOF
MT%IRL 23 Illegal record length
MT%BOT 24 Beginning of tape
MT%EOT 25 Physical end of tape
MT%EVP 26 Even Parity
MT%DEN 27-28 Density (0 is normal)
.MTLOD=1 Low Density
(200 BPI)
.MTMED=2 Medium Density
(556 BPI)
.MTHID=3 High Density
(800 BPI)
MT%CCT 29-31 Character Counter
MT%NSH 32 Mode or density not supported
by hardware
Page 159
0 19 20 21 29 30 35
+-----------------------------------------------------------+
MTARS1 | | | MTPPB |MTNIR/ |
entry | | |# of | MTANIR|
| | |Pgs/Buf| |
+-----------------------------------------------------------+
Bits Pointer Content
20 ABORTF An error occurred and IORBs aborted
21-29 MTPPB Number of pages per buffer
30-35 MTNIR Number of IORBs queued
30-35 MTANIR Absolute version of MTNIR
0 1 2 8 9 10 11 12 14 15 17 18 35
+-----------------------------------------------------------+
TLABR0 | | | | | | | | | |
entry +-----------------------------------------------------------+
Bits Pointer Content
0 TPVV Volume valid flag
1 TPNVV Tape not valid
2-8 TPUNIT Actual mta unit
9 SNEOT EOT seen while writing labels
11 TPEDB EBCDIC Volume
12-14 TPMTDM Place to save data mode
15-17 TPMHEW Place to save bytes/wd
18-35 RCNT Record count info
Page 160
0 1 2 5 6 7 8 10 11 14 15 17 18 35
+------------------------------------------------------------+
MTANR1 | |MTFCN | | |MTSTC| MTDN |MTDM |MTRS |
| | | | | | | | Record Size in Hdw. Bytes|
+------------------------------------------------------------+
Bits Pointer Content
0-1 MTNTM Count of EOFs written
2-5 MTFCN Last function performed
6 MTPAR Parity
7 MTRBF Reading backwards flag
8-10 MTSTC CLOSF function counter
11-14 MTDN Density
15-17 MTDM Data mode
18-35 MTRS Record size in hardware bytes
0 5 6 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 31 32 35
+--------------------------------------------------------------------+
TLABL0 | | | | | | | | | | | | | | | | |N Used|
entry +--------------------------------------------------------------------+
Bits Pointer Content
0-5 TPSTAT State code
6-12 TPLPCS Label processing code
13 TPBEGF Set if beginning of spanned record
14 TPNBL New block read
15 TPUED Use EBCDIC data if set
16 TPFVM If set, first volume is mounted
17 TPLCT User label count
18 HDR1 HDR1 data valid
19 HDR2 HDR2 data valid
20 RCCHK Record count check error (TLRCHK)
21 TPEOF EOF 1/2 inch in TLRCHK (also EOV)
22 TPT20 TOPS-20 volume
23 UVLD UVLD data valid
24 TPLBD Unlabeled/labeled operation
25-27 TPDNS MTA density - declared by MTCON
28-31 TPNUL # of user labels written
Page 161
+--------------------------------------------------------------+
TLABL4 | | | | TPPSI | TPFSEC | TPMTRS |
entry +--------------------------------------------------------------+
Bits Pointer Content
0 TPEUT End of user labels encountered
1 TPAPP Open for append
2 TPDPN MT opened
3-8 TPPSI Tape PSI for EOV
9-17 TPFSEC File section number
18-35 TPMTRS Place to save record size
0 4 5 6 11 12 13 14 17 18 26 27 35
+--------------------------------------------------------------+
TLABL5 | | | | | | | |
entry +--------------------------------------------------------------+
Bits Pointer Content
5 TPDVS Defer volume switch if set
6-11 TPFRMT Record format type code
12-13 TPMOD Tape mode
14-17 TPRVN Relative volume number
18-26 FSEQ Tape file position (seq. #)
27-35 USRSEQ User requested seq. #
0 1 2 17 18 35
+--------------------------------------------------------------+
TLABL10| | TPLRC | TPPRO |
entry +--------------------------------------------------------------+
Bits Pointer Content
0-1 TPXLB Extra label count
2-17 TPLRC Count of last read record
0-17 TPGDS Local status
18-35 TPPRO Save protection here
Page 162
MTCUTB
This table contains the address of the CDB and the UDB for
each tape drive on the system or the entry contains a zero
if the drive does not exist.
Defined in: STG
Referenced by: DEVICE, MAGTAP, PHYM2, PHYSIO, PHYX2, TAPE
Index: Tape drive number
Format
+-------------------------------------------------------+
MTCUTB: | CDB | UDB | / \
+-------------------------------------------------------+ |
| . | |
| . | MTAN
| . | |
\ . \ |
| . | \ /
+-------------------------------------------------------+
Page 163
NAMUTP
Name Unit Type Pointers. This table contains pointers to
unit type names for disks (i.e., RP06, RM03, etc.) and
magtapes (i.e., TU45, TU77, etc.).
Defined in: PHYSIO
Referenced by: PHYSIO
Format
+-------------------------------------------------------+
NAMUTP: | POINT 7,[ASCIZ/ (Illegal Type: 0) /] |
|-------------------------------------------------------|
| POINT 7,[ASCIZ/RP04/] |
|-------------------------------------------------------|
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
| . |
+-------------------------------------------------------+
Page 164
NODE TABLE
The node table, pointed to by NODTBL:, contains a list of
all nodes known to TOPS-20, including itself. This table is
stored in nonresident monitor free space.
Defined in: STG
Referenced by: NSPSRV
Format
+-------------------------------------------------------+
| Number Of Nodes | Maximum Number Of Nodes |
|-------------------------------------------------------|
| Pointer To Node Name | Pointer To Nearer Neighbor |
|-------------------------------------------------------|
| . |
| . |
\ . \
+-------------------------------------------------------+
Page 165
NTCTAB
Network topology change fork table. This is the table
NSPSRV uses to notify user processees of topology changes on
the network.
Defined in: STG
Referenced by: NSPSRV
Format
+-------------------------------------------------------+
NTCTAB: | Fork number | Interrupt channel | / \
+-------------------------------------------------------+ |
| . | |
| . | NTCMAX
| . | =5
\ . \ |
| . | \ /
+-------------------------------------------------------+
Page 166
OFNLEN
Open File Length Table. This non-resident table, contains
the current file byte size and file byte count for each open
file. It is parallel to the OFN areas of the SPT and SPTH
tables.
Defined in: STG
Referenced by: DISC, JSYSF, PAGEM
0 5 6 35
+---------------------------------------+
| OFNBSZ| OFNBC | / \
OFNLEN:|Byte Sz| File Btye Count | |
|---------------------------------------|
| | NOFN
| |
| | |
| |
| | \ /
+---------------------------------------+
Page 167
PHYCHT
PHYSIO Channel Dispatch Tables. This table contains the
names of function dispatch tables for all supported channel
types. Currently supported channel types are the RH20F and
the RH11F. Both are supported by the same named dispatch
table, RH2DSP, in their respective monitor modules, PHYH2 or
PHYH11. However, only one of these modules is present in a
given monitor.
Defined in: STG
Referenced by: PHYSIO
Format
+-------------------------------------------------------+
PHYCHT: | Flags | Channel Dispatch |
|-------------------------------------------------------|
| . |
| . |
| . |
| . |
| . |
| . |
| . |
+-------------------------------------------------------+
Note: This table currently contains only one entry
.CTRH2,,RH2DSP
Page 168
PHYUNT
PHYSIO Unit Dispatch Tables. Table of known unit dispatch
routines, (i.e., one for disk and one for magtape).
Defined in: STG
Referenced by: PHYH2
Format
+-------------------------------------------------------+
PHYUNT: | Type (DSK)=.UTRP4 | DSK Unit Dispatch Adr. |
| | = RH4DSP |
|-------------------------------------------------------|
| Type (MTA)=.UTTM2 | MTA Unit Dispatch Adr. |
| | = TM2DSP |
|-------------------------------------------------------|
| Type (DX20)=.UTDX2 | DX20 Dispatch Adr. |
| | = DX2DSP |
+-------------------------------------------------------+
Page 169
PIDCNT
Process ID Count Table. This non%-resident table, holds the
send quota and count and the PID quota and count for each
job.
Defined in: STG
Referenced by: IPCF
FORMAT
0 8 9 17 18 26 27 35
+----------------------------------------------------------+
PIDCNT: ! PIDSQ ! PIDSC ! PIDPQ ! PIDPC ! / \
! SEND ! SEND ! PID ! PID ! !
! QUOTA ! COUNT ! QUOTA ! COUNT ! !
!----------------------------------------------------------! !
! ! ! !
! ! ! !
! ! !
! ! ! NJOBS
! ! !
! ! ! !
! ! !
! ! ! \ /
+----------------------------------------------------------+
Page 170
PIDTBL
Process ID Table. This non%-resident table, is a table of
halfword entries, one entry per PID; the number of entries
in the table is two times the number of jobs. (The monitor
is assuming an average of 2 PIDs per job.) If a PID is in
use, the table entry will contain the address of the PID
header. PID's not in use are linked together; PIDLST is
the free PID header.
Defined in: STG
Referenced by: IPCF
+-------------------------------------------------------+
| ADR of PID Header 1 or | ADR of PID Header 2 or | / \
| Link to Next Free PID | Link to Next Free PID | |
|-------------------------------------------------------| |
| . | |
| . | |
| . |
| . | PIDTBS
| . |
| . | |
| . | |
| . | |
| . |
| . | \ /
+-------------------------------------------------------+
Page 171
PSB
Process Storage Block. Each fork has a Process Storage
Block which holds per-process information such as: the
fork's PC and ACs when not running; the forks known to this
process, and accounting, PSI, paging and directory
information.
It also holds trapping information and the hardware cells
for the fork's User Process Table (See UPT Table). Page 2
of the PSB houses the push down list used by the monitor
when executing JSYSs. (i.e. in process context).
The PSBMAP map in the PSB points to all of the per-process
storage area (including the PSB itself). When the monitor
references the current fork's per-process area, it uses
virtual addresses, 707000-777777. (The monitor's mapped
slots in MMAP for virtual pages 707-777 point to the PSBMAP
via indirect pointers).
Monitor virtual pages in the per-process area are used for
the PSB table, the User's Page Map Table, and IDXFIL. Some
per-process pages are used temporarily by the Swapper and
Map routines and by by the Program Software Interrupt (PSI)
and fork utility routines.
Defined in: STG
Referenced by: APRSRV, DATIME, DIRECT, DISC, DSKALC,
DTESRV, ENQ, FESRV, FILINI, FILMSC,
FORK, FREE, GTJFN, IO, IPCF, JSYSA,
JSYSF, LINEPR, LOGNAM, MAGTAP, MEXEC,
PAGEM, PHYSIO, POSTLD, SCHED, SYSERR
Page 172
Format
+-------------------------------------------------------+ / \
UACB: | Monitor Call AC Stack | |
| | N44CB
| | |
\ \ |
|-------------------------------------------------------| \ /
JOBNO: | Job # to Which Fork Belongs |
|-------------------------------------------------------|
JOBBIT: | SCHED Control Bits |
|-------------------------------------------------------|
FNPMAX: | Maximum Number of Pages in Working Set for This Fork |
|-------------------------------------------------------|
JOBCK0: | Variables for Scheduler Time Guarantee |
|-------------------------------------------------------|
JOBCK1: | Variables for Scheduler Time Guarantee |
|-------------------------------------------------------|
RUNT2: | Run Time Fractional Parts of a Millisecond |
|-------------------------------------------------------| / \
FKTAB: \ Local Fork Handle to Job Handle Table \ NLFKS/2
\ \ |
|-------------------------------------------------------| \ /
FORKN: | Job Fork # at Top Fork | This Fork |
|-------------------------------------------------------|
FKRT: | Fork Run Time |
|-------------------------------------------------------|
PRARGP: | Pointer to Process Arguments |
|-------------------------------------------------------|
MPP: | Monitor Saved Stack Pointer at Last MENTR |
|-------------------------------------------------------|
PRIMRY: | Primary I/O Indirection Pointers |
|-------------------------------------------------------|
SLOWF: | Slow MON Routine Flag |
|-------------------------------------------------------|
INTDF: | Defer Interrupts IF .GE. 0 |
|-------------------------------------------------------|
INTDFF: | SOS INTDF or JSYS PSISV1 |
|-------------------------------------------------------|
MJRSTF: | XJRSTF FFL or JSYS PSISV0 |
|-------------------------------------------------------|
ACBAS: | Current AC Stack Pointer |
|-------------------------------------------------------|
ITFFL: | Flags on Interrupt to MEXEC |
| (Must be contiguous with ITFPC) |
|-------------------------------------------------------|
ITFPC: | PC on Interrupt to MEXEC |
|-------------------------------------------------------|
TRPID: | IDENT of PT or Page Causing Trap |
|-------------------------------------------------------|
TRPPTR: | Storage Address or Pointer Causing Trap |
|-------------------------------------------------------| / \
UAC: | User ACs (from AC block 1) | 16
\ \ \ /
Page 173
|-------------------------------------------------------| / \
PAC: | Process ACs | |
\ \ 16
|-------------------------------------------------------| \ /
PFL: | Process Flags (Must be contiguous with PPC) |
|-------------------------------------------------------|
PPC: | Process PC |
|-------------------------------------------------------|
NSKED: | No-Schedule Word |
|-------------------------------------------------------|
RSKED: | No-Schedule Trap JFCL/JSR RSKCHK |
|-------------------------------------------------------| / \
| | |
TRAPSK: \ Stack Used During Pager Traps \ NTSK=
| | 50
|-------------------------------------------------------| \ /
TRAPSW: | Trap Status Word |
|-------------------------------------------------------|
TRAPAP: | Page Trap Saved P |
|-------------------------------------------------------|
TRAPC: | Pager Trap Recursion Count |
|-------------------------------------------------------|
UTRPCT: | Count of Pager Traps for This Process |
|-------------------------------------------------------|
USWPCT: | Count of SWPINW Calls for This Process |
|-------------------------------------------------------|
PTTIM: | Time Spent in Pager Traps |
|-------------------------------------------------------|
LSTXGR: | Time (FKRT) of Last XGC |
|-------------------------------------------------------|
FKTLST: | Lost Time While Clock Turned Off |
|-------------------------------------------------------|
CRSKED: | In Critical Section if Non-0 |
|-------------------------------------------------------|
SKDFL: | Scheduler Temp (Return Flags) |
|-------------------------------------------------------|
SKDPC: | Scheduler Temp (Return) Must Stay With SKDFL |
|-------------------------------------------------------|
MONFL: | Temp Monitor PC and Flags |
|-------------------------------------------------------|
MONPC: | Must Stay With MONFL |
|-------------------------------------------------------|
PSIPT: | PSI Storage List Pointer |
|-------------------------------------------------------|
PIOLDS: | FKSTAT Prior To PSI if was Waiting |
|-------------------------------------------------------|
LEVCHN: | Level Table | Channel Table Addresses |
|-------------------------------------------------------|
PSISYS: | Non-0 if PSI System Off |
|-------------------------------------------------------|
MONCHN: | Channels Reserved by Monitor |
|-------------------------------------------------------| / \
PIPDB: | PSI Routine Stacks | |
| | NPIPDL=
\ \ 31
Page 174
|-------------------------------------------------------| \ /
PIAC: | Saved User ACs During Break Start | / \
\ \ 16
|-------------------------------------------------------| \ /
PSICHA: | Channel Assigned to TERM Code | / \
\ \ NTERMI/16
|-------------------------------------------------------| \ /
PIMSK: | PSI Request Word Being Passed to PSI Service |
|-------------------------------------------------------|
PSIBW: | Break Waiting Word |
|-------------------------------------------------------|
FORCTC: | Channel Which Caused Forced Fork Termination |
|-------------------------------------------------------|
PSICHM: | Channel Enabled Word |
|-------------------------------------------------------|
SUPCHN: | Channels Reserved by Superior |
|-------------------------------------------------------|
| Hardware Storage (UPT cells) |
UPTTPI=| |
HWPTA+ | (see UPT Table Description) |
120 | |
| |
\ \
|-------------------------------------------------------|
PSIBIP: | Break in Progress Word (Levels) |
|-------------------------------------------------------|
ENSKR: \ Scheduler Temp (Return) \
|-------------------------------------------------------|
ENSKR+3:| JRST ENSKED |
|-------------------------------------------------------|
ADRBRK: | Address Break Information |
|-------------------------------------------------------|
ADRBK1: | Address of Instruction Causing Address Break |
|-------------------------------------------------------|
MONBK: | Interrupt to Monitor if Non-zero |
|-------------------------------------------------------|
PIFL: | Saved Flags (Must be with PIPC) |
|-------------------------------------------------------| / \
PIPC: | Saved PC during Initial PI Service | 3
\ (called with XPCW) \ |
|-------------------------------------------------------| \ /
FKTOFF: | Time at Which CPU Clock Turned Off |
|-------------------------------------------------------|
NWSCE: | Number of Entries in WS Cache |
|-------------------------------------------------------|
LSTXGT: | Time (TODCLK) of Last XGC |
|-------------------------------------------------------|
SYMPAG: | Page Used by MDDT for Mapping Symbols |
|-------------------------------------------------------|
UTRSW: | Saved TRAPSW for User |
|-------------------------------------------------------|
UMUUOW: | Save MUUO Word for User |
|-------------------------------------------------------|
KIMUU1: | Last UUO Word from User |
|-------------------------------------------------------|
Page 175
PSLEVT: | Address of User's Level Table |
|-------------------------------------------------------|
PSCHNT: | Address of User's Channel Table |
|-------------------------------------------------------|
PSBITS: | Miscellaneous Per Process Bits |
|-------------------------------------------------------|
TRPDSP: | Dispatch for MON ILLEG MEM REF |
|-------------------------------------------------------|
DRLOC: | Location in Directory During Searches |
|-------------------------------------------------------|
DRINP: | Pointer to Input Name During Lookup |
|-------------------------------------------------------|
DRINL: | Length of Input String |
|-------------------------------------------------------|
DRMSK: | Mask of 0 Bits in Last Word of String |
|-------------------------------------------------------|
DRSCN: | Pointer to FDB Link During Lookup |
|-------------------------------------------------------|
|0 17|18 |19 35|
DROFN: |DRLFDB |DRROF |DIROFN |
| Last FDB Checked by |Release|OFN of Current Mapped |
| FDBCHK | OFN | Directory |
|-------------------------------------------------------|
DRMAP: | Adr of Map Page when SEC2 |
|-------------------------------------------------------|
DIRCAD: | Cache Address of Last MAPDIR |
|-------------------------------------------------------|
IDXMAP: | Adr of IDX Tbl. Pg Map When Extended Addressing |
|-------------------------------------------------------|
|0 17|18 |19 35|
STRINF: |CURUC |IDXFLG |CURSTR |
| Unique Code of |XB File| Str. No. of Cur. |
| Currently Mapped Index| Mapped| Mapped Index File |
| File | | |
|-------------------------------------------------------|
ENTVEC: | Entry Vector Pointer |
|-------------------------------------------------------|
PATADR: | 10/50 Compatability Entry Vector |
|-------------------------------------------------------|
PATU40: | Where to Store C(40), Setup as UMOVEM 1,XX |
|-------------------------------------------------------|
PATUPC: | Where to Store PC, Setup as UMOVEM 1, XX |
|-------------------------------------------------------|
DMSADR: | DMS Entry Vector |
|-------------------------------------------------------|
DMSU40: | Where to Store C(40) on DMS Call |
|-------------------------------------------------------|
DMSUPC: | Where to Store PC of DMS Call |
|-------------------------------------------------------|
CABMSK: | Capability Mask |
|-------------------------------------------------------|
CAPENB: | Capabilities Enabled |
|-------------------------------------------------------|
SNPPGS: | Count | Page # of First Page Locked|
| | Down for Snooping |
Page 176
|-------------------------------------------------------|
SNPLST: | Flags | Link to 1st BP for Fork |
|-------------------------------------------------------|
LSTERR: | Last Error Number |
|-------------------------------------------------------| / \
ERRSAV: \ Block of Error Parameters \ NERRSV=4
|-------------------------------------------------------| \ /
| | / \
PSBMAP: | Map for Process Area | |
\ \ PSBMSZ
| | |
| | |
|-------------------------------------------------------| \ /
JTBLK: | FKJTB + forkn for this fork |
|-------------------------------------------------------|
JTLCK: | Lock on JSYS Trap to Monitor (this) fork |
| Lock Protects JTTRW and Allows Only one |
| JSYS Trap Interrupt at a Time to This Monitor |
|-------------------------------------------------------|
JTTRW: | JSYS Trap Word (Set by interrupting fork) |
| Contains trapping instruction |
|-------------------------------------------------------|
JTTFK: | |JTFRK |
| | Forkn of Trapping Fork |
|-------------------------------------------------------|
| |12 17| |
JTMNW: | | JTMCN | JTNMI |
| | Monitor's| Forkn of Mon Interrupted |
| | PSI Chan | (PSI'd) |
|-------------------------------------------------------|
PNSKDC: | NOSKED's Done by DIAG & other Resource Managers |
|-------------------------------------------------------|
ARTHTR: | User-Specified Arithmetic Trap |
|-------------------------------------------------------|
CRTRGN: | Indicates Critical Region |
|-------------------------------------------------------|
STRWRD: | STRFLG | NOSTR |
| Flag for STR Info | # Mount Count Increments |
| | (for KSELF) |
|-------------------------------------------------------|
FKXORA: | Fork IDXORA During Creation of Structure |
|-------------------------------------------------------|
\ / / / / / / / / / / / / / / / / / / / / / / / / / / / \
|-------------------------------------------------------| / \
WSCSH: | (Begins at Top of Second PSB Page) | |
\ Working Set Cache \ WSCHCW=
\ \ 128
| | |
|-------------------------------------------------------| \ /
\ / / / / / / / / / / / / / / / / / / / / / / / / / / / \
|-------------------------------------------------------| ^
UPDL: | User PDL for Monitor Calls | |
\ UPDL is Defined as the End of this Page NUPDL \ NUPDL
| | |
+-------------------------------------------------------+ v
Page 177
PTYSTS
Pseudo Terminal Status Table. This table contains the PTY's
status word.
Defined in: STG
Referenced by: FILMSC
Index: PTY Number
Format
+-------------------------------------------------------+
PTYSTS: | PTY Status Bits | / \
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . | |
| . |
| . | NTTPTY
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | \ /
+-------------------------------------------------------+
Page 178
Q-BLOCK
Queue Block. The information for each ENQ request is stored
in a Q-BLOCK. QBLOCK's are doubly linked for each job; the
list header is in the right half of ENQLST in the JSB.
Also, QBLOCK are doubly linked on a system wide list for
each lock block; the list header is in the lock block.
Defined in: ENQ
Referenced by: ENQ
Format
0 17 18 35
+-------------------------------------------------------+
| ENQLJQ | ENQNJQ |
0 | Back Pointer To | Forward Pointer To |
| Last Q-Block For Job | Next Q-Block For Job |
|-------------------------------------------------------|
| ENQLLQ | ENQNLQ |
1 | Back Pointer To | Forward Pointer To |
| Last Q-Block | Next Q-Block |
|-------------------------------------------------------|
| ENQFLG 11| ENQCHN | ENQFRK |
2 | Flags | PSI | Fork to Interrupt |
|Either Lock or Q | Channel | When Request is Locked |
|-------------------------------------------------------|
| ENQNR | ENQID |
3 | # of Resources | Request ID Code |
| Requested From Pool | |
|-------------------------------------------------------|
| ENQLRQ | ENQFQ |
4 | Back Pointer To | Forward Pointer To |
| Last Q-Block of Request | Next Q-Block of Request |
|-------------------------------------------------------|
| ENQLBP | ENQGRP |
5 | Pointer to | Group # For |
| Lock-Block of this Q | Sharable Requests |
|-------------------------------------------------------|
| ENQNST | ENQJFN |
6 | Nest Count | JFN of Request |
| | or -1, -2, or -3 |
|-------------------------------------------------------|
| | ENQMSK |
7 | | Pointer to the |
| | Mask Block |
+-------------------------------------------------------+
Page 179
0 11 12 17 18 35
Word 2 +-------------------------------------------------------+
| ||||||| ENQCHN | ENQFRK |
| ||||||| PSI Channel | Fork to interrupt when |
| ||||||| | request is locked |
+-------------------------------------------------------+
Symbol Bits Pointer Meaning
EN.LTL=40 6 Long Term Block
EN.INV=20 7 This Q%-Block is invisible
EN.LOK=10 8 The Q%-Block has the Lock
locked.
EN.TXT=4 9 This Block has a Text
String Identity.
EN.EXC=2 10 Request is Exclusive
EN.LB=1 11 This is the Lock%-Block
13%-17 ENQCHN PSI Channel (%-1 means job
blocked)
18%-35 ENQFRK Fork # of Creator of
Q%-Block
Page 180
RES-FREE-SPACE
Resident Free Space Storage. This area contains the
resident free space bit table, RESBTB, which indicates which
4-word blocks of the resident free space pools are in use.
The resident free space (in RESFRP) is pooled by PHYSIO for
building UDBs, CDBs, KDBs, and SDBs; by TTYSRV for terminal
messages and line dynamic data blocks; by NETSRV for an
input and output buffer for each active line; and by TIMER
for the TIMER JSYS when it builds a job's run-time limit
block. (See JOBRTL table).
This area also contains a resident free space usage table,
RESUTB, which indexed by pool #, holds the amount of free
space left for each pool.
Defined in: STG
Referenced by: DSKALC, FREE, FESRV, NSPSRV, PHYSIO,
TIMER, TTYSRV
Format
+-------------------------------------+
RESMIN: | Min Level for All But |
| Level 1* Reqests |
|-------------------------------------|
RESAVE: | Average Amount of Free Space Locked |
|-------------------------------------|
UPRSAV: | Limit for Job 0 Activity |
|-------------------------------------|
RESFRE: | Count of Free Blocks Left |
|-------------------------------------|
RESFFB: | First Free 4-Word Block |
|-------------------------------------|
RESIFL: | Initialization Flag |
| (-1 During Startup) |
|-------------------------------------|
RESBTB: | . | / \
| . | |
| . | RESQTL
\ Resident Free Space Bit Table \ |
|-------------------------------------| \ /
RESBAS: | Base Adr of the Resident Free Pool |
|-------------------------------------| / \
RESUTB: | Resident Free Space Usage Table | |
| (indexed by pool#) | |
\ \ RESQTL
| | |
| | |
+-------------------------------------+ \ /
Page 181
The following storage is in the non-resident area of the
monitor.
+-------------------------------------+ /
RESFRP | | |
\ \ NRESFP
\ Resident Free Space Pools \ *PGSIZ
| | |
| | |
+-------------------------------------+ /
*Note: Requests for Resident Free Space are given
priority levels where:
Level 1 - Has highest priority and monitor
always tries to assign space. Page
faults are not allowed.
Level 2 - Has second level priority where
monitor will not assign space if
free storage would go below RESMIN.
Page faults are not allowed.
Level 3 - Has lowest priority and requests for
this level are made in process con-
text. Page Faults are allowed.
Page 182
SCDRQB
Scheduler Request Table. During the scheduler's overhead
cycle, the initial job startup request is placed in this
table when the first CTRL/C is processed. The table is
later examined in the same cycle and all entries are
processed by dispatching to each entry's dispatch address.
Defined in: SCHED
Referenced by: SCHED, TTYSRV
Format
+-------------------------------------------------------+ / \
SCDRQB: | Data | Dispatch Address | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | NSCDRQ
| . | = 33
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ |
| . | |
+-------------------------------------------------------+ \ /
Page 183
SCHED-VARIABLES
This storage contains the variables used in the SCHED
module. It contains pointers to the GOLST and to the wait
lists. Clock and other parameters needed for scheduling are
also contained.
Defined in: STG
Referenced by: SCHED
Format
+-------------------------------------------------------+
SKDPDL: | Scheduler local PDL | / \
| | NSKDP
| | =110
\ \ \ /
+-------------------------------------------------------+
SCKATM: | Alarm time - min. of all SCHED clocks |
+-------------------------------------------------------+
OLDTCK: | Alarm time - old time - used to calculate interval |
+-------------------------------------------------------+
PISC7R: | | / \
| | 4
| | |
\ \ \ /
+-------------------------------------------------------+
PI7AC1: | Temps at PISC7 | / \
| | 2
| | \ /
+-------------------------------------------------------+
ALARMT: | Min. time of forks on clklst |
+-------------------------------------------------------+
SKDTHS: | Time in SCHED so far this pass |
+-------------------------------------------------------+
SKDLST: | Last reading of HP clock |
+-------------------------------------------------------+
SKDLRT: | Runtime of last trip thru scheduling cycle |
+-------------------------------------------------------+
SNPSV1: | Place to save AC while ck'ing PC for SNOOP break pt. |
+-------------------------------------------------------+
FORKX: | Index of currently running fork |
+-------------------------------------------------------+
FREJOB: | Pointer to list of free jobs |
+-------------------------------------------------------+
WTLST: | Pointer to waiting fork list |
+-------------------------------------------------------+
WT2LST: | Pointer to waiting forks to be waked by UNBLK1 |
+-------------------------------------------------------+
TTILST: | Pointer to list of forks waiting for TTY input |
+-------------------------------------------------------+
TTOLST: | Pointer to list of TTY output events |
+-------------------------------------------------------+
FRZLST: | Pointer to list waiting for unfreezing |
Page 184
+-------------------------------------------------------+
TRMLST: | Pointer to list waiting for inferior fork termination |
+-------------------------------------------------------+
CLKLST: | Pointer to list waiting for Clock |
+-------------------------------------------------------+
JTLST: | JSYS traps queue |
+-------------------------------------------------------+
JTLSTL: |Linked list of forks wait on JTLCK to PSI some mon fork|
+-------------------------------------------------------+
GOLST: | Pointer to runnable fork list |
+-------------------------------------------------------+
JB0FLG: | Run JOB 0 request |
+-------------------------------------------------------+
FRECB: | Free core number bits |
+-------------------------------------------------------+
FREFK: | List of free forks |
+-------------------------------------------------------+
SYSIFG: | System has been initialized if not 0 |
+-------------------------------------------------------+
PWRDWN: | Power failure detected if .g. 0, done if .l. 0 |
+-------------------------------------------------------+
RLODPC: | PCs for keep alive reload | / \
| | 4
| | |
\ \ \ /
+-------------------------------------------------------+
FPTABL: | PAGEM dispatch for section numbers | / \
| | MAXSEC
| | +1
\ \ \ /
+-------------------------------------------------------+
NBPROC: | Number of processes in balance set |
+-------------------------------------------------------+
NBWT: | Number waiting processes in balance set |
+-------------------------------------------------------+
NBSWP: | Number of forks in swap wait |
+-------------------------------------------------------+
MAXBP: | Max number of jobs in balance set |
+-------------------------------------------------------+
BSQNT0: | Value of BSQNT at start of last running |
+-------------------------------------------------------+
SUMNR: | Sum of reserve pages, all processes in memory |
+-------------------------------------------------------+
SUMBNR: | Sum of working sets in balance set |
+-------------------------------------------------------+
NWSEPG: | Number pages WSETs entering memory |
+-------------------------------------------------------+
BALSHC: | Count of pages in balance set because of sharing |
+-------------------------------------------------------+
NXTCNF: | Next fork to check - GCNO |
+-------------------------------------------------------+
RELCB: | Mask of core numbers released but not cleared |
+-------------------------------------------------------+
MAXNR: | Max value of SUMNR |
+-------------------------------------------------------+
Page 185
MAXHNR: | Max NR of balance set holding forks |
+-------------------------------------------------------+
BSLST: | Pointer to list of balance set holding forks |
+-------------------------------------------------------+
NBSL: | Number of balance set holding forks |
+-------------------------------------------------------+
NEBAL: | Number of processes now entering balance set |
+-------------------------------------------------------+
REMFGS: | Flags set on REMBSJ/REMBSF |
+-------------------------------------------------------+
NPMAX: | Max number of pages in core for one proces |
+-------------------------------------------------------+
SNPMAX: | Small NPMAX for loaded conditions |
+-------------------------------------------------------+
IRJAV: | Nearest integer to RJAV |
+-------------------------------------------------------+
WSMTIM: | Time for next WSMGT |
+-------------------------------------------------------+
RWSOKF: | Flag - OK to do REMWS |
+-------------------------------------------------------+
NWSMEM: | Number WS in mem |
+-------------------------------------------------------+
NHQFK: | Number forks on non-maxq |
+-------------------------------------------------------+
NLQFK: | Number forks on maxq |
+-------------------------------------------------------+
SCHFLG: | Permanent scheduling flags |
+-------------------------------------------------------+
SKEDF1: | Start process via CH7 break in 1 |
+-------------------------------------------------------+
SKEDF3: | Process clock counted to 0 |
+-------------------------------------------------------+
SKEDFC: | Force clear of balance set and memory |
+-------------------------------------------------------+
INSKED: | In scheduler if non-zero |
+-------------------------------------------------------+
SSKED: | Last job running was NOSKED |
+-------------------------------------------------------+
SETPAG: | Temp for setting pager at SCDR |
+-------------------------------------------------------+
RSKCHK: | XPCW destination | / \
| | 4
| | |
\ \ \ /
+-------------------------------------------------------+
PSKED: | Page transfer completed |
+-------------------------------------------------------+
QSKED: | Blocked fork now unblocked if .g. 0 |
+-------------------------------------------------------+
TSKED: | TTU output event if non-zero |
+-------------------------------------------------------+
BSKED: | Fork voluntarily left balance set if .g. 0 |
+-------------------------------------------------------+
NGOJOB: | Number of runnable jobs |
+-------------------------------------------------------+
Page 186
RJTTIM: | Time at last update to RJTSUM |
+-------------------------------------------------------+
RJATIM: | Time of next RJAV update |
+-------------------------------------------------------+
RJAVS1: | RJTSUM at last RJAV update |
+-------------------------------------------------------+
RJAVS2: | HQFSUM at last RJAV update |
+-------------------------------------------------------+
RJAVS3: | LQFSUM at last RJAV update |
+-------------------------------------------------------+
BSQNT: | Running job remaining quantum |
+-------------------------------------------------------+
TIM1: | SCHED fast clock |
+-------------------------------------------------------+
TIM2: | Second clock |
+-------------------------------------------------------+
FKT0: | Clock at start of running |
+-------------------------------------------------------+
FKT1: | Time used since SETRT |
+-------------------------------------------------------+
TIM0: | TODCLK atlast C1STAT |
+-------------------------------------------------------+
SCDRQI: | SCHED request queue |
+-------------------------------------------------------+
SCDRQO: | |
+-------------------------------------------------------+
SCDRQB: | | / \
| | NSCDRQ
| | =33.
\ \ \ /
+-------------------------------------------------------+
TODCLK: | Millisecond clock, monotonically increasing |
+-------------------------------------------------------+
TODPWL: | Time of day (in seconds) by power line clock |
+-------------------------------------------------------+
CHKTIM: | Time at which JOB 0 considered overdue |
+-------------------------------------------------------+
SCDRN1: | Run only job N if n .g. -1 |
+-------------------------------------------------------+
Page 187
SDB
Structure Data Block. This block, one per structure,
contains information about the structure's units, master
directory (i.e. Root%-Directory), bit map for disk page
allocation/deallocation, and assigned swapping area. It
also contains mount and open%-file information. SDBBLO is
the name of the storage area reserved for handling the SDB
for the Public Structure (PS).
Defined in: STG
Referenced by: DEVICE, DIRECT, DSKALC, FILINI, FUTILI, IO,
PHYSIO, JSYSA, JSYSF, MEXEC, MSTR
Format
+-------------------------------------------------------+
| STRNAM |
SDBNAM=0| Structure Name (in SIXBIT) |
|-------------------------------------------------------|
| STRNUM |
SDBNUM=1| Number of Units in Structure |
.|-------------------------------------------------------|
.| STRSIZ |
SDBSIZ .| Size (in sectors) of Each Unit in Structure |
|-------------------------------------------------------|
| STRSTS | STRJB |*
SDBSTS | Status Flags | Initing Fork # |
|-------------------------------------------------------|
| STRRXB |
SDBRXB | Address of Root Directory Index Block |
|-------------------------------------------------------|
| STRBXB |
SDBBXB | Address of Backup Copy of Root Directory Index Block |
|-------------------------------------------------------|
| STRNSS |
SDBNSS | Number of Swapping Sectors per Unit |
|-------------------------------------------------------|
| STRFSS |
SDBFSS | First Swapping Sector per Unit |
|-------------------------------------------------------|
| STRBTB |
SDBBTB | OFN of Bit Table |
|-------------------------------------------------------|
| STRFC |
SDBFRC | Count of Free Pages on Structure |
|-------------------------------------------------------|
| STRRDO | STRIDX |
SDBIDX | OFN of Root Directory | Handle of Index Table |
|-------------------------------------------------------|
| STRLDN |
SDBLDN | Last Directory Number on This Structure |
|-------------------------------------------------------|
| STRLCA |
Page 188
SDBLCA | Last Cylinder Assigned by DSKASN |
|-------------------------------------------------------|
| STRCYL |
SDBCYL | Total Cylinders in Structure |
|-------------------------------------------------------|
| STRB0 |
SDBBT0 | Length of Top Half of Bit Table |
|-------------------------------------------------------|
| STRB1 |
SDBBT1 | Length of Bottom Half of Bit Table |
|-------------------------------------------------------|
| STRTYP |
SDBTYP | Address of DSKSIZ Table for This Type of Disk |
|-------------------------------------------------------|
| STRUC |STRUS| STRLK |
SDBFLK | Unique Code in SDB |Str #| File Lock Count |
|-------------------------------------------------------|
| STRMC | STROF |
SDBCNT | Mount Count | Open File Count |
|-------------------------------------------------------|
| STRMI |
SDBPUC | Pack Unique Code for Media Identification |
|-------------------------------------------------------|
SDBOMF | |
| Original Minimum Free Page Limit |
|-------------------------------------------------------|
SDBMXF | |
| Boundary Above Which SDBMFP=SDBOMF |
|-------------------------------------------------------|
SDBMFP | |
| Min. Free Pgs. below which DSKASA Changes |
| Assignment Algorithm |
|-------------------------------------------------------| / \
| STRUDB | |
SDBUDB | Flags Pointer to UDB | |
| . | . | MXSTRU
| . | . | |
\ . | . \ |
+-------------------------------------------------------+ \ /
Page 189
0 1 2 3 15 16 17 18 35
+-------------------------------------------------------------+
SDBSTS | | | | | | | |
+-------------------------------------------------------------+
Symbol Bits Pointer Content
MS%PS 0 STPS Structure is public
MS%DIS 1 STDIS Structure is being dismounted
MS%DOM 2 STDOM Structure is domestic
MS%NRS 6 STNRS Structure is not regulated
16 STIDX Index table file OFN has been
set up
17 STCRD Creating Root Directory on
this Structure
18%-35 STRJB Initializing job # (only legal
user while structure is being
initialized)
Page 190
SNAMES
Subsystem Names. Each entry contains a subsystem program
name.
Defined in: STG
Referenced by: MEXEC
Format
+-------------------------------------------------------+ / \
SNAMES: | SIXBIT/Name/ | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | NNAMES
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
+-------------------------------------------------------+ \ /
Page 191
SNBLKS
Subsystem Blocks. Each entry contains the number of blocks
for a subsystem program. This table is parallel to SNAMES.
Defined in: STG
Referenced by: MEXEC
Format
+-------------------------------------------------------+ / \
SNBLKS: | Number of Blocks | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | NNAMES
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
+-------------------------------------------------------+ \ /
Page 192
SPFLTS
Subsystem Page Faults. Each entry contains the accumulated
number of page faults of a subsystem program. This is a
parallel table to SNAMES.
Defined in: STG
Referenced by: MEXEC, PAGEM
Format
+-------------------------------------------------------+ / \
SPFLTS: | Accumulated Page Faults | !
|-------------------------------------------------------| !
| . | !
| . | !
| . | !
| . | !
| . | !
| . |
| . | NNAMES
| . |
| . | !
| . | !
| . | !
| . | !
| . | !
| . | !
| . | !
| . | !
+-------------------------------------------------------+ \ /
Page 193
SPT
Special Pages Table. This table is pointed to by the
firmware's SPT Base Register (an AC in an AC Block reserved
for hardware/firmware registers) which is setup by the
monitor at system initialization time.
It is referenced directly by the paging firmware (bits
12%-35 only) when virtual to physical address translation
takes place and shared and indirect pointers are involved.
The first part of the table (of length NOFN) is used to
point to index blocks in memory (or swapping area) for open
files and an index into this part is often referred to as an
OFN (Open File Number). The remainder of the table is used
to point to PSBs, JSBs, UPTs, UPTAs, (User Page Map Tables),
and shared file pages.
The ALOCX value in the OFN area is used as an index into the
allocation tables (ALOC1 ACOC2) to obtain information about
the directory of the open file, (i.e., pages left in quota).
The share count in the non - OFN area is indexed for each
sharing of the page.
Defined in: STG, PROLOG
Referenced by: APRSRV, DISC, DSKALC, FORK, PAGEM, SCHED
Page 194
Format
+-------------------------------------------------------+
SPT: |0 ALOCX 11|12 STGADR 35| / \ ^
| Index into | Storage Address | | |
| Allocation TBL | (Index Block Page) | | |
|-------------------------------------------------------| | |
| . | | |
| . | |
| | OFN # |
| | |
| | | |
| | | |
| | \ / |
|-------------------------------------------------------| |
| SPTSHC 11|12 STGADR 35| |
| Shared Count | Storage Address | |
| | (Shared File Pg/Ovhd Pg/Page of | SSPT
| | another Pg Tbl | (2560)
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
+-------------------------------------------------------+ v
Page 195
Storage Address
Symbol Bits Pointer Contents
12-35 STGADR Storage address
(Interpretation follows)
NCORTM 12-17 Non-Core Test Mask yielding
type of storage.
Bits <12-17>=0 =>
Bits <18-35>=Memory Pg Adr.
Bits <12-17>=0 =>
Bits <18-35>=Drum/DSK Adr.
DSKAB 14 Storage address is a disk
address
DSKNB 15 Temporary bit used with
DSKAB to say that disk
address is newly assigned.
DRMAB 16-17 Storage address is a drum
address
DRMOB 17 Used with DRMAB to indicate
that the swapping area has
overflowed to the disk file
system. (Since TOPS-20 cur-
rently uses only the disk file
system for swapping, a drum
storage address will always
have bits 16 & 17 set.)
UAABC 17&35 Temporary bit used by the
monitor's page trap handler
when a copy-on-write page
trap has occurred. If the
page to be copied is a drum
address, it will be faulted
in before these bits are used,
avoiding conflict over bit
17. These bits will signify
to a lower level routine,
SWPIN, that the page just
gotten from the free list
has no backup address and
that it is to get a copy of
another page.
Page 196
SPTH
Special Pages Table Home Information. This table, parallel
to the SPT table is referenced only by the software and is
divided into two parts. The first part, indexed by OFN, is
used to point to the home address of each open file (i.e.,
to its index block) and to hold status information about
each OFN.
The second part is used mainly to show the page's origin.
For a shared file, this is indicated by OFN ,, Page Number ,
where page number is within open file, OFN. For PSBs, JSBs,
and UPTs, the SPTH word contains 0 ,, Fork Index. The free
slots in this part are on a list chained through the SPT
where the free list pointer resides in FRESPT.
Defined in: STG
Referenced by: DISC, DSKALC, FILINI, FORK, PAGEM, PHYSIO
Format
+-------------------------------------------------------+
SPTH: | Flags |Home (DSK)Address of Index Block |* / \ / \
|-------------------------------------------------------| | |
| . | | |
| . | OFN # |
\ . \ | |
| . | | |
| . | \ / |
|-------------------------------------------------------| |
| OFN | Page Number | SSPT
|-------------------------------------------------------| |
| or | |
|-------------------------------------------------------| |
| 0 | Fork Index | |
|-------------------------------------------------------| |
| . | |
\ . \ |
+-------------------------------------------------------+ \ /
Page 197
0 1 2 3 4 5 6 7 8 9 0 1 2 35
+----------------------------------------------------------------+
SPTH | | | | | | | | | | | | | | Address of Index Block |
OFN +----------------------------------------------------------------+
entry
Symbol Bits Content
FILWB 1 File write bit in SPTH and ASOFN
argument
THAWB 2 Thawed bit
FILNB 3 "File new" bit
SPTLKB 4 LH of SPTH(OFN), XB(Index Block)
in use by DDMP
OFNWRB 5 OFN has been modified
OFNBAT 6 Index block contains a bad block
OFNERR 7 Error in file (i.e., MPE)
OFNDMO 8 OFN is on a dismounted structure
OFNDUD 9 Suppress DDMP
OFN2XB 10 Second level XB
SPAREH 11 Spare bit
If a file is OPENed with thawed access (OF%THW), then both
FILWB and THAWB will be set to 1. If OPEN'ed with restricted
access, then the THAWB bit will be on and the FILWB will be
off.
Note: A file is opened by searching the OFN part of SPTH for the
index block address. If the address is found and the write
and thawed bits are legal, it is a shared opening and the
same index is used. If the address is not found, a new
entry is made from one of the free (%-1) slots in SPTH.
Page 198
SPTO
Special Pages Table O. This table is parallel to the OFN
area of the SPT table and contains the structure number and
open file share count for each open file. The OFN share
count is indexed for each opening of the file and for each
shared page within the open file.
Defined in: STG
Referenced by: PAGEM
Index: OFN Number
Format
+-------------------------------------------------------+ / \
| OFNSHC | STRX | |
SPTO: | OFN Share Count | Structure # | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | NOFN
| . | |
| . | |
| . | |
\ . \ |
| . | |
+-------------------------------------------------------+ \ /
Symbol Bits Pointer Content
OFNSCH 0-17 Share count for an OFN
17 OFSHR One unit of OFN share entry
STRX 18-35 STX Structure index (number)
Page 199
SSIZE
Subsystem Working Set Size. Each entry contains the working
set size integral for a subsystem program. This is a
parallel table to SNAMES.
Defined in: STG
Referenced by: MEXEC, SCHED
Format
+-------------------------------------------------------+ / \
SSIZE: | Working Set Size Integral | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . |
| . | NNAMES
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ |
| . | |
+-------------------------------------------------------+ \ /
Page 200
STIMES
Subsystem Runtimes. Each entry contains the accumulated
runtime of a subsystem program. This is a parallel table to
SNAMES.
Defined in: STG
Referenced by: MEXEC, SCGED
Format
+-------------------------------------------------------+ / \
STIMES: | Accumulated Runtime | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . |
| . | NNAMES
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
\ . \ |
| . | |
+-------------------------------------------------------+ \ /
Page 201
STRTAB
Structure Data Block Table. This table contains pointers to
each structure data block in the system.
Defined in: STG
Referenced by: DEVICE, DIRECT, DISC, DSKALC, FILINI, FUTULI
IO, JSYSA, JSYSF, MEXEC, MSTR, PAGEM, PHYSIO
SWPALC
Index: Structure Number
Format
+-------------------------------------------------------+
STRTAB: | Pointer to SDB | / \
|-------------------------------------------------------| |
| . | |
| . | |
| . | |
| . | |
| . | |
| . |
| . | STRN =
| . | 16
| . |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | |
| . | \ /
+-------------------------------------------------------+
Page 202
SWAP-FREE-SPACE
Swappable Free Space Pool Format. This table describes the
header area that is used in the assignment and deassignment
of swappable free space (by ASGFRE) and the usage of this
space when assigned.
Defined in: STG
Referenced by: FREE, IPCF, LOGNAM
Format
+-------------------------------------------------------+ / \
SWPFRE: | Adr of 1st Free Block | Unused | |
|-------------------------------------------------------| |
| Lock on Free Space | |
|-------------------------------------------------------| |
| Space Counter | |
|-------------------------------------------------------| |
| Most Common Block Size | 7
|-------------------------------------------------------| |
| Max Top of Free Area | Bottom of Free Area | |
|-------------------------------------------------------| |
| Temporary Work Space | |
|-------------------------------------------------------| |
| Temporary Work Space | |
|-------------------------------------------------------| \ /
SWFREE: | Free Space Pool | / \
| | |
| Space for the Assignment of: | |
| PID Headers & Messages | |
| ENQ/DEQ Blocks | |
| System Wide Logical Name List and | SWFREL
| Definitions Blocks | |
| USAGE JSYS Blocks | |
| Checkpoint Records | |
| Network Strings | |
+-------------------------------------------------------+ \ /
Page 203
SYNMTB
System Logical Name Table: This table contains pointers to
the initial ASCIZ strings for the system logical names.
Defined in: STG
Referenced by: LOGNAM
FORMAT
+-------------------------------------------------------+
SYNMTB: | XWD[ASCIZ/SYS/],[ASCIZ/PS:<SUBSYS>/] |
|-------------------------------------------------------|
| XWD[ASCIZ/HLP/],[ASCIZ/SYS:/] |
|-------------------------------------------------------|
| XWD[ASCIZ/SYSTEM/],[ASCIZ/PS:<NEW-SYSTEM,PS:<SYSTEM>/]|
|-------------------------------------------------------|
| XWD[ASCIZ/EDITOR/],[ASCIZ/SYS:EDIT.EXE/] |
+-------------------------------------------------------+
Page 204
SYS-STARTUP-VECTORS
System Startup Transfer Vectors. This table, in resident
locations 140%-147, contains the startup vectors for the
monitor as well as vectors to enter EDDT.
Defined in: STG
Referenced by: STG, POSTLD
Format
+-------------------------------------------------------+
EVDDT=140 | JRST DDTX (EDDT) |
|-------------------------------------------------------|
| JRST SYSDDT (Reset and go to EDDT) |
|-------------------------------------------------------|
EVDDT2=142 | JRST DDTX (Copy of EDDT in case |
| other clobbered) |
|-------------------------------------------------------|
EVDDT2=143 | JRST SYSLOD (Initialize disk file |
| system) |
|-------------------------------------------------------|
| Unused |
|-------------------------------------------------------|
EVRST=145 | JRST SYSRST (Restart) |
|-------------------------------------------------------|
EVLDGO=146 | JRST SYSGO (Reload and start) |
|-------------------------------------------------------|
EVGO=147 | JRST SYSGO1 (Start) |
+-------------------------------------------------------+
Page 205
SYSERR-STORAGE-AREA
SYSERR STORAGE AREA. This area contains the buffer for all
SYSERR error blocks which are later written by JOB0 into the
SYSERR.LOG file. In and out pointers into the buffer area
are maintained for JOB0 as well as pointers to the free and
released SYSERR blocks.
Defined in: STG, SERCOD
Referenced by: SYSERR
+-------------------------------------------------------+
SEBBFR: | . | / \ / \
\ . \ | |
\ . \ | |
|-------------------------------------------------------| |
| SYSERR HDR |SYSERR SEBBSZ
|-------------------------------------------------------|BUFFER |
| Body of Error Code |(1 pg.) |
|-------------------------------------------------------| |
\ . \ | |
\ . \ \ / \ /
|-------------------------------------------------------|
SEBFRE: | Ptr to Beginning of Free Contiguous |
| Area in SYSERR Buffer |
|-------------------------------------------------------|
SEBEFE: | Ptr to End of Free Contiguous |
| Area in SYSERR Buffer |
|-------------------------------------------------------|
SEBQIN: | JOB 0 Queue %- IN PTR |
|-------------------------------------------------------|
SEBFCT: | Free Count%-Contiguous Buffer Space |
|-------------------------------------------------------|
SEBRLQ: | Ptr to Queue of Released Blocks |
|-------------------------------------------------------|
SEBJFN: | JFN for SYSERR.LOG File |
|-------------------------------------------------------|
SECHKF: | Flag to wake Job 0 SYSERR FORK |
|-------------------------------------------------------|
SEIETM: | Time after which failing to OPEN |
| SYSERR LOG File can try again |
+-------------------------------------------------------+
Although the In-pointer is in this storage area the
corresponding Out%-pointer in SEBQUO is in a fixed place in
lower core (i.e., location 24), so JOB 0 can queue up a
BUGHLT block after a crash. One can examine the last SYSERR
block by adding to the right half of the contents of SEBQUO,
SEBDAT plus offset into SYSERR block.
Page 206
SEBBFR: SYSERR BUFFER BLOCKS
SYSERR BLOCK FORMAT
+-------------------------------------------------------+
| |SEBCOD| SEBSIZ | SEBCDR |*
0 | | Code |Blk Size with HDR| Pointer to Next Block |
|-------------------------------------------------------|
| |6 SEBSOF 17| SEBFN |
1 | |Offset to Free | JOB 0 Function to Call |
| | String Space | |
|-------------------------------------------------------|
SEBHED=2| SEHCOD | | SEHLEN |*
| Event Code | |Block Length |
|-------------------------------------------------------|
| SEHTAD |
3 | Date and Time |
|-------------------------------------------------------|
| SEHUTM |
4 | Uptime |
|-------------------------------------------------------|
| SEHSER |
5 | APRID Word |
| (Processor Serial Number) |
|-------------------------------------------------------|
SEBDAT=6| |
| Body of Error Block |
\ (Dependent on Event Type \
\ See Below) \
| |
| |
| |
| |
+-------------------------------------------------------+
0 2 3 4 5 6 17 18 35
Word +-------------------------------------------------------+
0 | |SEBCOD| SEBSIZ | SEBCDR |
| | Code |Blk Size with HDR| Pointer to Next Block |
+-------------------------------------------------------+
Bits Pointer Meaning
3-5 SEBCOD State Code
SBCFRE=0 on Free List
SBCREL=1 Released
SBCACT=2 Active
6-17 SEBSIZ Block Size Including Header
18-35 SEBCDR Pointer to Next in List
Page 207
0 8 27 35
Word +-------------------------------------------------------+
2 | SEHCOD | | SEHLEN |
| Event Code | |Block Length |
+-------------------------------------------------------+
Bits Pointer Meaning
0-8 SEHCOD Event Code (i.e., Block Type)
SEC%RL=101 System Reload
SEC%BG=102 BUGHLT/BUGCHK/BUGINF
SEC%MB=111 Massbus Device Error
SEC%CS=115 Configuration Status
Change (MTCON)
SEC%FE=130 Front End Error
SEC%11=131 F.E. Reload Entry
(Gives %-11 Reboot Info.)
SEC%HS=133 Halt for KS10
SEC%PT=160 Processor Parity Trap
SEC%PI=161 Processor Parity Intrp.
SEC%P1=162 Parity for Extensible
Controllers
SB%BLK=163 Status Block
SEC%6S=232 DN64 event
27-35 SEHLEN Block Length (Including Header)
RL%LEN - System Reload Block Length
BG%LEN - BUGHLT/CHK/INF Block Length
MB%LEN - Massbus Dev. Err Blk Length
CS%SIZ Config Change Blk Length
FE%LEN - F.E. Errors Blk Length
R1%LEN - F.E. Reload Entry Blk Length
HS%LEN KS10 Block Length
PT%LEN - Proc. Parity Trap Blk Length
PI%LEN - Proc. Parity Interrupt Blk Lgh
PI%LN2 Extensible Controllers Blk Lgh
SE%MAS Status Bloc Length
Page 208
Word 6 to End (Body of Error Block - Dependent on Event Type)
Event Type 101
System Reloaded Error Block Data
+-----------------------------------------------------+
RL%SVN=0 | ASCII Byte Pointer to System Name |
|-----------------------------------------------------|
RL%STD=1 | Time of System Build (Univ. Format) |
|-----------------------------------------------------|
RL%VER=2 | System Version Number |
|-----------------------------------------------------|
RL%SER=3 | APR Serial Number |
|-----------------------------------------------------|
RL%OPR=4 | ASCII Byte Pointer to "Why Reload" |
|-----------------------------------------------------|
RL%HLT=5 | BUGHLT Address (if Auto-Reloaded) |
|-----------------------------------------------------|
RL%FLG=6 | Flags |
|-----------------------------------------------------| / \
RL%SIZ=7 | Monitor Name (Text) | |
| | NSVNT=
| | 26.
| | |
|-----------------------------------------------------| \ /
| | / \
| "Why Reload" Answer String (Text) | |
| | RLBSZ=
| | 16.
+-----------------------------------------------------+ \ /
RL%LEN=61
Page 209
Event type 102
BUGHLT/CHK/INF Error Block Data
+-----------------------------------------------------+
BG%SVN=0 | System Name (ASCIZ) |
|-----------------------------------------------------|
BG%SER=1 | APR Serial Number |
|-----------------------------------------------------|
BG%VER=2 | Monitor Version |
|-----------------------------------------------------|
BG%SDT=3 | TAD of Monitor Build |
|-----------------------------------------------------|
| Type (1,2 or 3) of BUG Call: |
BG%FLG=4 | (BG%CHK=1;BG%INF=2;BG%HLT=3) |
|-----------------------------------------------------|
BG%ADR=5 | Address of HLT/CHK |
|-----------------------------------------------------|
BG%JOB=6 | FORKX | Job Number |
|-----------------------------------------------------|
BG%USR=7 | User Number |
|-----------------------------------------------------|
BG%PNM=10 | Program Name (SIXBIT) |
|-----------------------------------------------------|
BG%MSG=11 | Message (ASCIZ) |
|-----------------------------------------------------| / \
BG%ACS=12 \ ACS \ |
\ \ 16.
|-----------------------------------------------------| \ /
BG%PIS=32 | PI Status |
|-----------------------------------------------------|
BG%RCT=33 | Register Count |
|-----------------------------------------------------|
BG%REG=34 | Registers (Maximum of 4) |
|-----------------------------------------------------|
BG%NAM=40 | SIXBIT Name of Check |
|-----------------------------------------------------|
BG%DAT=41 | Time and Date of BUGHLT/BUGCHK |
|-----------------------------------------------------|
BG%CNT=42 | Number of BUG Checks Since Startup |
|-----------------------------------------------------|
BG%APS=43 | APR Flags (CONI APR,) |
|-----------------------------------------------------|
BG%PGS=44 | Pager Flags (CONI PAG,) |
|-----------------------------------------------------|
BG%PGD=45 | Pager Data (DATAI PAG,) |
|-----------------------------------------------------|
BG%ERG=46 | Error Register |
|-----------------------------------------------------| / \
BG%SIZ=47 | | |
\ String Area \ |
| | |
|-----------------------------------------------------| 27.
| | |
\ String Area \ |
Page 210
| | |
+-----------------------------------------------------+ \ /
BG%LEN=102
Page 211
Event Type 111
MASS BUS DEV Error Data Block
+-------------------------------------------------------+
MB%NAM=0 | Device Name (if available) |
|-------------------------------------------------------|
MB%VID=1 | Volume ID (SIXBIT) |
|-------------------------------------------------------|
MB%TYP=2 | Channel,,Device Type - See PHYPAR |
|-------------------------------------------------------|
MB%LOC=3 | Location of Error - Sector or File,,Record |
|-------------------------------------------------------|
MB%FES=4 | Final Error State - Device Dependant |
|-------------------------------------------------------|
MB%CNI=5 | CONI Initial |
|-------------------------------------------------------|
MB%CIF=6 | CONI Final |
|-------------------------------------------------------|
MB%SEK=7 | Number of Seeks |
|-------------------------------------------------------|
MB%RED=10 | Number of Blocks/Frames Read |
|-------------------------------------------------------|
MB%WRT=11 | Number of Blocks/Frames Written |
|-------------------------------------------------------|
MB%FIL=12 | Filename (Pointer) |
|-------------------------------------------------------|
MB%USR=13 | User Making Request (Pointer) |
|-------------------------------------------------------|
MB%PGM=14 | Program Running |
|-------------------------------------------------------|
MB%D1I=15 | DATAI PTCR Initial |
|-------------------------------------------------------|
MB%D1F=16 | DATAI PTCR Final |
|-------------------------------------------------------|
MB%D2I=17 | DATAI PBAR Initial |
|-------------------------------------------------------|
MB%D2F=20 | DATAI PBAR Final |
|-------------------------------------------------------|
MB%UDB=21 | Unit Data Block for JOB 0 BAT Blocks |
|-------------------------------------------------------|
MB%IRS=22 | IORB Status Word, IS.ERR if Hard (See PHYPAR) |
Page 212
|-------------------------------------------------------|
MB%SRE=23 | Soft Read Errors |
|-------------------------------------------------------|
MB%SWE=24 | Soft Write Errors |
|-------------------------------------------------------|
MB%HRE=25 | Hard Read Errors |
|-------------------------------------------------------|
MB%HWE=26 | Hard Write Errors |
|-------------------------------------------------------|
MB%PS1=27 | Position, CYL if Disk, File if Tape |
|-------------------------------------------------------|
MB%PS2=30 | SURF/SEC or Record |
|-------------------------------------------------------|
MB%CS0=31 | Channel Logout 0 |
|-------------------------------------------------------|
MB%CS1=32 | Channel Logout 1 |
|-------------------------------------------------------|
MB%CS2=33 | Channel Logout 2 |
|-------------------------------------------------------|
MB%CC1=34 | First CCW |
|-------------------------------------------------------|
MB%CC2=35 | Second CCW |
|-------------------------------------------------------|
MB%MPE=36 | Count of MPE |
|-------------------------------------------------------|
MB%NXM=37 | Count of NXM |
|-------------------------------------------------------|
MB%FEC=40 | Final Error Count |
|-------------------------------------------------------|
MB%CAD=41 | Channel Address |
|-------------------------------------------------------|
MB%UAD=42 | Unit Address |
|-------------------------------------------------------|
MB%SPE=43 | Soft Positioning Errors |
|-------------------------------------------------------|
MB%HPE=44 | Hard Positioning Errors |
|-------------------------------------------------------|
MB%OVR=45 | Overruns |
|-------------------------------------------------------|
MB%ICR=46 | Initial TCR |
|-------------------------------------------------------|
MB%REG=47 | Units Massbus Registers in order with their: |
\ Final Contents,, Initial Error Contents \
| |
+-------------------------------------------------------+
MB%LEN=124
Page 213
Event Type 115
Configuration Status Change (logged by MTCON)
+--------------------------------------------------------+
CS%OPW=0 | Operation Code |
| Codefield is CS%OPR=77B17 |
| Codes are: CS%ADV=0; Attach Device |
| CS%DDV=1; Detach Device |
|--------------------------------------------------------|
CS%HTP=1 | Hardware Type |
| Channel Type | Unit Type |
|--------------------------------------------------------|
CS%DNM=2 | Logical Device Name (SIXBIT) |
|--------------------------------------------------------|
CS%APS=3 | Device Address and Serial Number |
|--------------------------------------------------------|
CS%RSW=4 | Offset to Reason String |
+--------------------------------------------------------+
Page 214
Event Type 130
Front End Errors Data Block
+--------------------------------------------------------+
FE%FJB=0 | Fork Number,,Job Number |
|--------------------------------------------------------|
FE%DIR=1 | Directory Numbers |
|--------------------------------------------------------|
FE%ID=2 | Front End Software Version |
|--------------------------------------------------------|
FE%NAM=3 | SIXBIT Name of Program |
|--------------------------------------------------------|
FE%DEV=4 | Protocol Device Code (1B0=Unknown) |
|--------------------------------------------------------|
FE%PTR=5 | -Length of Data,,Start of Data |
|--------------------------------------------------------|
FE%DTE=6 | DTE Number |
|--------------------------------------------------------|
FE%BYT=7 | # of -11 Bytes in the Message |
+--------------------------------------------------------+
FE%LEN=10
Event Type 131
Front End Reload ERROR BLOCK DATA
+--------------------------------------------------------+
R1%NUM=0 | -11 Number |
|--------------------------------------------------------|
R1%STS=1 | Reload Status Bits |
|--------------------------------------------------------|
R1%FNM=2 | File Name Pointer |
|--------------------------------------------------------|
R1%ERW=3 | -11 Error Word |
|--------------------------------------------------------| / \
| | |
\ String Area \ 20
| | |
+--------------------------------------------------------+ \ /
R1%LEN=30
Page 215
Word +-----------------------------------------------+
R1%STS=1 | | | | | | | | | | | | | | |Retry Count|
+-----------------------------------------------+
Symbol Bits Contents
.R1GTF 0 GTJFN failed for Dump File
.R1OPF 1 OPENF failed for Dump File
.R1DPF 2 Dump failed
.R110E 3 To -10 Error on Dump
.R111E 4 To -11 Error on Dump
.R1ASF 5 ASGPAG failed on Dump
.R1RLF 6 Reload failed
.R1PDF 7 -11 didn't Power Down
.R1PUF 8 -11 didn't Power Up
.R1RMF 9 ROM did not ACKnowledge
the -10
.R1BSF 10 -11 Boot Program didn't
make it to the -11
.R1NRL 11 -11 took more than 1 Min.
to Reload.
.R1RTC 33-35 Retry Count
0 1 2 17 18 19 20 35
Word +-----------------------------------------------+
R1%ERW=3| |Fault Code | | Parity Register |
+-----------------------------------------------+
Symbol Bits Contents
2-17 Fault code as 3 RAD50
characters
20-35 Parity Register Valid Only
if it is Nonzero
Page 216
Event Type 133
Halt for KS10
+--------------------------------------------------------+
HS%COD=0 | Halt Status Code (Phy. Loc. 0) |
|--------------------------------------------------------|
HS%PC=1 | Program Counter (Phy. Loc. 1) |
|--------------------------------------------------------|
HS%PTR=2 | Halt Status Block Offset Pointer |
|--------------------------------------------------------|
CS%PTR=3 | Clock Stop Blk Offset Pty. (Unused) !
!--------------------------------------------------------! / \
HS%HDZ=4 ! ! !
\ Halt Status Block \ HS%HSZ
! ! !
+--------------------------------------------------------+ \ /
Halt Status Block
+--------------------------------------------------------+
HS%NUL=0 ! Magnitude !
!--------------------------------------------------------!
HS%PC=1 ! PC !
!--------------------------------------------------------!
HS%HR=2 ! Current Instruction !
!--------------------------------------------------------!
HS%AR=3 ! AR !
!--------------------------------------------------------!
HS%ARX=4 ! ARX !
!--------------------------------------------------------!
HS%BR=5 ! Base Register !
!--------------------------------------------------------!
HS%BRX=6 ! Base Register Extension !
!--------------------------------------------------------!
HS%ONE=7 ! Constant One !
!--------------------------------------------------------!
HS%EBR=10 ! Exec Base Register !
!--------------------------------------------------------!
HS%UBR=11 ! User Base Register !
!--------------------------------------------------------!
HS%MSK=12 ! Mask !
!--------------------------------------------------------!
HS%FLG=13 ! Microcode Status Flags !
!--------------------------------------------------------!
HS%PI=14 ! PI Status !
!--------------------------------------------------------!
HS%X1=15 ! 1 ! 1 !
!--------------------------------------------------------!
HS%T0=16 ! T0 !
!--------------------------------------------------------!
HS%T1=17 ! T1 !
!--------------------------------------------------------!
HS%VMA=20 ! VMA Flags VMA !
Page 217
!--------------------------------------------------------!
HS%FE=21 ! FE ! SC !
+--------------------------------------------------------+
Page 218
Event Type 160
Processor Parity Trap Error Block Data
+--------------------------------------------------------+
PT%PFW=0 | Page Fail Word |
|--------------------------------------------------------|
PT%BDW=1 | Bad Data Word |
|--------------------------------------------------------|
PT%GDW=2 | Good Data Word |
|--------------------------------------------------------|
PT%USR=3 | User Number |
|--------------------------------------------------------|
PT%JOB=4 | FORKX | JOBN |
|--------------------------------------------------------|
PT%PGM=5 | Program Name (SIXBIT) |
|--------------------------------------------------------|
PT%PMA=6 | Physical Memory Address |
|--------------------------------------------------------|
PT%TRY=7 | Flags | Retry Count |
+--------------------------------------------------------+
PT%LEN=10
1 2 3 4 18 35
Word +-------------------------------------------------+
PT%TRY=7| | | | | | | Retry Count |
+-------------------------------------------------+
Symbol Bits Contents
PT%HRO 1 Hard Error
PT%CCP 2 Cache Failure
PT%CCH 3 Cache in Use
PT%ESW 4 Error on Sweep to Core
18%-35 Retry Count
Page 219
Event Type 161
Processor Parity Interrupt Error Data Block
+-------------------------------------------------------+
PI%CNI=0 | CONI APR |
|-------------------------------------------------------|
PI%ERA=1 | ERA |
|-------------------------------------------------------|
PI%FPC=2 | PC |
|-------------------------------------------------------|
PI%SWP=3 | Number of Errors This Sweep |
|-------------------------------------------------------|
PI%AAD=4 | Logical "AND" of Bad Addresses |
|-------------------------------------------------------|
PI%OAD=5 | Logical "OR" of Bad Addresses |
|-------------------------------------------------------|
PI%ADA=6 | Logical "AND" of Bad Data |
|-------------------------------------------------------|
PI%ODA=7 | Logical "OR" of Bad Data |
|-------------------------------------------------------| / \
PI%SBD=10 | SBUS DIAG Function Data | |
\ \ 10.
|-------------------------------------------------------| \ /
PI%ADD=22 | First 10. Bad Addresses | / \
\ \ 10.
|-------------------------------------------------------| \ /
PI%DAT=34 | First 10. Bad Data Words | / \
\ \ 10.
|-------------------------------------------------------| \ /
PI%CDA=46 | Core Ref of First 10. Bad Addresses | / \
\ \ 10.
|-------------------------------------------------------| \ /
PI%FFL=60 | Flags |
+-------------------------------------------------------+
PI%LEN=61
Page 220
TT-LINE-DYN-DATA-BLK
Teletype Line Dynamic Data Block. This block pointed to by
the line's entry in TTACTL, holds line specific data and is
built when the line becomes active. It is deallocated when
the line becomes inactive.
There are two shortened forms of the dynamic data block, one
used for a SENDALL type of message and the other for sending
a "ding" when any character but CTRL/C is typed on an
inactive line.
Defined in: TTYSRV
Referenced by: TTYSRV
+-------------------------------------------------------+
TTFLG1=0 | Flags |*
|-------------------------------------------------------|
TTDAT1=1 | ! TINTL |*
| Buffer Info & Term. Type ! Internal Line Number |
|-------------------------------------------------------|
TTSAL1=2 |TSALC ! TLTYP |
| Send All Character Count | Dev. Disp. Vector Add. |
|-------------------------------------------------------|
TTSAL2=3 |TSALP |
| Send All Byte Pointer |
|-------------------------------------------------------|
TTDEV=4 | Device dependent word |
| (See Device modules for definitions) |
|-------------------------------------------------------|
TTBFRC=5 |0 7|8 11|12 15|16 25|26 35|
| TOWRN | TTNIN | TTNOU | TIMAX | TOMAX |
| Wake Up |# of |# of | Max bytes | Max bytes |
| Count | Input |Output |In Input Buf| In Output Buf |
| | Bufs | Bufs | | |
|-------------------------------------------------------|
TTOCT=6 | Number of Characters in Output Buffer |
|-------------------------------------------------------|
TTOOUT=7 | Pointer for Removing Char from Output Buffer |
|-------------------------------------------------------|
TTOIN=10 | Pointer for Entering Char into Output Buffer |
|-------------------------------------------------------|
TTDAT2=11 | Input Info. & Page Width |*
|-------------------------------------------------------|
TTICT=12 | Number Characters in Input Buffer |
|-------------------------------------------------------|
TTIOUT=13 | Pointer for Removing Char from Input Buffer |
|-------------------------------------------------------|
TTIIN=14 | Pointer for Entering Char into Input Buffer |
|-------------------------------------------------------|
FCMOD1=15 | Control Character Output Control Words |
|-------------------------------------------------------|
| |
Page 221
FCMOD2=16 | Possible Values for each Char. (2 Bits/Char) |
| CCNONE = 0 Send nothing |
| CCIND = 1 Indicate via ^ |
| CCSEND = 2 Send Actual Code |
| CCSIM = 3 Simulate Format Action |
|-------------------------------------------------------|
TTDPSI=17 | Bit for Terminal Code Set if Deferred Interrupt |
|-------------------------------------------------------|
TTPSI=20 | Bit for Terminal Code Set if Interrupt |
|-------------------------------------------------------|
TTLINK=21 | Lines linked to (9 bits per line) |
|-------------------------------------------------------|
TTLPOS=22 | TPGPS | TLNPS |
| Cur Line Position in Page| Current Charcter Position |
| | within Line |
|-------------------------------------------------------|
TTFLGS=23 |0 ! !10 17| |
|TOFLG | !TPLEN | |
|^O was| ! page length | |
| typed| ! | |
|-------------------------------------------------------|
TTFORK=24 | TCJOB | TWFRK |
| Controlling Job Number | Fork Number in Input Wait |
| | on this Line |
|-------------------------------------------------------|
TTFRK1=25 | TTPSFK | TTPFK |
| PSI Fork # for | Fork which is Top Fork of |
| Non-controlling TTY | a SCTTY Tree (-1 if None)|
!-------------------------------------------------------!
TTCHR1=26 ! Wake Up Character Mask (ASCII Codes 0-31.) !
!-------------------------------------------------------!
TTCHR2=27 ! Wake Up Character Mask (ASCII Codes 32.-63.) !
!-------------------------------------------------------!
TTCHR3=30 ! Wake Up Character Mask (ASCII Codes 64.-95.) !
!-------------------------------------------------------!
TTCHR4=31 ! Wake Up Character Mask (ASCII Codes 96.-127.) !
!-------------------------------------------------------!
TTFWTH=32 ! ! TTFCNT !
! PSI Level Info ! Byte Count !
!-------------------------------------------------------!
TTLINE=33 ! Line Counter !
!-------------------------------------------------------!
TTLMAX=34 ! Maximum of TTLINE !
+-------------------------------------------------------+
Page 222
0 1 2 3 4 5 6 7 8 9 10 11 30 35
+----------------------------------------------------------+
TTFLG1 | | | | | | | | | | | | | |TTLCK |
| | | | | | | | | | | | | |Cnt. of Locks|
+----------------------------------------------------------+
Symbol Bits Pointer Contents
TT%SAL 0 TTSAL Sendall being done to
this line
TT%SHT 1 TTSHT This is a short block
TT%MES 2 TTMES This is a system
message block
TT%OTP 3 TTOTP Output is enroute to
the line
TT%FWK 4 TTFWK Forced wakeup
TT%SFG 5 TTSFG CTRL/S was typed
TT%RFG 6 TTRFG Repeat last character
(BKJFN)
TT%WFG 7 TTWFG Blocked on input
TT%PRM 8 TTPRM Don't deallocate
dynamic data
TT%BAC 9 TTBAC Permanent and becoming
active
TT%NXO 10 TTNXO Is 0, no page output stop
TT%BKO 11 TTBKO Fork blocked for output
event
TT%LCK 30-35 TTLCK Count of locks on this
block
0 4 5 7 8 9 17 18 35
+-----------------------------------------------------------+
TTDAT1 | | | | | TTINTL |
+-----------------------------------------------------------+
Bit Pointer Contents
5-7 TTOCN Count of extra buffers
8 TTOMX Extra buffers in use
9-17 TTTYP Terminal type
18-35 TINTL Internal line number
(index into static data)
Page 223
0 6 7 8 9 17 18 26 27 35
+----------------------------------------------------------+
TTDAT2 | | | | TYLCH | TPWID | |
+----------------------------------------------------------+
Bit Pointer Contents
7-8 TYLMD Terminal data mode for last
input character
9-17 TYLCH Last char removed from input
buffer
18-26 TPWID Page width
0 5 6 11 12 17 18 35
+----------------------------------------------------------+
TTFWTH ! ! TTIPSI ! TTOPSI ! TTFCNT !
+----------------------------------------------------------+
Bit Pointer Contents
6-11 TTIPSI Input PSI level
12-17 TTOPSI Output PSI level
18-35 TTFCNT Byte count for wakeup
(0=> disabled for wakeup)
Page 224
TTACTL
Teletype Active Line Table. This resident table contains a
pointer to each active line's dynamic data block.
Defined in: STG
Referenced by: MEXEC, TTYSRV
Index: Line Number
Format
+-------------------------------------------------------+
TTACTL: | Address of dynamic data block if active | / \
| or -1 if becoming active | |
| or 0 if inactive | |
|-------------------------------------------------------| |
| . | |
| . |
| . | NLINES
| . |
| . | |
| . | |
| . | |
| | \ /
+-------------------------------------------------------+
Page 225
TTBUFS
Teletype Buffers. This storage area contains the input and
output buffers for each line (TTY and PTY) on the system.
Input and output pointers to each buffer are kept in the
line's dynamic data block. These buffers are fixed length
and are assigned on demand. When there is no character
activity, the buffers are deassigned.
Defined in: STG
Referenced by: TTYSRV
Format
+-----------------------------------------------------+
TTBUFS: | Pointer to Next Buffer |
|-----------------------------------------------------|
| | / \
| | |
| |
| |Buffer
| |
| | \ /
|-----------------------------------------------------|
| . |
\ . \
|-----------------------------------------------------|
| Pointer to Next Buffer |
|-----------------------------------------------------|
| | / \
| | |
| |
| |Buffer
| |
| | \ /
|-----------------------------------------------------|
| . |
\ . \
+-----------------------------------------------------+
Note: The free buffers are linked and are pointed to by TTFREB.
Page 226
TTCSAD
Terminal Call Special Request Address Table. This resident
table is used to hold the dispatch address of a scheduler
routine for a special line request.
Special line requests are made when the DTEQ routine is
unable to obtain space for a packet and cannot block to wait
for the space. (i.e. process is NOSKED, or request made at
interrupt or scheduler level). A special line request is
made so that a packet will be queued later by the Scheduler.
(See Table, TTCSTM).
Defined in: STG
Referenced by: TTYSRV
Index: Line Number
Format
+-------------------------------------------------------+
TTCSAD: | Address of routine for scheduler to call | / \
|-------------------------------------------------------| |
| . | |
| . | |
| . |
| . | NLINES
| . |
| | |
\ \ |
| | \ /
+-------------------------------------------------------+
Page 227
TTCSTM
Terminal Call Special Request Time Table. This resident
table parallels the TTCSAD table and holds the time the
Scheduler is to call the special request routine in TTCSAD.
Defined in: STG
Referenced by: TTYSRV
Index: Line Number
Format
+-------------------------------------------------------+
TTCSTM: | Time for scheduler to call routine in TTCSAD | / \
|-------------------------------------------------------| |
| . | |
| . | |
| .
| . | NLINES
| . |
| | |
| | |
| | |
| | \ /
+-------------------------------------------------------+
Page 228
TTLINV
Terminal Type Line Vector Table. This vector table gives
the device table addresses of the form, TTXXVT. These
tables hold the device specific vectors for device
functions. (See TTXXVT Table).
Defined in: TTYSRV
Referenced by: TTYSRV
Index: Device Type
Format
+-------------------------------------------------------+
TTLINV: | IFIW | TTFEVT FE Vector Table |
|-------------------------------------------------------|
| IFIW | TTMCVT* MCB Vector Table |
|-------------------------------------------------------|
| IFIW | TTPTVT PTY Vector Table |
|-------------------------------------------------------|
| IFIW | TTDCVT* DC10 Vector Table |
|-------------------------------------------------------|
| IFIW | TTNTVT Network Vector Table |
|-------------------------------------------------------|
| IFIW | TTDZVT DZ11 Vector Table |
+-------------------------------------------------------+
NOTE
If a terminal type does not
exist, its corresponding
vector table address in TTLINV
will be set equal to the
vector table address, TTDMVT.
This table vectors to routines
which BUGHLT.
* Are currently not in use.
Page 229
TTSTAT
Teletype Status Table. This resident table contains the
terminal characteristic flags
Defined in: STG
Referenced by: TTYSRV
Index: Line Number
Format
+-------------------------------------------------------+
TTSTAT: | Terminal Characteristics Flags | / \
|-------------------------------------------------------| |
| . | |
| . | |
| . |
| . | NLINES
| . |
| . | |
| . | |
| . | |
| . | \ /
+-------------------------------------------------------+
0 1 2 3 4 5 6 7 8 10 13 15 17 8 9 20 27 28 35
+----------------------------------------------------------------+
| | | | | | | | | | | | | TSFMC | TTFBB |
+----------------------------------------------------------------+
Symbol Bits Pointer Contents
TT%FEM 0 TTFEM Line is remote
TT%NTS 1 TTNTS Don't send system mesg.
TT%FXO 2 TTFXO Line needs XON
TT%CON 3 TTCON Carrier is on
TT%FSP 4 TTFSP Line needs speed set
TT%FXF 5 TTFXF Line needs XOF
TT%IGI 6 TTIGI Ignore input when line
is inactive
TT%AUT 7 TTAUT Line is auto-speed
TT%XOC 8 TTXOC Line needs XON/XOFF
character (2020)
TT%FPK 8 TTFPK Waiting for FE post (KL)
10-13 TTXCN Count of XOFFs requested
15-17 TTYSTY Line type which yields
the offset into the
TTLINV table
20-27 TSFMC Max count for front
end buffer
28-35 TTFBB Entry count in Big Buf
Page 230
TTXXVT
Teletype Device Specific Vector Table. TTXXVT is the vector
table (in generalized format) for data and routine addresses
for device XX. The offsets given below can be used when
referencing a device specific vector table.
Teletype service consists of the module - TTYSRV - which
contains all device-independent code, and one module for
each line type. The latter modules contain all the
device-dependent code for their line type.
Each device-dependent module, of name TTXXDV, has a transfer
vector table of the name TTXXVT, where XX is unique for each
line type (i.e., XX = FE/DZ/DC/MC/NT/PT); (See TTLINV
Table).
Defined in: TTYSRV
Referenced by: TTYSRV
+-------------------------------------------------------+
DDLEN=0 | Length of dynamic data for this type |
|-------------------------------------------------------|
TT1LIN=1 | First line of this type/-1 no lines |
|-------------------------------------------------------|
VITBLS=2 | Initialize tables at system startup |
|-------------------------------------------------------|
VACTLN=3 | Activate lines at startup or restart |
|-------------------------------------------------------|
VCLOBF=4 | Clear output buffer |
|-------------------------------------------------------|
VSETSP=5 | Set line speed |
|-------------------------------------------------------|
VGETSP=6 | Read line speed |
|-------------------------------------------------------|
VSETTS=7 | Set terminal/non-terminal status |
|-------------------------------------------------------|
VGETTS=10 | Read terminal/non-terminal status |
|-------------------------------------------------------|
VSTO=11 | STO JSYS |
|-------------------------------------------------------|
VSTPAR=12 | STPAR JSYS |
|-------------------------------------------------------|
VCKPHY=13 | CKPHYT - see if physical terminal |
|-------------------------------------------------------|
VXON=14 | Process XON from terminal |
|-------------------------------------------------------|
VDETDB=15 | Deassign TTY Data Base |
|-------------------------------------------------------|
VOPAR=16 | TCOUT - add parity to character |
|-------------------------------------------------------|
VSOUT=17 | Start output to line |
|-------------------------------------------------------|
VSXOFF=20 | Send XOFF to terminal |
Page 231
|-------------------------------------------------------|
VSXON=21 | Send XON to terminal |
|-------------------------------------------------------|
VTTCS=22 | TTCH7 - Process TTCS words |
|-------------------------------------------------------|
VCON=23 | Handle carrier/on |
|-------------------------------------------------------|
VCOFF=24 | Handle carrier/off |
|-------------------------------------------------------|
VHNGUP=25 | Hangup, reactivate remote line |
|-------------------------------------------------------|
VXOFF=26 | Process XOFF from terminal |
|-------------------------------------------------------|
RNEWCC=27 | Handle CTRL/C from inactive line |
|-------------------------------------------------------|
VSTOBB=30 | BIGSTO - Store character in TTBBUF |
|-------------------------------------------------------|
VSNDCH=31 | TTSND - Send character to line |
|-------------------------------------------------------|
VDET=32 | Detach job on this line |
|-------------------------------------------------------|
VBBOV=33 | Handle overflow of TTBBUF |
|-------------------------------------------------------|
VGCHBB=34 | Remove character from TTBBUF |
|-------------------------------------------------------|
VTTMSG=35 | Do TTMSG for one line |
|-------------------------------------------------------|
TSETDS=36 | Enable/Disable Datasets |
|-------------------------------------------------------|
VCKLIN=37 | TTCH7 after emptying TTBBUF |
|-------------------------------------------------------|
VCLIBF=40 | Clear input buffer |
|-------------------------------------------------------|
VDOBE=41 | DOBE |
|-------------------------------------------------------|
VHNGRY=42 | Input GA |
|-------------------------------------------------------|
VSINIV=43 | Set Initial Values for a line |
|-------------------------------------------------------|
VSOBE=44 | SOBE |
|-------------------------------------------------------|
VDOBET=45 | Wakeup if output buffer empty |
|-------------------------------------------------------|
VSNDA1=46 | Sendall for one line |
|-------------------------------------------------------|
VSNDAL=47 | Sendall for all lines |
|-------------------------------------------------------|
VAJWCL=50 | Adjust wakeup class |
|-------------------------------------------------------|
VSTPLN=51 | Stop Line |
!-------------------------------------------------------!
VSFEXO=52 ! Enable/disable front-end XOFF recognition !
!-------------------------------------------------------!
TTVTMX=53 ! Maximum number of vector entries !
+-------------------------------------------------------+
Page 232
TTY-STORAGE-AREA
Teletype Storage Area. This resident area contains hung and
special line information, the Big Buffer, and information
about the Big Buffer. (See TT%-LINE%-DYN%-DATA%-BLK,
TTACTL, TTBUFS, TTCSAD, TTCSTM, TTLINV, TTSPWD, TTSTAT, and
TTXXVT Tables).
Defined in: STG
Referenced by: TTYSRV
+-------------------------------------------------------+
CTYNIT: | Unit No. on the .FEDLS Device by which the |
| Front End Knows the CTY |
|-------------------------------------------------------|
TCOERR: | TCOUT Sets this if Fails in Scheduler Context |
|-------------------------------------------------------|
SALCNT: | Count of Lines Doing SENDALL |
|-------------------------------------------------------|
TTFREC: | Count of Free Buffers |
|-------------------------------------------------------|
TTFREB: | List of Free Buffers |
|-------------------------------------------------------|
TTBIGI: | Input Index into Big Buffer |
|-------------------------------------------------------|
TTBIGO: | Output Index into Big Buffer |
|-------------------------------------------------------|
TTBIGC: | Char Count in Big Buffer |
|-------------------------------------------------------| / \
TTBBUF: | Big Buffer | |
| | |
\ Storage for all TTY Input Chars. Before Being Placed \ TTBSIZ
| Into Individual Input Line Buffers in TTBUFS Area | = 200
| | |
|-------------------------------------------------------| \ /
TTQCNT: | Count of Special Line Items |
|-------------------------------------------------------|
TTCQLN: | Control of Current Line Number |
|-------------------------------------------------------|
TTHNGL: | Line Being Examined for Hung |
|-------------------------------------------------------|
TTHNGT: | Time at Which Line Will be Defined as Hung |
|-------------------------------------------------------|
TTHNGN: | Last Hung Line | No. of Unhangs Done |
|-------------------------------------------------------|
LINKF: | Linked Output Character if not 0 |
|-------------------------------------------------------|
IMECHF: | Immediate Echo Output Char if not 0 |
|-------------------------------------------------------|
TTCHIC: | Input Character in TTCHI |
|-------------------------------------------------------|
DZCHCT: | "Clock" for DZ11 PI Check | 2020 only
|-------------------------------------------------------| / \
Page 233
| | |
SNDALL: \ Send All Buffer (^D16 Words) \ SNDSIZ
| | = 41
+-------------------------------------------------------+ \ /
Page 234
UDB
Unit Data Block. This block, one per unit, contains
information about the current activity on the unit.
Defined in: PHYPAR
Referenced by: PHYSIO
Format
+-------------------------------------------------------+
UDBSTS=0| Status and Configuration Information |
|-------------------------------------------------------|
UDBMBW=1| Memory Bandwidth Scheduling Information |
.|-------------------------------------------------------|
DBODT .| Overdue Timer for Seeks and the Like |
.|-------------------------------------------------------|
UDBERR | Error Recovery Status Word |
|-------------------------------------------------------|
UDBERP | Error Reporting Work Area if Nonzero |
|-------------------------------------------------------|
UDBDSP | Unit Routine Main Entry Dispatch |
|-------------------------------------------------------|
UDBCDB | Secondary CDB | Primary CDB |
|-------------------------------------------------------|
UDBADR | Secondary Unit Address | Primary Unit Address |
|-------------------------------------------------------|
UDBAKA | Current CDB | Current Chain Address |
|-------------------------------------------------------|
UDBVID | Volume ID |
|-------------------------------------------------------|
UDBSTR | Unit Within Structure | Structure # |
|-------------------------------------------------------|
UDBKDB | Pointer to KDB, if any |
|-------------------------------------------------------|
UDBDSN | Drive Serial Number |
|-------------------------------------------------------|
UDBSEK | Seeks |
|-------------------------------------------------------|
UDBRED | Reads (Sectors if Disk, Frames if Tape) |
|-------------------------------------------------------|
UDBWRT | Writes (Sectors if Disk, Frames if Tape) |
!-------------------------------------------------------!
UDBRCT ! Actual read count !
!-------------------------------------------------------!
UDBWCT ! Actual write count !
|-------------------------------------------------------|
UDBSRE | Soft Read Errors |
|-------------------------------------------------------|
UDBSWE | Soft Write Errors |
|-------------------------------------------------------|
UDBHRE | Hard Read Errors |
|-------------------------------------------------------|
Page 235
UDBHWE | Hard Write Errors |
|-------------------------------------------------------|
UDBPS1 | Current Cylinder (if Disk), File (if Tape) |
|-------------------------------------------------------|
UDBSP2 | Current Sector (if Disk), Record (if Tape) |
|-------------------------------------------------------|
UDBPWQ | Position Wait Queue Tail | Position Wait Queue Head |
|-------------------------------------------------------|
UDBTWQ | Transfer Wait Queue Tail | Transfer Wait Queue Head |
|-------------------------------------------------------|
UDBONR | Fork Which Owns This Unit (Maint. Mode) |
|-------------------------------------------------------|
UDBERC | Current Retry Count |
|-------------------------------------------------------|
UDBSPE | Soft Positioning Error |
|-------------------------------------------------------|
UDBHPE | Hard Positioning Error |
|-------------------------------------------------------|
UDBPNM | Program Name to Log on Error |
|-------------------------------------------------------|
UDBUDR | User Directory Number to Log on Error |
|-------------------------------------------------------|
UDBSIZ | Unit Size (Number of Cylinders) |
|-------------------------------------------------------|
UDBFCT | Seek Fairness Count |
|-------------------------------------------------------|
UDBCHB | IORB Used by Home Block Check |
|-------------------------------------------------------|
UDBFCR | Fairness Cnt. for Read Seek Preference |
!-------------------------------------------------------!
UDBSLV ! Slave number if tape !
!-------------------------------------------------------!
UDBCHR ! Characteristics word !
|-------------------------------------------------------|
UDBDDP | Device Dependent Part for MTA or for DSK |
\ (See PHYM2 and PHYP4 monitor modules) \
\ \
| |
| |
+-------------------------------------------------------+
Page 236
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 17 18 31 35
+--------------------------------------------------------------+
UDBSTS | | | | | | | | | | | | | | | | | | | | |
+--------------------------------------------------------------+
Symbol Bits Pointer Content
US.OFS 0 USOFL Offline or unsafe
US.CHB 1 Check home blocks before any normal
US.POS 2 Positioning in progress
US.ACT 3 Active
US.BAT 4 Bad blocks on this unit
US.BLK 5 Lock bit for this units BAT blocks
US.PGM 6 Dual port switch in (A or B)
(RP04,5,6)
US.MAI 7 Unit is in MAINT mode
US.MRQ 8 MAINT mode is requested on this unit
US.BOT 9 Unit is at BOT
US.REW 10 Unit is rewinding
US.WLK 11 Unit is write locked
US.MAL 12 MAINT mode allowed on this unit
US.OIR 13 Operator intervention required.
Set at interrupt level, checked
at SCHED.
US.OMS 14 Once a minute message to operator.
Used in conjunction with US.OIR
US.PRQ 15 Positioning required on this unit
US.TAP 16 Tape type device
US.PSI 17 PSI online/offline/rewind done
transition occurred
31-35 USTYP Unit Type
Type Code for USTYP
Symbol Code Unit Symbol Code Unit
.UTRP4 1 RP04 .UTTM3 12 TM03
.UTRS4 2 RS04 .UTT77 13 TU77
.UTT45 3 TU45 .UTTM7 14 TM78
.UTTM2 4 TM02 (as unit) .UTT78 15 TU78
.UTRP5 5 RP05 .UTDX2 16 DX20
.UTRP6 6 RP06 .UTT70 17 TU70
.UTRP7 7 RP07 .UTT71 20 TU71
.UTRP8 10 RP08 .UTT72 21 TU72
.UTRM3 11 RM03 .UTT73 22 TU7X
Page 237
UDIORB
UDSKIO IORB Pool. The free IORBS are linked together in
UDIORB and this list is pointed to by UIOLST.
Defined in: STG
Referenced by: PHYSIO
Format
+-------------------------------------------------------+ / \
UDIORB: \ \ |
\ \ |
| | |
|-------------------------------------------------------| |
| | |
| . | |
| . | NUIORB
| . | *
| | UIOLEN
| | |
|-------------------------------------------------------| |
\ \ |
\ \ |
| | |
+-------------------------------------------------------+ \ /
Page 238
UDS
Unit Dispatch Service Routine Table. This table, one per
unit type, contains vectored addresses to unit dependent
functions, and is given in its generalized form. The
specific unit dispatch tables are RP4DSP (in PHYP4) for the
disk device, and TM2DSP (in PHYM2) for the magtape device.
See PHYPAR for definitions of arguments given and returned
on calls to these unit routines.
Defined in: PHYPAR
Referenced by: PHYSIO, PHYH2, PHYM2(MTA), PHYP4(DSK), STG
Format
+-------------------------------------------------------+
UDSINI=0 | Initialize |
|-------------------------------------------------------|
UDSSIO=1 | Start I/O on an IORB, skips if O.K. |
|-------------------------------------------------------|
UDSINT=2 |Interrupt Routine (called on interrupts for XFER done) |
|-------------------------------------------------------|
UDSERR=3 | Initiate Error Retry (skips if no more retrys) |
|-------------------------------------------------------|
UDSHNG=4 | Hung Reset (called from TIMER to reset hung devices) |
|-------------------------------------------------------|
UDSCNV=5 | Convert Unit Linear Address to CYL, SURF, SEC |
|-------------------------------------------------------|
UDSLTM=6 | Return Latency or Best Request |
|-------------------------------------------------------|
UDSPOS=7 | Start Positioning on IORB (skips if O.K.) |
|-------------------------------------------------------|
UDSATN=10| Attention Interrupt |
|-------------------------------------------------------|
UDSPRQ=11| Skip if Positioning Required |
|-------------------------------------------------------|
UDSSTK=12| Stack Second Command, Skip if OK |
!-------------------------------------------------------!
UDSEXT=13! Check Legality of Unit, Skip if Existant !
+-------------------------------------------------------+
Page 239
UPT
User Process Table. A one page User Process Table is
associated with the Scheduler and with each fork in the
system. (Those associated with forks may be swapped out
with the fork.) However, there is only one UPT known to the
hardware/firmware at any one time. The UPT known is the one
whose address is pointed to by the hardware User Base
Register (UBR), which is set-up when a process is chosen to
run.
UPT contains the dispatch address for process events (i.e.,
traps) and the user's section map table.
Defined In: STG
Referenced by: APRSRV, SCHED
Format
HWPTA: +-------------------------------------+
| Available to Software |
| |
| |
| |
| |
| |
| |
| |
\ \
| |
| |
\ \
| |
| |
| |
| |
|-------------------------------------| / \
UPTPPM= | | |
HWPTA+400\ Reserved \ 20
| | |
|-------------------------------------| \ /
UPTTPI= | Address of LUUO Block |
KLLUUO HWPTA+420| |
|-------------------------------------|
UPTOVI= |User Arith. Overflow Trap Instruction|
HWPTA+421| |
|-------------------------------------|
|User Stack Overflow Trap Instruction |
|-------------------------------------|
| User Trap 3 Trap Instruction |
|-------------------------------------|
KIMUFL= | Flags | MUUO OP-AC |
Page 240
FFL HWPTA+424| | |
|-------------------------------------|
KIMUPC= | MUUO Old PC |
FPC HWPTA+425| |
|-------------------------------------|
KIMUEF= | E of MUUO |
HWPTA+426| |
|-------------------------------------|
KIMPCW= | MUUO Process Context |
UPTPCW HWPTA+427| |
|-------------------------------------|
UPTDSP= | Kernel No Trap MUUO New PC (word) |
HWPTA+430| |
|-------------------------------------|
| Kernel Trap MUUO New PC (word) |
|-------------------------------------|
|Supervisor No Trap MUUO New PC (word)|
|-------------------------------------|
| Supervisor Trap MUUO New PC (word) |
|-------------------------------------|
|Concealed No Trap MUUO New PC (word) |
|-------------------------------------|
| Public Trap MUUO New PC (word) |
|-------------------------------------|
| Public No Trap MUUO New PC (word) |
|-------------------------------------|
| Public Trap MUUO New PC (word) |
|-------------------------------------|
HWPTA+440| Reserved for software |
| |
| |
\ \
| |
| |
|-------------------------------------|
UPTPFW= | Page Fail Word |
TRAPS0 HWPTA+500| |
|-------------------------------------|
UPTPFL= | Page Fail Flags |
TRAPFL HWPTA+501| |
|-------------------------------------|
UPTPFO= | Page Fail Old PC |
TRAPPC HWPTA+502| |
|-------------------------------------|
UPTPFN= | Page Fail New PC |
HWPTA+503| |
|-------------------------------------|
HWPTA+504| |
HWPTA+505| User Process Execution Time |
|-------------------------------------|
HWPTA+506| |
HWPTA+507| User Memory Reference Count |
|-------------------------------------|
HWPTA+510| |
| |
Page 241
\ \
HWPTA+537| |
|-------------------------------------|
USECTB= | USERSECT |
HWPTA+540| |
\ \
| |
HWPTA+577| USERSECT37 |
|-------------------------------------|
HWPTA+600| |
| Available to software |
| |
| |
| |
| |
| |
| |
| |
| |
| |
HWPTA+777| |
+-------------------------------------+
Note: Approximately 1/4 of the UPT is used for hardware
cells, leaving the rest available to software.
The monitor currently uses this area to house the
first page of the PSB table. (See PSB table
description.)
Page 242
USER-PG-MAP-TBL
User Page Map Table. This 512%-word swappable table, holds
or points to other tables that hold all of the mapping
information needed by the firmware to translate user mode
virtual addresses in a given section into physical memory
addresses. It is pointed to by an entry in the forks'
section table in its User Process Table (UPT). (See UPT
table description.)
The User Page Map, indexed by a 9 bit virtual page number
(1), contains either the storage address for the virtual
page if the page exists (immediate pointer) or a pointer to
where the storage address resides in another table (shared
or indirect pointer). The storage address can be a memory,
swapping area, or disk page address.
If the Storage address for the virtual page referenced by
the process contains a memory page address (i.e., Storage
Address Bits <12%-17>=0), then the microcode, after copying
this translation information along with the page's access
bits into the CPU's Hardware Page Table (2), concatenates
this memory page number with the index into the page to
compose the complete physical address.
If the storage address for the virtual page referenced does
not contain a memory address (i.e., Storage Address Bits
<12%-17> not equal to 0), or the page is non-existant (i.e.,
Null Pointer word) or the page is being illegally accessed,
the microcode will cause a page trap to the User Process
Table (UPT). The monitor is then invoked to perform the
analysis and resolution of the trap condition.
Defined in: PROLOG
Referenced by: DIAG, FORK, PAGEM, SCHED
Page 243
FORMAT
UPTA* +-------------------------------------------------------+ / \
0| | |
| Immediate Pointer | |
|-------------------------------------------------------| |
|0 2| 3 8| | 12 35| |
| Op |Access Bits | | STGADR | |
| Code | | | Storage Address | |
| 1 | | | | |
|-------------------------------------------------------| |
| or | |
| | |
| Shared Pointer | |
|-------------------------------------------------------| |
|0 2 |3 8| |18 35| |
| Op | Access | | SPTX | |
| Code| Bits | | SPT. index |
| 2 | | | (Holds Pg's Stor Adr.) |Virtual
|-------------------------------------------------------| Pg#
| or |(0%-777
| | octal)
| Indirect Pointer |
|-------------------------------------------------------| |
|0 2 |3 8 |9 17 |18 35 | |
| Op | Access | IPPGN | SPTX | |
| Code| Bits | PN | SPT index | |
| 3 | | | (Holds Pg Tbl's Stor. Adr)| |
|-------------------------------------------------------| |
| or | |
| | |
| Null Pointer | |
|-------------------------------------------------------| |
|0 2 |3 8| | |
|Op |Access Bits| 0 (Nonexistent Pg) | |
|Code | | | |
| 0 | 0 | | |
|-------------------------------------------------------| |
| . | |
| . | |
| . | \ /
+-------------------------------------------------------+
* UPTA is the monitor's symbol used when it wishes to
reference the current user's page map table for section 0.
Page 244
(1) A fork's virtual 18%-bit address within a section
is viewed as an address within a 512%-word page,
(i.e., virtual page number %- 9 bits), Index into
page 9%-bits.
(2) This 512%-word table is examined first by the
microcode for the virtual page translation
information. If not there, it then goes to
the fork's UPTA in memory.
0 2 3 4 5 6 7 8 9 35
+-------------------------------------------------------+
Page Pointer | | | | | | | |Dependent on Pointer Type in Bits <0%-2>|
Word +-------------------------------------------------------+
Symbol Bits Meaning
PTRCOD 0%-2 Operation Code for the page
pointer type
IMMCOD = 1 Immediate Pointer
SHRCOD = 2 Share Pointer
INDCOD = 3 Indirect
PTBUB 3 Public Bit
PTWR 4 Write Access
PTSOFT 5 Software Bit
PTCACH 6 Cache Bit
PTCPY 7 Copy-on-Write (Software Only)
PTSECM 8 Section is mapped
PTLOK 9 Page is Locked (Immediate
Pointer only)
Page 245
Pointer Types:
0 2 3 8 9 11 2 3 4 5 6 7 18 35
+-------------------------------------------------+
Immediate Pointer | 1 |Access Bits| | | | | | | | |
+-------------------------------------------------+
Symbol Bits Pointer Meaning
0%-8 See above
STORAGE ADDRESS
12%-35 STGADR Storage address
(Interpretation follows)
NCORTM 12%-17 Non%-Core Test Mask yielding
type of storage.
Bits <12%-17>=0 =>
Bits <18%-35>=Memory
Pg Adr.
Bits <12%-17> not equal 0 =>
Bits <18%-35>=Drum/DSK
Adr.
DSKAB 14 Storage address is a disk
address
DSKNB 15 Temporary bit used with DSKAB
to say that disk address is
newly assigned.
DRMAB 16 Storage address is a drum
address
DRMOB 17 Used with DRMAB to indicate
that the swapping area has
overflowed to the disk file
system. (Since TOPS%-20
currently uses only the disk
file system for swapping, a
drum storage address will
always have bits 16 & 17 set.)
Page 246
UAABC 17&35 Temporary bit used by the
monitor's page trap handler
when a copy%-on%-write page
trap has occurred. If the
page to be copied is a drum
address, it will be faulted
in before these bits are used,
avoiding conflict over bit 17.
These bits will signify to a
lower level routine, SWPIN,
that the page just gotten from
the free list has no backup
address and that it is to get
a copy of another page.
0 2 3 8 9 11 2 3 4 5 6 7 18 35
+-------------------------------------------------+
Null Pointer | 0 |Access Bits| | | | | | | | |
+-------------------------------------------------+
Symbol Bits Meaning
0-8 These bits will have a value
of 0 for the Null Pointer
case.
UAAB 17 Temporary bit used by the
monitor's page trap handler
to say that the page has no
assigned backup address on
disk/drum.
Page 247
0 1 2 3 8 18 35
+---------------------------------------------------+
Shared Pointer | 2 |Access| | SPTX |
| | Bits| | SPT index |
+---------------------------------------------------+
Bits Pointer Meaning
0-8 See Above
18-35 SPTX The SPT index is used
to obtain from the SPT,
the page's storage
address.
0 1 2 3 8 9 17 18 35
+---------------------------------------------------+
Indirect Pointer | 3 |Access| IPPGN | SPTX |
| | Bits| Page # | SPT index |
+---------------------------------------------------+
Bits Pointer Meaning
0-8 See Above
9-17 IPPGN Page # whose value is used
as an offset into the Page
Table (pointed to by the
SPT table address plus the
SPT index in bits <18-35>)
to obtain the page's trans-
lation information.
18-35 SPTX The SPT index is used to
obtain from the SPT the
page table's storage
address. The table's
address plus the offset
specified in bits <9-17>
holds the virtual page's
translation information.