Trailing-Edge
-
PDP-10 Archives
-
decuslib10-04
-
43,50343/tpmodl.doc
There is 1 other file named tpmodl.doc in the archive. Click here to see a list.
TRANSACTION PROCESSOR (T/P) -V7- 27-FEB-74
GEORGE H. NEWTON
DIGITAL EQUIPMENT CORPORATION
DEC DATA CENTER TECHNICAL SUPPORT
PK3-2 25-E EXT: 3673
THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE
WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A
COMMITMENT BY DIGITAL EQUIPMENT CORPORATION.
ACTUAL DISTRIBUTION OF THE SOFTWARE DESCRIBED
IN THIS DOCUMENT WILL BE SUBJECT TO TERMS AND
CONDITIONS TO BE ANNOUNCED AT SOME FUTURE DATE
BY DIGITAL EQUIPMENT CORPORATION.
DIGITAL EQUIPMENT CORPORATION ASSUMES NO
RESPONSIBILITY FOR THE USE OR RELIABILITY
OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT
SUPPLIED BY DIGITAL EQUIPMENT CORPORATION.
ALTHOUGH THIS PROGRAM HAS BEEN TESTED BY THE AUTHOR,
NO WARRANTY, EXPRESS OR IMPLIED, IS MADE BY THE
AUTHOR OR DIGITAL EQUIPMENT CORPORATION AS TO THE
ACCURACY OR FUNCTIONING OF THE PROGRAM OR RELATED
PROGRAM MATERIAL, AND NO RESPONSIBILITY IS ASSUMED
BY THESE PARTIES IN CONNECTION THEREWITH.
THIS SOFTWARE IS FURNISHED TO THE PURCHASER UNDER
AN AGREEMENT TO USE ON A SINGLE COMPUTER SYSTEM AND
CAN BE COPIED (WITH INCLUSION OF DIGITAL
EQUIPMENT CORPORATION'S COPYRIGHT NOTICE)
ONLY FOR USE IN SUCH SYSTEM, EXCEPT AS MAY
OTHERWISE BE PROVIDED IN WRITING BY DIGITAL
EQUIPMENT CORPORATION.
A.) WHAT IS T/P?
T/P IS A MACRO-10 PROGRAM, WHICH WHEN LOADED WITH A CUSTOM
WRITTEN COBOL PROGRAM LOW-SEGMENT WILL ALLOW 'NN' TERMINALS
TO 'TALK' TO THE PROGRAM.
B.) HOW DOES T/P WORK?
THE TERMINAL USER DOES NOT LOG-IN, HE DOES A (.SET TTY PAGE NN)
T/P, RECOGNIZING THIS FLAG, 'SLAVES' THE TERMINAL
CLEARS HIS 'GAG' BIT, AND ADDS HIM TO THE T/P TTY TABLE.
WHEN ONE OF THE TERMINALS IN T/P'S TTY TABLE COMPLETES
A LINE, T/P GRABS THE TERMINAL ON CHANNEL 14, TAKES THE
MESSAGE, AND THEN RELEASES THE TERMINAL. THE COBOL
PROGRAMS LOGICAL-TTY-NUMBER IS THEN CHANGED TO
REFLECT THE TERMINAL WE JUST GOT THE MESSAGE FROM, AND
CONTROL IS THEN RETURNED TO THE COBOL PROGRAM.
WHEN THE COBOL PROGRAM HAS COMPLETED PROCESSING THE
TRANSACTION, HE RETURNS CONTROL TO T/P; PASSING
ARGUMENTS WHICH CONTAIN LINE-COUNTER (0-N) LINES,
ADDRESS OF FIRST RETURNED LINE, ETC.
T/P FIRST ALTERS THE ADDRESS OF THIS LOGICAL TTY IN THE
COBOL PROGRAM DISPATCHER (GO TO DEPENDING ON - - ), SO WHEN
THIS TTY RETURNS, HE WILL CONTINUE PROCESSING AT HIS
NEXT LOGICAL INSTRUCTION. THE RETURNED MESSAGE(S) ARE
NOW PLACED IN THE TERMINALS TTY BUFFER (AFTER INIT ON CH14)
WITH TRAILING SPACES REMOVED, ADDING <CR><LF>; WITH
OVERFLOW CHARACTERS PLACED IN T/P'S BUFFER FOR TYPING LATER.
T/P THEN LOOKS FOR THE NEXT TERMINAL WITH A LINE.
C.) T/P FEATURES - -
1.) MASTER TERMINAL FUNCTIONS:
(#) SLAVES CONNECTED NN
(S)LAVE LIST (LISTS WHO IS ON & FOR HOW LONG)
(H)ELP TELLS HOW TO USE MASTER FUNCTIONS
(K)ILL REMOVE ALL TERMINALS & GO TO COBOL PROGRAM
WRAP-UP ROUTINE (REQUIRES CONFIRM).
2.) LOCK & HPQ - -
T/P ATTEMPTS TO LOCK HIS LOW-SEGMENT, AND RUN
UNDER HPQ 1, AFTER HE HAS FOUND HIS
FIRST TERMINAL; IF HE FINDS HE HAS NO TERMINALS
LEFT HE WILL UNLOCK, AND HPQ 0.
3.) SEARCHING FOR NEW TERMINALS - -
T/P SEARCHES FOR HIS FIRST TERMINAL EVERY
5 SECONDS (SLEEPING IN BETWEEN)
AFTER HE FINDS HIS FIRST TERMINAL, HE SEARCHES
EVERY 3 SECONDS FOR THE NEXT 30 MINUTES, THEN
EVERY 30 SECONDS. THIS APPROACH ALLOWS FOR FAST
PICK-UP OF NEW TERMINALS AT THE BEGINNING OF THE
DAY OR AFTER A CRASH.
4.) SLEEPING - -
IF T/P MAKES A COMPLETE PASS OF HIS TTY TABLE
AND FINDS NO ACTIVITY, HE WILL SLEEP FOR
1 SECOND, AND IF HE DOES 30 1 SECOND SLEEPS
WITHOUT ANY ACTIVITY, HE THEN SLEEPS FOR 5 SECOND
INTERVALS.
5.) NAME CHANGE - -
EVERY TIME A TERMINAL IS ADDED TO OR REMOVED FROM
T/P'S TTY TABLE, HE CHANGES THE PROGRAM NAME TO
REFLECT THE NUMBER OF TERMINALS IN HIS POOL. THE
NAME TAKES THE FORM XXX### WHERE XXX IS A
FIXED NAME ASSEMBLED INTO T/P, AND ### IS THE
RIGHT JUSTIFIED, LEFT ZERO FILLED NUMBER OF
TERMINALS CONNECTED. CHANGING THE NAME AIDS
IN THE MONITORING OF THE PROGRAM VIA SYSTAT ETC.
6.) CONTROL-C (^C) - -
IF THE TERMINAL USER TYPES A ^C, T/P WILL SEE
IT IN THE INPUT STRING, AND WILL RETURN THE
TERMINAL USER TO A PREDETERMINED ^C ROUTINE
IN THE COBOL PROGRAM.
7.) MORE-TO-COME (SWITCH) - -
THE COBOL PROGRAM MAY REQUEST T/P TO RETURN
A TERMINALS CONTROL TO IT WITHOUT
THE USER TYPING A LINE. THIS IS USEFULL WHEN
THE PROGRAM MAY WANT TO TYPE MORE LINES OF
DATA THAN HE BUILT T/P'S BUFFERS TO HOLD.
D.) WHY USE T/P?
1.) LESS JOBS REQUIRED TO DO THE SAME WORK.
THE MONITOR MAY BE REDUCED IN SIZE BY 20 - 30
JOBS @ 300 WORDS/JOB = 6K - 9K
THE SWAPPING AND SCHEDULING LOADS ON THE MONITOR
WILL BE REDUCED.
LESS DDB'S
2.) LESS USER CORE - -
SINCE THERE IS ONLY 1 LOW-SEGMENT FOR 'NN' USERS
THERE IS A SIGNIFICANT SAVINGS OF CORE OVER A
RE-ENTRANT VERSION OF THE SAME PROGRAM.
3.) LESS SYSTEM HACKING - -
THE USER DOES NOT LOGIN, WHICH WILL
REDUCE THE USE OF GAMES ETC.
E.) WHEN TO USE T/P - -
T/P SHOULD BE SELECTED FOR USE BASED ON SOME VARIABLES
1.) THE NUMBER OF USERS A PROGRAM MAY HAVE AT ONE TIME.
IF THIS NUMBER IS LESS THAN ABOUT 5 - 10,
A RE-ENTRANT VERSION OF THE PROGRAM MAY BE BETTER.
IF THIS NUMBER IS GREATER THAN 5 - 10, T/P
MAY BE THE BETTER CHOICE.
2.) THE NUMBER OF AND BUFFER SIZE OF FILES.
SINCE THE FILES AND BUFFERS ARE REQUIRED FOR EACH
COPY OF A REENTRANT VERSION, THE MORE OF THEM
AND THE LARGER THEY ARE, THE BETTER ALTERNATIVE
T/P BECOMES.