
*
* Task Table
*
* One entry per active task.  All information
* pertaining to an active task needed while the
* task may be swapped out is contained in this
* table entry.  All other per task data is in
* the per user table (User Table).  There is a max
* number of entries to this table (fixed size).
*

 base 0

* struct task

tslink rmb 2 list link of running tasks
tsslnk rmb 2 list link of sleeping tasks
tsutop rmb 1 physical user top mem page
tsstat rmb 1 * see below *
tsmode rmb 1 * see below *
tsprir rmb 1 priority - negative is low
tsuid rmb 2 user id
tstid rmb 2 unique task id
tstidp rmb 2 parent's task id
tstty rmb 2 controlling terminal
tssgnl rmb 1 signal number sent to task
tsprb rmb 1 task priority bias
tsact rmb 1 task activity counter
tsage rmb 1 task residency age
tsevnt rmb 2 event task is waiting on
tstext rmb 2 pointer to text table entry
tsswap rmb 2 swap address of image
tssize rmb 1 swap image size
tsalrm rmb 2 seconds til alarm

TSKSIZ equ * task structure size
 spc 2,9
* stat codes

TRUN equ 1 running
TSLEEP equ 2 sleep with high priority
TWAIT equ 3 sleep with low priority
TCREAT equ 4 creating task
TTERM equ 5 terminating task
TTRACE equ 6 tracing task
 spc 2,10
* mode codes

TCORE equ %00000001 task in core
TLOCK equ %00000010 task locked in core
TSYSTM equ %00000100 scheduling task
TTRACP equ %00001000 task being traced
TSWAPO equ %00010000 swapping out task
TARGX equ %00100000 expand for args swap
TNOMAP equ %01000000 task map invalid
 pag
