PDP-10 / tenex

BBN's PDP-10 operating system
32 stars 3 forks source link

"Installing TCP and servers" on Tenex #16

Open larsbrinkhoff opened 2 years ago

larsbrinkhoff commented 2 years ago

https://elists.isoc.org/pipermail/internet-history/2020-March/005912.html

To: System Programmers
From:   William W. Plummer, BBN
Date:   19SEP76

Re: Installing TCP and servers

1.  Make a directory <TCP> to hold all of the files.

2.  If the TCP and servers are to be run by <SYSTEM> or <TCP> or
    whoever, give that user WHEEL (so it can use PTY's in their
    current partially implemented form) and NETWIZ (so it can
    use raw network messages.

3.  Add the TCP assembly switch to PARAMS.MAC.  See partial
    listing.

4.  Add code under TCP switch in FORKS.MAC.  See partial listing.

5.  Add directed PSI code in IMPDV.MAC.  See partial listing.

6.  Define FORKX as JSYS 747 in STENEX.MAC.  Reassemble STENEX.

7.  Define FORKX in PROLOG.MAC.  Delete LDINIT.REL;* to cause the
    JSYS dispatch vector to be reassembled.

8.  In PARAMS.MAC  set NPTYS to 8.  Figure out what line numbers
    your PTY's will be for later use.

9.  Be sure your CHKJFN routine matches the one enclosed.  Same
    for other PTY-related fragments enclosed.

10. Assemble a new monitor.

11. A copy of the file <SYSTEM>SYSJOB.TCP is included here which
    should be updated for your system.  To restart the TCP after
    flushing the old jobs, just copy this file to
    <SYSTEM>SYSJOB.COMMANDS and Job0 will do the rest.

12. To have the TCP started automatically when the system comes
    up, include the contents of SYSJOB.TCP in SYSJOB.RUN.

13. You may want to have a separate account and pieslice for the
    TCP.

14. Files and what they do:

    <TCP>TCP155.SAV     Contains all code for the TCP job and
                interface (simulated JSYS's) for users.

    <TCP>TTLSRV.MAC     Sources for "TCP Telnet Server".
    <TCP>TTLSRV.SAV     The actual program.
    <TCP>TTLSRV.LOG     Textual log of activities.

    <TCP>ECHO.SAV       An echo server.
    <TCP>ECHO.LOG       A log file.

    <TCP>SINK.SAV       InterNet version of NIL:
    <TCP>SINK.LOG       Textual log file.

    <TCP>XTCP155.SAV    Used to map the TCP for debugging.
    <TCP>XTCI155.SAV    Used to map the TCI

    <TCP>START-TCP155.SAV   Program run by a created job to cause
                a TCP to be mapped and started.

    <TCP>START-TTLSRV155.SAV    Program run by a created job to
                    cause the TTLSRV to be started.

    <TCP>START-ECHO.SAV     Program run by a created job to
                    start the ECHO server.

    <TCP>START-SINK.SAV     Program run by a created job to
                    start the SINK server.

15. A word about TCP155.SAV

    This is a specially constructed SSAVE file.  Parts are "normal"
Read, Copy-on-write, Execute while others are actual shared Read-Write.
This file may be copied with the EXEC "COPY" command and may be
shipped around with FTP, but don't try to GET and SSAVE it. Don't
try to just RUN it.  In order for the GET JSYS to properly map the
file, it must be openned with "per-page table" access.  That is all
XTCP155 and XTCI155 do: open the file, do a GET and HALTF.  The
EXEC "START" command may then be used.  Programs like START-TCP155
do the same but automatically start the program.

    TCP is the actual protocol routines, the packetizer, the
retransmitter, the reassembler, ... etc.