cdc:nos2.source:nam5871:ssspes
Table of Contents
SSSPES
Table Of Contents
- [00002] PROC SSSPES
- [01177] SSSPES - PROGRAM EXECUTION SEQUENCER.
- [01181] PROGRAM EXECUTION SEQUENCER.
- [01206] PROC NETCHEK
- [01207] PROC SSCUTD
- [01208] PROC SSSESP
- [01209] PROC SSSEWP
- [01210] PROC SSSWNR
Source Code
- SSSPES.txt
- *DECK SSSPES
- PROC SSSPES;
- *IF,DEF,IMS
- *TEXT
- #
- ** SERVICES AND SCHEDULING OVERVIEW
- *
- *
- * 1.0 INTRODUCTION
- * 2.0 DESCRIPTION OF SERVICES
- * 2.1 SCHEDULING OF PROCESSES
- * 2.1.1 DESIGN CONSIDERATIONS/PHILOSOPHIES
- * 2.1.2 STATUS WORK LIST ENTRY (SWLE)
- * 2.1.3 WORK LIST ENTRY (WLE)
- * 2.2 TABLE MANAGER (QUEUE MANAGER)
- * 2.3 OVERLAY LOADING
- * 2.4 TIMER SERVICES
- * 2.5 UTILITIES
- * 2.5.1 BIT MANIPULATION
- * 2.5.2 CHARACTER CONVERSION
- * 2.5.3 FILE FUNCTIONS
- * 2.5.4 COMMAND PARSER/RECOGNIZER
- * 2.5.5 AIP INTERFACE
- * 3.0 DECK/ROUTINE NAMING CONVENTIONS
- * 4.0 STRUCTURE CHARTS
- * 4.1 AIP INTERFACE ROUTINE
- * 4.2 CLOCK/TIMER ROUTINES
- * 4.3 OVERLAY MANAGEMENT ROUTINES
- * 4.4 COMMAND RECOGNITION ROUTINES
- * 4.5 SEQUENCE ROUTINES
- * 4.6 TABLE/QUEUE MANAGER ROUTINES
- * 5.0 TABLE STRUCTURES
- * 5.1 POINTER TABLE
- * 5.2 WORKLIST REQUEST QUEUE
- * 5.3 WORKLIST DEFINITION TABLE
- * 5.4 QUEUE TO WORKLIST DEFINITION TABLE
- * 5.5 STATUS WORKLIST DEFINITION
- * 5.6 OVERLAY DEFINITION TABLE
- * 5.7 OVERLAY CONTROL ITEMS
- * 5.8 OVERLAY REQUEST TABLE
- * 5.9 ROLLOUT TABLE
- * 5.10 TIMER REQUEST BLOCK
- * 5.11 CURRENT TIME AND DATE
- * 5.12 TYPICAL QUEUE ENTRY
- * 6.0 DEBUGGING TIPS
- *E
- *
- *
- * 1.0 INTRODUCTION
- *
- * SERVICES AND SCHEDULING IS A SET OF ROUTINES THAT ACT AS THE
- * EXECUTIVE AND PROVIDES SERVICES/UTILITIES FOR NVF AND CS. THE
- * FOLLOWING IS AN OVERVIEW OF THESE SERVICES, THE CONVENTIONS USED
- * IN NAMING THE ROUTINES, STRUCTURE CHARTS, AND THINGS TO LOOK FOR
- * WHEN ANALYZING A CS OR NVF DUMP.
- *
- *
- * 2.0 DESCRIPTION OF SERVICES
- *
- * 2.1 SCHEDULING OF PROCESSES
- *
- * 2.1.1 DESIGN CONSIDERATIONS/PHILOSOPHIES
- *
- * THE PROGRAM (NVF OR CS) IS VIEWED BY SERVICES AND SCHEDULING AS A
- * SET OF INDEPENDENT PROCESSORS. PROGRAM OPERATION IS DATA DRIVEN
- * OR TRANSACTION DRIVEN, I.E. - THE PRESENCE OF DATA IS SUFFICIENT
- * TO INDICATE THAT A PROCESSOR OF THAT DATA MUST BE STARTED UP. NO
- * DATA MEANS THERE IS NO WORK TO DO.
- *
- * KEY TO THE UNDERSTANDING THESE PROGRAMS IS THEIR TRANSACTION
- * PROCESSING NATURE AND THE DECOUPLING OF PROGRAM PARTS. SERVICE
- * MESSAGES AND DATA ARE ROUTED TO PROCESSES VIA ENTRIES IN THE
- * APPROPRIATE QUEUE. THESE PROCESSES ARE PREPARED TO HANDLE THE
- * POSSIBILITIES AT A GIVEN POINT IN THE OVERALL PROTOCOL.
- *
- * THE SERVICE MESSAGES AND DATA FOR A PARTICULAR CONNECTION HAVE
- * VERY LIMITED ASSOCIATION WITH OTHER CONNECTIONS AND PROTOCOLS
- * (APPLICATION NETTING OFF, FAILING, ETC.) SO THIS DECOUPLING WILL
- * WORK. THE OVERALL PROGRAM OPERATION IS LOOSELY TIED TOGETHER.
- * EXAMINATION OF THE VARIOUS PROTOCOLS AND THE UNDERSTANDING OF
- * THEIR RELATIONSHIPS, IF ANY, AND POSSIBLE INTERACTION WAS DONE AT
- * DESIGN TIME TO ELIMINATE ANY PROBLEMS.
- *
- * THE SCHEDULING OF PROCESSES IS DONE BY TWO SEPERATE MECHANISMS:
- * STATUS WORK LIST ENTRIES AND WORK LIST ENTRIES. THESE TWO METHODS
- * ARE EXPLAINED IN THE NEXT TWO SECTIONS.
- *
- * 2.1.2 STATUS WORK LIST ENTRY (SWLE)
- *
- * STATUS WORK LIST ENTRIES ARE USED BY PROCESSES THAT MUST WAIT FOR
- * EXTERNAL REQUESTS TO COMPLETE BEFORE PROCEEDING. ONCE THE REQUEST
- * IS COMPLETE, A NEW REQUEST FOR THE SERVICE IS MADE, IF ONE IS
- * AVAILABLE. THE PROCESSES CAN BE THOUGHT OF AS SEPARATE PROGRAMS
- * THAT RUN CONSTANTLY ONCE THEY ARE STARTED AT INITIALIZATION TIME.
- * THESE PROGRAMS DETERMINE THEMSELVES WHAT INDICATES THAT A REQUEST
- * IS COMPLETE AND CONVEYS THIS TO THE STATUS WORK LIST PROCESSOR
- * WHEN IT GOES INTO A STATE OF WAITING.
- *
- * THE STATUS WORKLIST PROCESSOR DOES NOT KNOW WHAT THE PROGRAM IS
- * DOING. IT IS SIMPLY LOOKING FOR A CHANGE IN THE INITIAL VALUE
- * WHEN THE SWLE REQUEST IS MADE. A CHANGE IN THE MEMORY LOCATION
- * THAT IT IS MONITORING WILL PROMPT IT TO START UP THE WAITING
- * PROGRAM. (NOTE: CURRENTLY NO MASKING OR IGNORING PARTS OF A
- * WATCHED WORD IS PLANNED, BUT COULD BE IMPLEMENTED EASILY IF FOUND
- * NECESSARY.)
- *
- * AN EXAMPLE MIGHT BE A PROCESS THAT READS RECORDS FROM A FILE UPON
- * REQUEST. IN THE BEGINNING THE PROCESSOR, AT INITIALIZATION TIME,
- * IS CALLED AND DETERMINES THAT THERE IS NO WORK IN PROGRESS AND NO
- * REQUESTS TO START SO IT GOES INTO WAIT MODE AND INFORMS THE STATUS
- * WORKLIST PROCESSOR TO RESTART IT WHEN AN ENTRY IS PLACED IN ITS
- * INPUT QUEUE. AT THIS POINT IT IS NOT EXECUTING AS THE STATUS WORK
- * LIST PROCESSOR IS DOING THE CHECKING FOR WORK TO BE DONE. IN
- * PARTICULAR THE SWLP IS CHECKING THE ENTRY COUNT OF THE QUEUE TO
- * BE NON-ZERO. ONCE AN ENTRY IS MADE IN THE QUEUE THE COUNTER IS
- * BUMPED AND THE SWLP STARTS UP THE PROCESSOR. THE PROCESSOR
- * REALIZES THAT A REQUEST IS IN ITS INPUT QUEUE AND STARTS THE READ
- * REQUEST (CALLING CIO TO READ THE RECORD), GOES INTO WAIT MODE,
- * AND INFORMS THE SWLP TO WATCH THE FET FOR EITHER A CHANGE IN THE
- * *IN* POINTER OR THE COMPLETE BIT BEING SET.
- *
- * THE PROCESSOR AT THIS POINT DOES NOT CARE ABOUT ADDITIONAL
- * REQUESTS IN ITS INPUT QUEUE SINCE IT HAS ONE IN PROGRESS. AGAIN,
- * IT IS NOT EXECUTING AS THE SWLP IS CHECKING FOR CHANGES IN THE CIO
- * FET. THE CHECKING DONE BY THE SWLP IS DONE USING LESS RESOURCES
- * AND MORE EFFICIENTLY THAN IF THE PROCESSOR WAS CALLED AGAIN AND
- * AGAIN TO CHECK THE STATUS OF THE FET. WHEN THE READ REQUEST HAS
- * BEEN AT LEAST PARTIALLY PROCESSED (CIO HAS MOVED THE *IN* POINTER)
- * THE PROCESSOR MOVES THE DATA FROM THE CIO BUFFER AND EITHER MAKES
- * A NEW READ REQUEST, WAITS FOR THE ENTIRE REQUEST UNTIL CIO IS
- * FINISHED, OR WAITS FOR A NEW REQUEST IN ITS INPUT Q, WHICHEVER IT
- * DETERMINES IS THE APPROPRIATE ACTION TO TAKE.
- *
- * 2.1.3 WORK LIST ENTRY (WLE)
- *
- * WORK LIST ENTRIES PROVIDE A METHOD OF PROCESSING TRANSACTIONS THAT
- * ALLOW THE DECOUPLING OF VARIOUS PROCESSES AND EXTERNAL SERVICES
- * NEEDED TO COMPLETE A TRANSACTION. THE WHOLE PROCESS WORKS WITH
- * JUST A FEW RULES:
- *
- * 1. WHEN THE FIRST ENTRY IN THE QUEUE IS MADE, A WLE REQUEST IS
- * MADE TO CAUSE THE STARTING OF THE PROCESSOR OF THAT QUEUE.
- * (ONLY ONE WLE REQUEST IS NEEDED FOR A QUEUE)
- *
- * 2. A PROCESSOR OF A QUEUE MUST EITHER EMPTY ALL OF ITS INPUT QUEUE
- * OR MAKE ANOTHER WLE REQUEST TO RESTART ITSELF.
- *
- * 3. IF THERE ARE ANY TIMING RELATIONSHIPS BETWEEN INPUTS TO A
- * PROCESSOR THAT MUST BE PRESERVED, THEN THE TIME COUPLED
- * REQUESTS MUST BE QUEUED AND PROCESSED BY THE SAME PROCESSOR.
- *
- * 4. A PROCESSOR SHOULD ONLY RUN FOR A SHORT TIME. IF IT HAS TOO
- * MANY REQUESTS IN ITS QUEUE, THEN IT SHOULD STOP AND MAKE A WLE
- * REQUEST FOR ITSELF TO START UP AT A LATER TIME. THIS WILL
- * ALLOW THE PROCESSORS OF ITS OUTPUT TO RUN AND ALSO ALLOW ANY
- * SWLE REQUESTS TO BE COMPLETED IN A TIMELY MANNER.
- *
- * A PROCESSOR-S JOB IS TO TAKE ENTRIES FROM ITS INPUT QUEUE, PROCESS
- * THEM, AND PLACE THE RESULTS IN OUTPUT QUEUES. PROCESSES THAT ARE
- * NEAR THE OUTPUT SIDE HAVE THE HIGHEST PRIORITY. THIS IS TO FREE
- * UP FIELD LENGTH BY PASSING DATA OUT OF THE PROGRAM. WHEN
- * SELECTING THE NEXT WLE TO PROCESS THE HIGHEST PRIORITY REQUEST IS
- * DONE REGARDLESS OF REQUEST ARRIVAL TIME. NO PROCESS, IN MAKING
- * A QUEUE ENTRY FOR ADDITIONAL PROCESSING, CAN ASSUME OR REQUIRE
- * THAT A PROCESS RUN NEXT, JUST THAT SOMETIMES IT WILL. THE WLE
- * CONTAINS NO DATA, IT IS JUST A SIGNAL TO START THE PROCESS, DATA
- * IS IN THE QUEUE FOR THE PROCESSOR.
- *
- * 2.2 TABLE MANAGER (QUEUE MANAGER)
- *
- * THE TABLE MANAGER, WRITTEN ORIGINALLY BY R. H. GOODELL FOR USE
- * WITH *DDLCG*, IS A ROUGH EQUIVALENT TO THE STANDARD COMMON DECK
- * *COMCMTP* WHICH CONTAINS THE COMPASS MANAGED TABLES PACKAGE.
- * THERE IS NO QUEUE MANAGER AS SUCH IN THAT THE ONLY TASKS
- * IMPLEMENTED IS THE PLACING OF ENTRIES IN QUEUES, REMOVING ENTRIES
- * FROM QUEUES, AND REQUESTING PROCESSING OF A QUEUE VIA A WLE
- * REQUEST, IF NEEDED. BOTH TABLES AND QUEUES ARE MAINTAINED
- * BY THE TABLE MANAGER.
- *
- * BASICALLY, THE TABLE MANAGER MAINTAINS A SET OF BASED ARRAY
- * POINTERS WHICH ALL POINTS TO THE MANAGED TABLE AREA IN HIGH CORE.
- * EACH ONE POINTING TO THE WORD WHERE THE TABLE BEGINS. FOLLOWING
- * EACH POINTER IS A WORD CONTAINING THE NUMBER OF WORDS ALLOCATED
- * FOR THAT PARTICULAR TABLE. THUS, IN DEFINING THE TABLES, EACH
- * TABLE IS DEFINED BY A BASED ARRAY FOLLOWED BY A ITEM DECLARATION.
- *
- * A CONCERTED EFFORT WAS MADE TO USE ONLY FIXED SIZED ENTRIES IN THE
- * MANAGED TABLES DUE TO THE POTENTIAL MAINTENANCE PROBLEMS OF BASING
- * ARRAYS NECESSARY TO HANDLE VARIABLE SIZED ENTRIES.
- *
- * THE TABLE MANAGER AUTOMATICALLY KEEPS THE BASED ARRAY POINTERS
- * UPDATED AND IF THE ENTRY SIZE IS FIXED, THEN ALL ENTRIES CAN BE
- * ACCESSED SAFELY BY JUST SUBSCRIPTING AND THE PROGRAMMER NEED NOT
- * BE CONCERNED WITH KEEPING THE BASED ARRAY POINTED CORRECTLY.
- *
- * QUEUES ARE GENERALLY NOT FIXED ENTRY SIZE. NON-FIXED ENTRY SIZED
- * MANAGED TABLES MUST BE HANDLED DIFFERENTLY AND MUCH CARE MUST BE
- * TAKEN TO HAVE BASED ARRAYS POINTED CORRECTLY. WHERE POSSIBLE
- * VARIABLE ENTRY SIZED MANAGED TABLES ARE HANDLED BY USE OF AN ENTRY
- * SIZE WORD FOR EACH ENTRY. QUEUE ENTRIES ALL HAVE A WORD COUNT
- * WORD, AN APPLICATION HEADER BLOCK WORD AND THE BODY OF THE ENTRY.
- *
- * THE ONLY EXTENSION TO THE MANAGER, FROM THE ORIGINAL VERSION, IS
- * ADDING WORDS AND REMOVING WORDS IN THE MIDDLE OF A TABLE. THIS IS
- * NEEDED TO ALLOW CERTAIN TABLES TO MAINTAIN ENTRIES IN SORT ORDER,
- * SUCH AS TIMER REQUESTS.
- *
- * 2.3 OVERLAY LOADING
- *
- * OVERLAY LOADING IS DONE VIA CIO FROM A LOCAL FILE. THIS IS SO
- * LOADING CAN BE DONE WITHOUT RECALL SINCE NOS WILL NOT ALLOW LOADER
- * CALLS WITHOUT RECALL FROM PROGRAMS OTHER THAN SUBSYSTEMS. THE
- * INABILITY TO LOAD AN OVERLAY WITHOUT RECALL WOULD DISRUPT AND STOP
- * OTHER EXTERNAL REQUESTS THAT ARE BEING DONE WITHOUT RECALL. IN
- * ADDITION, DATA/TABLES WHICH ARE ONLY USED BY AN OVERLAY IS ALREADY
- * IN THE OVERLAY LOADED AS IT IS INSERTED AT INITIALIZATION TIME
- * WHEN THE OVERLAY IS WRITTEN TO THE LOCAL FILE. EXAMPLES ARE
- * INCALL AND OUTCALL BLOCKS IN NVF AND THE CROSS REFERENCE TABLES IN
- * CS.
- *
- * WHEN AN OVERLAY HAS BEEN LOADED, THE OVERLAY IS USED UNTIL ALL
- * WORK THAT CAN BE DONE BY IT IS COMPLETED AND A DIFFERENT OVERLAY
- * IS NEEDED. THE EXECUTION OF OVERLAY CODE IS DONE IN SUCH A MANNER
- * THAT IT DOES NOT LOCK OUT HIGHER PRIORITY ACTIVITIES.
- *
- * 2.4 TIMER SERVICES
- *
- * TIMER REQUESTS ARE DONE VIA A TIMER REQUEST BLOCK. THE BLOCK
- * CONTAINS SUCH INFORMATION AS HOW MANY SECONDS TO WAIT (DELAY TIME)
- * AND THE NUMBER OF THE QUEUE IN WHICH TO PLACE THE BLOCK ONCE THE
- * TIME HAS EXPIRED (PAST THE FIRE-TIME).
- *
- * THE BLOCK IS ASSIGNED A CANCELLATION NUMBER WHEN THE REQUEST IS
- * RECEIVED. THE NUMBER IS PASSED BACK TO THE REQUESTING PROC TO BE
- * USED LATER TO IDENTIFY THE ENTRY IF THE BLOCK/REQUEST IS TO BE
- * CANCELLED. THE BLOCK IS PLACED IN A TIMER REQUEST QUEUE. THE
- * QUEUE IS SORTED IN ASCENDING ORDER BY FIRE-TIME. THE FIRE TIME
- * IS CALCUALTED TO BE THE DELAY-TIME PLUS THE CURRENT TIME.
- *
- * AGAIN, ONCE THE FIRE TIME IS REACHED FOR A BLOCK, THE BLOCK IS
- * REMOVE FROM THE TIMER REQUEST QUEUE AND PLACED IN THE QUEUE
- * SPECIFIED IN THE BLOCK.
- *
- * THE UNUSED PORTIONS OF THE BLOCK CAN BE USED BY THE REQUESTING
- * PROC TO STORE SUCH THINGS AS AN ACN VALUE OR A SERVICE MESSAGE
- * I.D.
- *
- * 2.5 UTILITIES
- *
- * 2.5.1 BIT MANIPULATION
- *
- * THESE PROCEDURES TAKE CARE OF FUNCTIONS NEEDED AT THE BIT LEVEL.
- * SOME FUNCTIONS INCLUDE SETTING AND CLEARING OF FLAGS IN A BIT MAP,
- * STORE FIELDS THAT ARE LESS THAN SIXTY BITS OR CROSS WORD
- * BOUNDRIES, AND INDICATE WHICH FLAG IS SET IN A BIT MAP.
- *
- * 2.5.2 CHARACTER CONVERSION
- *
- * THESE PROCEDURES CONVERT DISPLAY CODED CHARACTERS TO ASCII
- * CHARACTERS AND VICE VERSA.
- *
- * 2.5.3 FILE FUNCTIONS
- *
- * THE ONLY PROCEDURE DEFINED PRESENTLY IS ONE TO DETERMINE HOW MANY
- * USED AND UNUSED WORDS ARE CURRENTLY CONTAINED IN A SPECIFIED CIO
- * BUFFER.
- *
- * 2.5.4 COMMAND PARSER/RECOGNIZER
- *
- * THE COMMAND RECOGNIZER IS USED BY NVF AND CS TO DO SYNTAX AND
- * SEMANTIC CHECKING OF OPERATOR COMMANDS. THE RECOGNIZER IS PASSED
- * A COMMAND SYNTAX TABLE, WHICH DEFINES THE LEGAL COMMANDS, AND THE
- * OPERATOR TYPE-IN. WHAT IT RETURNS IS AN ERROR CODE VALUE AND A
- * PARAMETER LIST. THE PARAMETER LIST IS THE COMMAND IN A STRUCTURED
- * FORMAT.
- *
- * 2.5.5 AIP INTERFACE
- *
- * THE MEANS BY WHICH DATA IS PASSED BETWEEN NAM AND NVF/CS IS TAKEN
- * CARE OF BY THE AIP MONITOR. THE AIP MONITOR IS A STATUS LIST
- * DRIVEN PROCEDURE. FOR RECEIVING DATA THE NSUP WORD IS MONITORED
- * AND IF IT CHANGES, THEN THE AIP MONITOR GETS THE DATA FROM NAM AND
- * CALLS A PROC TO DISPATCH IT TO THE APPROPRIATE NVF/CS QUEUE. FOR
- * SEND DATA NVF/CS MAINTAINS AN OUTGOING TRAFFIC QUEUE. ONCE THERE
- * ARE ONE OR MORE ENTRIES IN THE QUEUE, THE AIP MONITOR REMOVES EACH
- * ENTRY AND SENDS IT TO NAM.
- *
- * 3.0 DECK/ROUTINE NAMING CONVENTIONS
- *
- * SERVICES AND SCHEDULING ROUTINE NAMES ARE ALL PREFIXED BY *SS*.
- * THE NAMES HAVE THE FOLLOWING FORMAT:
- *
- * SSYZZZ
- *
- * WHERE:
- * Y = A, AIP INTERFACE ROUTINES
- * B, BIT MANIPULATION ROUTINES
- * C, CLOCK/TIMER ROUTINES
- * D, CHARACTER CONVERSION ROUTINES
- * F, FILE UTILITIES
- * 0, OVERLAY MANAGEMENT ROUTINES
- * R, COMMAND RECOGNITION ROUTINES
- * S, SEQUENCING ROUTINES
- * T, TABLE/QUEUE MANAGEMENT ROUTINES
- *
- * ZZZ = FIRST LETTER OF EACH WORD OF VERB-ADJECTIVE-NOUN DESCRIBING
- * THE ROUTINE.
- *
- * ONE EXAMPLE IS *SSBSBF*. THIS IS A SERVICES AND SCHEDULING BIT
- * MANIPULATION ROUTINE, WHERE *SBF* STANDS FOR STORE BIT FIELD.
- * ANOTHER EXAMPLE IS *SSTRQE*. THIS IS A SERVICES AND SCHEDULING
- * TABLE/QUEUE MANAGEMENT ROUTINE, WHERE *RQE* STANDS FOR REMOVE
- * QUEUE ENTRY.
- *
- * THE FOLLOWING IS A LIST OF ALL THE SERVICES AND SCHEDULING
- * ROUTINES GROUPED BY TYPE OF ROUTINE.
- *
- * AIP INTERFACE ROUTINES--
- *
- * SSACNI - CONTROL NETWORK INTERFACE
- *
- * BIT MANIPULATION ROUTINES--
- *
- * SSBCBW - CLEAR BIT IN WORD
- * SSBFPB - FIND PRIORITY BIT
- * SSBSBW - SET BIT IN WORD
- * SSBTBW - TEST BIT IN WORD
- * SSBEBF - EXTRACT BIT FIELD
- * SSBSBF - STORE BIT FIELD
- *
- * CLOCK/TIME ROUTINES--
- *
- * SSCATR - ACCEPT TIMER REQUEST
- * SSCCTR - CANCEL TIMER REQUEST
- * SSCRTR - RETURN TIMER REQUEST
- * SSCUTD - UPDATE TIME OF DAY
- *
- * CHARACTER CONVERSION ROUTINES--
- *
- * SSDCAD - CONVERT ASCII TO DISPLAY CODE
- * SSDCDA - CONVERT DISPLAY CODE TO ASCII.
- *
- * FILE UTILITIES--
- *
- * SSFCBS - CHECK BUFFER SPACE
- *
- * OVERLAY MANAGEMENT ROUTINES--
- *
- * SSOJOP - JUMP TO OVERLAY PROGRAM
- * SSOCOL - CONTROL OVERLAY LOADING
- * SSOEOP - EXECUTE OVERLAY PROGRAM
- *
- * COMMAND RECOGNITION ROUTINES--
- *
- * SSRGNT - GET NEXT TOKEN
- * SSRRCS - RECOGNIZE COMMAND STRING
- *
- * SEQUENCE ROUTINES--
- *
- * SSSCRR - CALL REQUESTED ROUTINE.
- * SSSPAT - PROCESS ABNORMAL TERMINATION
- * SSSAOR - ACCEPT OVERLAY REQUEST
- * SSSAWR - ACCEPT WORKLIST REQUEST
- * SSSESP - EXECUTE STATUS (WORKLIST) PROGRAM
- * SSSEWP - EXECUTE WORKLIST PROGRAM
- * SSSPES - PROGRAM EXECUTION SEQUENCER
- * SSSPSI - PREPARE STATISTICS INFORMATION.
- * SSSWNR - WAIT FOR NEW REQUEST
- *
- * TABLE/QUEUE MANAGEMENT ROUTINES--
- *
- * SSTRCM - REQUEST CENTRAL MEMORY
- * SSTAQE - ACCEPT QUEUE ENTRY
- * SSTRQE - REMOVE QUEUE ENTRY
- * SSTTMR - TABLE MANAGEMENT ROUTINES.
- * SSTASU - ACCUMULATE STORAGE USED
- * SSTATS - ALLOCATE TABLE SPACE
- * SSTDFL - DECREASE FIELD LENGTH
- * SSTETS - ENLARGE TABLE SPACE
- * SSTITM - INITIALIZE TABLE MANAGER
- * SSTRTS - REMOVE TABLE SPACE
- * SSTSDA - SET DYNAMIC AREA
- *
- *E
- * 4.0 STRUCTURE CHARTS
- *
- * THE FOLLOWING ARE STRUCTURE CHARTS FOR SERVICES AND SCHEDULING.
- * NOT ALL THE ROUTINES ARE SHOWN, ONLY THOSE THAT CALL OTHER
- * ROUTINES.
- *
- *
- * 4.1 AIP INTERFACE ROUTINE
- *
- *
- * +-------------+
- * I I
- * +----------->I CSNVDSP I
- * I I I
- * I +-------------+
- * I
- * I +-------------+
- * I I I
- * +----------->I NETGETL I
- * I I I
- * I +-------------+
- * I
- * +-----------+ I +-------------+
- * I I I I I
- * I SSACNI +--------+----------->I NETPUT I
- * I I I I I
- * +-----------+ I +-------------+
- * I
- * I +-------------+
- * I I I
- * +----------->I NETREL I
- * I I I
- * I +-------------+
- * I
- * I +-------------+
- * I I I
- * +----------->I SSTRQE I
- * I I
- * +-------------+
- *
- *
- *
- * SSACNI -- CONTROL NETWORK INTERFACE
- * CSNVDSP -- CS/NVF DISPATCH NETWORK TRAFFIC
- * NETGETL -- RECEIVE NETWORK TRAFFIC
- * NETPUT -- SEND NETWORK TRAFFIC
- * NETREL -- RELEASE DEBUG TRACE FILE
- * SSTRQE -- REMOVE QUEUE ENTRY
- *E
- * 4.2 CLOCK/TIMER ROUTINES
- *
- * +-------------+
- * I I
- * I SSCATR I
- * I I
- * +------+------+
- * I
- * +----------------+-----------------+
- * I I
- * +------+-----+ +------+------+
- * I I I I
- * I SSCUTD I I SSTETS I
- * I I I I
- * +------------+ +-------------+
- *
- *
- *
- *
- * +-------------+ +-------------+
- * I I I I
- * I SSCCTR +--------->I SSTRTS I
- * I I I I
- * +-------------+ +-------------+
- *
- *
- *
- *
- *
- * +-------------+
- * I I
- * I SSCRTR I
- * I I
- * +-------------+
- * I
- * +----------------+----------------+
- * I I
- * +------+------+ +------+------+
- * I I I I
- * I SSTAQE I I SSTRQE I
- * I I I I
- * +-------------+ +-------------+
- *
- *
- * SSCATR -- ACCEPT TIMER REQUEST
- * SSCUTD -- UPDATE TIME OF DAY
- * SSTETS -- ENLARGE TABLE SPACE
- * SSCCTR -- CANCEL TIMER REQUEST
- * SSCTRS -- REMOVE TABLE SPACE
- * SSCRTR -- RETURN TIMER REQUEST
- * SSTAQE -- ACCEPT QUEUE ENTRY
- * SSTRQE -- REMOVE QUEUE ENTRY
- *E
- *
- *
- * 4.2 CLOCK/TIMER ROUTINES (CONT.)
- *
- *
- *
- *
- *
- * +-------------+
- * I I
- * +-------------->I PDATE I
- * I I I
- * I +-------------+
- * I
- * I +-------------+
- * I I I
- * +-------------->I DATE I
- * I I I
- * I +-------------+
- * I
- * +-------------+ I +-------------+
- * I I I I I
- * I SSCUTD +-------+-------------->I CLOCK I
- * I I I I I
- * +-------------+ I +-------------+
- * I
- * I +-------------+
- * I I I
- * +-------------->I RTIME I
- * I I I
- * I +-------------+
- * I
- * I +-------------+
- * I I I
- * +-------------->I SSSAWR I
- * I I
- * +-------------+
- *
- *
- * SSCUTD -- UPDATE TIME OF DAY
- * PDATE -- GET PACKED DATE AND TIME
- * DATE -- GET DATE
- * CLOCK -- GET TIME (DISPLAY CODE)
- * RTIME -- GET AMOUNT OF TIME SINCE DEADSTART
- * SSSAWR -- ACCEPT WORKLIST REQUEST
- *E
- * 4.3 OVERLAY MANAGEMENT ROUTINES
- *
- *
- *
- * +-------------+
- * I I
- * I SSOCOL I
- * I I
- * +------+------+
- * I
- * +--------------------+-----------------------+
- * I I I
- * +------+------+ +------+------+ +------+------
- * I I I I I I
- * I READ I I SSSAWR I I SSSTSDA I
- * I I I I I I
- * +-------------+ +-------------+ +-------------+
- *
- *
- * +-------------+
- * I I
- * +--------->I SSBCBW I
- * I I I
- * I +-------------+
- * I
- * I +-------------+
- * I I I
- * +--------->I SSBFPB I
- * +-------------+ I I I
- * I I I +-------------+
- * I SSOEOP +----------+
- * I I I +-------------+
- * +-------------+ I I I
- * +--------->I SSOJOP I
- * I I I
- * I +-------------+
- * I
- * I +-------------+
- * I I I
- * +--------->I SSSAWR I
- * I I
- * +-------------+
- *
- *
- * SSOCOL -- CONTROL OVERLAY LOADING
- * READ -- INITIATE CIO READ ON FILE
- * SSSAWR -- ACCEPT WORKLIST REQUEST
- * SSTSDA -- SET DYNAMIC TABLE AREA
- * SSOEOP -- EXECUTE OVERLAY PROGRAM
- * SSBCBW -- CLEAR BIT IN WORD
- * SSBFPB -- FIND PRIORITY BIT
- * SSOJOP -- JUMP TO OVERLAY PROGRAM
- *E
- *
- *
- * 4.4 COMMAND RECOGNITION ROUTINES
- *
- *
- *
- *
- * +-------------+
- * I I
- * I SSRGNT I
- * I I
- * +------+------+
- * I
- * +---------------+---------------+
- * I I
- * +------+------+ +------+------+
- * I I I I
- * I SSBEBF I I SSBSBF I
- * I I I I
- * +-------------+ +-------------+
- *
- *
- *
- * +-------------+
- * I I
- * I SSRRCS I
- * I I
- * +------+------+
- * I
- * +-----------------+------------------+
- * I I I
- * +------+------+ +------+------+ +------+-------+
- * I I I I I I
- * I SSRGNT I I SSBEBF I I SSBSBF I
- * I I I I I I
- * +-------------+ +-------------+ +--------------+
- *
- *
- * SSRGNT -- GET NEXT TOKEN
- * SSBEBF -- EXTRACT BIT FIELD
- * SSBSBF -- STORE BIT FIELD
- * SSRRCS -- RECOGNIZE COMMAND STRING
- *E
- *
- *
- * 4.5 SEQUENCE ROUTINES
- *
- *
- *
- *
- * +-------------+ +-------------+
- * I I I I
- * I SSSAOR +------------>I SSBSBW I
- * I I I I
- * +-------------+ +-------------+
- *
- *
- *
- *
- *
- * +-------------+
- * I I
- * I SSSAWR I
- * I I
- * +------+------+
- * I
- * +--------------+---------------+
- * I I
- * +------+-------+ +------+------+
- * I I I I
- * I SSSAOR I I SSBSBW I
- * I I I I
- * +--------------+ +-------------+
- *
- *
- *
- *
- *
- *
- * +-------------+ +-------------+
- * I I I I
- * I SSSESP +--------------->I SSSCRR I
- * I I I I
- * +-------------+ +-------------+
- *
- *
- * SSSAOR -- ACCEPT OVERLAY REQUEST
- * SSSCRR -- CALL REQUESTED ROUTINE
- * SSSAWR -- ACCEPT WORKLIST REQUEST
- * SSBSBW -- SET BIT IN WORD
- * SSSESP -- EXECUTE STATUS WORKLIST PROGRAM
- *E
- *
- *
- * 4.5 SEQUENCE ROUTINES (CONT.)
- *
- *
- *
- *
- * +-------------+
- * I I
- * I SSSEWP I
- * I I
- * +------+------+
- * I
- * +-----------------+------------------+
- * I I I
- * +------+------+ +------+------+ +------+------+
- * I I I I I I
- * I SSSCRR I I SSBCBW I I SSBFBP I
- * I I I I I I
- * +-------------+ +-------------+ +-------------+
- *
- *
- *
- * +-------------+
- * I I
- * I SSSPSI I
- * I I
- * +------+------+
- * I
- * +---------------+-----------------+
- * I I
- * +------+------+ +------+------+
- * I I I I
- * I NETLGS I I XCDD I
- * I I I I
- * +-------------+ +-------------+
- *
- *
- * SSSEWP -- EXECUTE WORKLIST PROGRAM
- * SSSCRR -- CALL REQUESTED ROUTINE
- * SSBCBW -- CLEAR BIT IN WORD
- * SSBFPB -- FIND PRIORITY BIT
- * SSSPSI -- PREPARE STATISTICS INFORMATION
- * NETLGS -- LOG NETWORK STATISTICS
- * XCDD -- CONVERT INTEGER TO DISPLAY CODE DECIMAL
- *E
- *
- *
- * 4.5 SEQUENCE ROUTINES (CONT.)
- *
- *
- *
- *
- *
- * +-------------+
- * I I
- * +------------>I MESSAGE I
- * I I I
- * I +-------------+
- * I
- * I +-------------+
- * I I I
- * +------------>I REPRIEVE I
- * I I I
- * I +-------------+
- * I
- * +-------------+ I +-------------+
- * I I I I I
- * I SSSPAT +------+------------>I DMB I
- * I I I I I
- * +-------------+ I +-------------+
- * I
- * I +-------------+
- * I I I
- * +------------>I NETSTC I
- * I I I
- * I +-------------+
- * I
- * I +-------------+
- * I I I
- * +------------>I WRITER I
- * I I
- * +-------------+
- *
- *
- * SSSPAT -- PROCESS ABNORMAL TERMINATION
- * MESSAGE -- SEND MESSAGE TO DAYFILE
- * REPRIEVE -- REPRIEVE PROCESSOR
- * DMB -- GENERATE BINARY DUMP
- * NETSTC -- FLUSH NAM STATISTICS
- * WRITER -- FLUSH CIO BUFFER AND EOR ON FILE
- *E
- *
- *
- *
- * 4.5 SEQUENCE ROUTINES (CONT.)
- *
- *
- *
- *
- *
- * +-------------+
- * I I
- * +------------>I NETCHEK I
- * I I I
- * I +-------------+
- * I
- * I +-------------+
- * I I I
- * +------------>I SSCUTD I
- * I I I
- * I +-------------+
- * I
- * +-------------+ I +-------------+
- * I I I I I
- * I SSSPES +----+------------>I SSSESP I
- * I I I I I
- * +-------------+ I +-------------+
- * I
- * I +-------------+
- * I I I
- * +------------>I SSSEWP I
- * I I I
- * I +-------------+
- * I
- * I +-------------+
- * I I I
- * +------------>I SSSWNR I
- * I I
- * +-------------+
- *
- *
- * SSSPES -- PROGRAM EXECUTION SEQUENCE
- * NETCHEK - UPDATE NSUP WORD
- * SSCUTD -- UPDATE TIME OF DAY
- * SSSESP -- EXECUTE STATUS WORKLIST PROGRAM
- * SSSEWP -- EXECUTE WORKLIST PROGRAM
- * SSSWNR -- WAIT FOR NEW REQUEST
- *E
- *
- *
- * 4.5 SEQUENCE ROUTINES (CONT.)
- *
- *
- *
- *
- *
- *
- * +-------------+
- * I I
- * I SSSWNR I
- * I I
- * +------+------+
- * I
- * +----------------+----------------+
- * I I I
- * +------+------+ +------+------+ +------+------+
- * I I I I I I
- * I NETWAIT I I RECALL I I SSTDFL I
- * I I I I I I
- * +-------------+ +-------------+ +-------------+
- *
- *
- * SSSWNR -- WAIT FOR NEW REQUEST
- * NETWAIT -- REQUEST NAM TO ROLLOUT PROGRAM
- * RECALL -- RETURN CONTROL AFTER COMPLETE BIT IS SET
- * SSTDFL -- DECREASE FIELD LENGTH
- *E
- *
- *
- * 4.6 TABLE/QUEUE MANAGEMENT ROUTINES
- *
- *
- *
- *
- *
- * +-------------+
- * I I
- * I SSTAQE I
- * I I
- * +------+------+
- * I
- * +----------------+----------------+
- * I I I
- * +------+------+ +------+------+ +------+------+
- * I I I I I I
- * I MOVEI I I SSTATS I I SSSAWR I
- * I I I I I I
- * +-------------+ +-------------+ +-------------+
- *
- *
- *
- * +-------------+
- * I I
- * I SSTRQE I
- * I I
- * +------+------+
- * I
- * +------------+------------+
- * I I
- * +------+------+ +------+------+
- * I I I I
- * I MOVEI I I SSTRTS I
- * I I I I
- * +-------------+ +-------------+
- *
- *
- * SSTAQE -- ACCEPT QUEUE ENTRY
- * MOVEI -- MOVE WORDS (INDIRECT ADDRESSING)
- * SSTATS -- ALLOCATE TABLE SPACE
- * SSSAWR -- ACCEPT WORKLIST REQUEST
- * SSTRQE -- REMOVE QUEUE ENTRY
- * SSTRTS -- REMOVE TABLE SPACE
- *E
- *
- *
- * 4.6 TABLE/QUEUE MANAGEMENT ROUTINES (CONT.)
- *
- *
- *
- * +-------------+
- * I I
- * I SSTRTS I
- * I I
- * +------+------+
- * I
- * +------------+------------+
- * I I
- * +------+------+ +------+------+
- * I I I I
- * I MOVEI I I SSTASU I
- * I I I I
- * +-------------+ +-------------+
- *
- *
- *
- * +-------------+
- * I I
- * I SSTSDA I
- * I I
- * +------+------+
- * I
- * +-----------+------------+
- * I I
- * +------+------+ +------+------+
- * I I I I
- * I SSTASU I I RFL I
- * I I I I
- * +-------------+ +-------------+
- *
- *
- * SSTRTS -- REMOVE TABLE SPACE
- * MOVEI -- MOVE WORDS (INDIRECT ADDRESSING)
- * SSTASU -- ACCUMULATE STORAGE USED
- * SSTSDA -- SET DYNAMIC TABLE AREA
- * RFL -- REQUEST FIELD LENGTH
- *
- *E
- * 5.0 TABLE STRUCTURES
- *
- * 5.1 POINTER TABLE--
- *
- * THIS TABLE CONTAINS POINTERS TO IMPORTANT PARTS OF THE PROGRAM.
- *
- *T 42/NAME,18/ADDR
- *
- * NAME - DISPLAY CODE POINTER NAME.
- * ADDR - POINTER VALUE.
- *
- *
- * 5.2 WORKLIST REQUEST QUEUE
- *
- * THIS IS A ONE WORD ITEM THAT HAS A BIT SET FOR EACH TYPE ZERO
- * WORKLIST REQUEST TO BE EXECUTED.
- *
- *T 12/RES,48/BIT$MAP
- *
- * RES - UNUSED FIELD.
- * BIT$MAP - THE FIRST BIT ON THE LEFT CORRESPONDS TO THE FIRST
- * WORKLIST DEFINITION AND HAS THE HIGHEST PRIORITY, THE
- * SECOND BIT CORRESPONDS TO THE SECOND WORKLIST, AND SO
- * ON.
- *E
- * 5.3 WORKLIST DEFINITION TABLE
- *
- * THIS TABLE CONTAINS THE WORKLIST DEFINITIONS FOR THE PROGRAM.
- *
- * THERE ARE THREE FORMATS FOR AN ENTRY IN THIS TABLE. THEY ARE AS
- * FOLLOWS:
- *
- * WORKLIST TYPE ZERO -- RESIDENT ROUTINE
- *
- *T 12/TYPE0,30/RES,18/RADD
- *
- * TYPE0 - WORKLIST TYPE (SET TO ZERO)
- * RES - UNUSED FIELD
- * RADD - ROUTINE ENTRY POINT ADDRESS
- *
- *
- * WORKLIST TYPE ONE -- STATUS WORKLIST DRIVEN.
- *
- *T 12/TYPE1,30/RES,18/CADDR
- *
- * TYPE1 - WORKLIST TYPE (SET TO ONE)
- * RES - UNUSED FIELD
- * CADDR - INTERUPT CELL ADDRESS
- *
- *
- * WORKLIST TYPE TWO -- OVERLAY RESIDENT ROUTINE.
- *
- *T 12/TYPE2,12/OVNUM,12/OVEPT,24/RES
- *
- * TYPE2 - WORKLIST TYPE (SET TO TWO)
- * OVNUM - OVERLAY NUMBER
- * OVEPT - OVERLAY ENTRY POINT NUMBER
- * RES - UNUSED FIELD
- *E
- * 5.4 QUEUE TO WORKLIST DEFINITION TABLE
- *
- * EACH ENTRY IN THIS TABLE CORRESPONDS TO A TABLE/QUEUE MANAGED
- * BY THE TABLE MANAGER. EACH ENTRY CONTAINS A POINTER TO THE
- * WORKLIST DEFINITION ENTRY THAT MUST BE INVOKED WHEN AN ENTRY IS
- * MADE IN THE QUEUE.
- *
- *T TBL1 60/WLD$NUM
- *T TBL2 60/WLD$NUM
- *
- * WLD$NUM - WORKLIST DEFINITION NUMBER
- *
- *E
- * 5.5 STATUS WORKLIST DEFINITION
- * STATUS WORKLIST DEFINITIONS
- *
- * THIS TABLE CONTAINS THE CURRENT CONDITIONS TO BE WATCHED FOR,
- * THE MONITORS AND THE ADDRESSES TO BE EXECUTED WHEN THE
- * CONDITIONS CHANGE.
- *
- *T WORD1 6/RES,18/ADDR1,18/ADDR2,18/RADDR
- *T WORD2 60/INIT1
- *T WORD3 60/INIT2
- *
- * RES - UNUSED FIELD
- * ADDR1 - ADDRESS OF FIRST CELL TO BE WATCHED
- * ADDR2 - ADDRESS OF SECOND CELL TO BE WATCHED
- * RADDR - ENTRY POINT ADDRESS OF ROUTINE TO CALL
- * INIT1 - INITIAL VALUE OF FIRST CELL
- * INIT2 - INITIAL VALUE OF SECOND CELL
- *
- *
- * 5.6 OVERLAY DEFINITION TABLE
- *
- * THIS TABLE IS THE INDEX FOR THE OVERLAY FILE. IT CONTAINS THE
- * OVERLAY NAMES, ENTRY POINTS, AND DISK ADDRESSES FOR THE
- * OVERLAYS.
- *
- *T WORD1 42/OVNAME,18/FWA
- *T WORD2 12/LEVEL,12/RES,18/PADDR,18/LWA
- *
- * OVNAME - OVERLAY NAME
- * FWA - FIRST WORD ADDRESS OF OVERLAY
- * LEVEL - OVERLAY LEVEL
- * RES - UNUSED FIELD
- * PADDR - RELATIVE PRU ADDRESS ON OVERLAY FILE
- * LWA - LAST WORD ADDRESS OF OVERLAY
- *E
- * 5.7 OVERLAY CONTROL ITEMS
- *
- * THE FOLLOWING ITEMS ARE USED FOR LOADING AND EXECUTING OVERLAYS.
- *
- * OVNUM = PRIMARY LEVEL NUMBER OF OVERLAY CURRENTLY EXECUTING
- * OVENUM = OVERLAY ENTRY POINT NUMBER TO EXECUTE
- * OVC = NUMBER OF OVERLAY REQUESTS MADE
- *
- *
- * 5.8 OVERLAY REQUEST TABLE
- *
- * THIS IS A BIT MAP WHERE EACH BIT CORRESPONDS TO AN OVERLAY THAT
- * NEEDS TO BE LOADED.
- *
- *T 12/RES,42/BIT$MAP
- *
- * RES - UNUSED FIELD
- * BIT$MAP - BEGINNING WITH THE LEFT MOST BIT: BIT ONE CORRESPONDS
- * TO OVERLAY ONE, BIT TWO TO OVERLAY TWO, AND SO ON.
- *
- *
- * 5.9 ROLLOUT TABLE
- *
- * THIS TABLE USED TO CHECK IF THERE ARE ANY OUTSTANDING EXTERNAL
- * REQUESTS BEING MADE. EACH ENTRY POINTS TO A WORD AND THE BIT
- * POSITION OF THE COMPLETE BIT.
- *
- *T WORD1 48/RES,12/ECOUNT
- *T WORD2+ 30/BPOS,30/WADDR
- *
- * RES - UNUSED FIELD
- * ECOUNT - ENTRY COUNT
- * BPOS - BIT POSITION OF COMPLETE BIT
- * WADDR - POINTER TO WORD CONTAINING COMPLETE BIT
- *
- *E
- * 5.10 TIMER REQUEST BLOCK
- *
- * THIS IS THE FORMAT OF THE BLOCK USED WHEN MAKING A TIMER REQUEST.
- *
- *T WORD1 48/RES,12/ECOUNT
- *T WORD2 18/RES,18/CNUM,24/RES
- *T WORD3 60/RES
- *T WORD4 24/FTIME,18/DELAY,18/QNUM
- *
- * RES - RESEVRED FOR USE BY PROGRAM (NVF/CS)
- * ECOUNT - ENTRY WORD COUNT (SET TO FOUR)
- * CNUM - CANCEL NUMBER
- * FTIME - FIRE TIME (TIME IN WHICH TO PUT THIS BLOCK INTO A Q)
- * DELAY - DELAY TIME (NUMBER OF SECONDS TO ADD TO CURRENT TIME
- * TO DETERMINE THE FIRE TIME)
- * QNUM - NUMBER OF THE QUEUE TO PLACE THIS BLOCK IN AFTER IT
- * HAS REACHED ITS FIRE TIME
- *
- *
- * 5.11 CURRENT TIME AND DAY
- *
- * THIS BLOCK CONTAINS THE CURRENT TIME AND DATE TO BE USED BY
- * SERVICES AND SCHEDULING, AND BY THE PROGRAM (NVF/CS)
- *
- *T WORD1 30/RES,30/PDATE
- *T WORD2 60/DDATE
- *T WORD3 60/DTIME
- *T WORD4 24/RTSEC,36/RTMIL
- *T WORD5 24/FTIME,36/RES
- *
- * RES - UNUSED FIELD
- * PDATE - PACKED DATE AND TIME
- * DDATE - DISPLAY CODED DATE
- * DTIME - DISPLAY CODED TIME
- * RTSEC - NUMBER OF SECONDS SINCE DEADSTART
- * RTMIL - MILLISECONDS
- * FTIME - NEXT FIRE TIME (WITH RELATIION TO RTSEC)
- *E
- *
- * 5.12 TYPICAL QUEUE ENTRY
- *
- * THE FOLLOWING IS THE FORMAT FOR A TYPICAL QUEUE ENTRY IN NVF
- * OR CS.
- *
- *T WORD1,48/RES,12/ECOUNT
- *T WORD2,60/ABHWORD
- *T WORD3,60/ENTRY
- *T WORD4,60/
- * .
- * .
- * .
- *T,ECOUNT,60/
- *
- * RES - USED BY PROGRAM
- * ECOUNT - ENTRY WORD COUNT
- * ABHWORD - APPLICTAION BLOCK HEADER WORD
- * ENTRY - BODY OF QUEUE ENTRY
- *E
- * 6.0 DEBUGGING TIPS
- *
- * THE FOLLOWING LIST ARE THINGS TO LOOK AT OR LOOK FOR WHEN READING
- * OR ANALYZING AN NVF/CS DUMP. THIS LIST IS NOT IN ANY SPECIFIC
- * ORDER. THE ITEMS THAT APPLY DEPEND ON WHAT THE PROBLEM IS.
- *
- * 1. FOR QUICK REFERENCE TO KEY PLACES IN A DUMP USE THE POINTER
- * TABLE WHICH SHOULD BE THE FIRST THING LOADED AFTER THE
- * LOADER TABLE. IT WILL POINT TO SUCH THINGS AS THE NSUP WORD
- * AND THE BEGINNING OF THE MANAGED TABLES POINTERS.
- *
- * 2. CHECK THE REPRIEVE BLOCK FOR ANY APPLICABLE INFORMATION. FOR
- * THE FORMAT OF THE BLOCK SEE THE NOS VOLUME 4 REFERENCE
- * MANUEL.
- *
- * 3. THE FIRST WORD RIGHT AFTER THE REPRIEVE BLOCK CONTAINS THE
- * CONTENTS OF *SYS=* JUST AFTER THE ABORT.
- *
- * 4. CHECK OVNUM, OVENUM, ORQ, AND ORC FOR THE STATE OF OVERLAY
- * LOADING. THESE ITEMS WILL TELL YOU SUCH THINGS AS WHAT
- * OVERLAY IS LOADED, WHICH ENTRY POINT IS BEING EXECUTED, AND
- * WHAT OVERLAYS STILL NEED TO BE LOADED
- *
- * 5. CHECK THE CONTENTS OF WCB, ABH, AND MSG BUFFERS.
- *
- * 6. CHECK FOR MANAGED TABLES CONTAINING DATA. THESE ARE ALL THE
- * TABLES WHOSE LENGTH VALUES ARE NON-ZERO.
- *
- * 7. CHECK THE CONTENTS OF MEMLOC. THIS WILL TELL YOU WHERE THE
- * MANAGED TABLE AREA BEGINS.
- *
- * 8. TO VERIFY THAT THE LOAD MAP MATCHES THE DUMP, THE BUILD DATE
- * AND TIME INDICATED IN THE COMMENT PORTION OF PROC *SSSPAT*
- * (IN THE LOAD MAP) SHOULD MATCH THE DATE AND TIME FOUND
- * RIGHT AFTER THE POINTER TABLE.
- *
- *E
- #
- *ENDTEXT
- *ENDIF
- # TITLE SSSPES - PROGRAM EXECUTION SEQUENCER. #
- BEGIN # SSSPES #
- #
- ** SSSPES - PROGRAM EXECUTION SEQUENCER.
- *
- * S. H. FISCHER. 81/08/27.
- *
- * THIS IS THE MAIN LOOP.
- *
- * PROC SSSPES
- *
- * ENTRY NONE.
- *
- * EXIT NEVER.
- *
- * METHOD TRY AND FIND WORK TO TO, IF NONE CALL IDLE ROUTINE
- * AND REPEAT.
- *
- #
- #
- **** PROC SSSPES - XREF LIST.
- #
- XREF
- BEGIN
- PROC NETCHEK; # CHECK WORKLIST PROCESSING COMPLETION #
- PROC SSCUTD; # UPDATE TIME OF DAY #
- PROC SSSESP; # EXECUTE STATUS PROGRAM #
- PROC SSSEWP; # EXECUTE WORKLIST PROGRAM #
- PROC SSSWNR; # WAIT NEW REQUEST #
- END
- #
- ****
- #
- ITEM ACTIVE B;
- TOP: # TOP OF MAIN LOOP #
- NETCHEK; # CHECK WORKLIST PROCESSING COMPLETION #
- SSCUTD; # UPDATE TIME OF DAY #
- SSSESP( ACTIVE ); # EXECUTE STATUS PROGRAM #
- IF ACTIVE THEN GOTO TOP;
- SSSEWP( ACTIVE ); # EXECUTE WORKLIST PROGRAM #
- IF ACTIVE THEN GOTO TOP;
- SSSWNR; # WAIT NEW REQUEST #
- GOTO TOP;
- END # SSSPES #
- TERM
cdc/nos2.source/nam5871/ssspes.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator