Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-03 - decus/20-0081/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.