On Jul 5, 2019, at 5:51 PM, Johnny Billquist <bqt
at softjar.se> wrote:
On 2019-07-05 23:31, John Forecast wrote:
On Jul 5,
2019, at 3:29 PM, Johnny Billquist <bqt at softjar.se> wrote:
I've been managing TOPS-20 as well, so I know about OPR and so on.
However, I don't know much the internals at all.
In RSX, NCP is the program which is the user interface part. But all NCP does is it
establish a DECnet connection to NICE, in order to perform any operations.
Mostly true. Prior to the executor state being ?on?, NCP can?t establish a DECnet
connection to NICE so it starts up NTINIT which knows enough to orchestrate loading the
networking code into memory via the network loader NTL? - certainly that was the case
through Phase III.
Ah, right. Yes, that is still the case.
So there
are no other type of interprocess communication going on with regards to DECnet in RSX.
But in general, there are a mechanism for sending messages between tasks in RSX.
But DECnet is handled, as mentioned, by NETACP. NETACP in turn will start other tasks as
needed when connection requests arrive.
The split between the DECnet device driver and NETACP is mostly around
performance - the driver handles data transmit and receive while NETACP handles the slower
connect/disconnect logic. Doing it this way allowed us to overlay NETACP on unmapped 11M
systems and save some physical memory (shudder!!).
Well, the device driver is split between the code running in interrupt context, which
obviously isn't properly within NETACP, and the code running in a non-interrupt
context, which is running under NETACP.
The whole set of CEX services are available, and NETACP is also responsible for the
synchronization between the different driver and other levels.
The whole installation of drivers, and linkage into the interrupt system is established
by NETACP, unless I remember wrong.
NETACP isn?t even running when DECnet starts loading. CEXBF.MAC is compiled with
the M+ kernel but in earlier versions it was distributed with the DECnet kit and loaded
into memory by ?NCP SET SYS?. NTINIT reads CETAB.TSK I think and then kicks off NTL to
load each CEX module into memory. If you look at the .DAT file for a particular module
you?ll see it?s in a limited assembler syntax. NTL has a mini assembler/linker included to
hook modules and drivers into CEX and the interrupt system.
You cannot change the DECnet address under RSX either.
In fact, you can not even change it once on the running system. The only way to change it
is to change the permanent database and reboot in order for it to take effect.
And in RSX, modifying the permanent database is not done with NCP but with a different
task called CFE. However, in VMS, NCP are used for both databases.
Don?t forget VNP which allows NCP setup commands to be applied to the saved image
so that they will take effect the next time the system is booted.
Didn't want to make it sound even more complex. :-)
Right. Unfortunately it had to be there to make DECnet-11S viable.
John.
Johnny
John.
> Johnny
>
> On 2019-07-05 20:57, Thomas DeBellis wrote:
>> Yes and No. Some of the design concepts are quite similar which is
unsurprising.
>> The NICE task on Tops-20 has a named object called NCU. The (fork) listener is
NMLT20 which will also accept local (and cluster) IPCF% communications. In OPR, you enter
NCP submode, which parses nearly the exact same command set as NCPACP. It then (via
Orion) sends this to NMLT20 which performs the action (or crashes) or sends it to another
NCU (or crashes).
>> So that sounds analogous to NCPACP to NICE.TSK architecture. Remind me how RSX
does the inter-task communication? I haven't programmed it since 1977... I remember
it being different from IPCF%, but still thought it was neat.
>> There is no permanent store in Tops-20 for this DECnet information. It is
scattered through various configuration files that are swallowed depending on criticality
during boot up an operation. Tops-20 does *not* like having either the MAC address nor
the local DECnet node number numbers changed, ever and configuration for router and local
area must be done 'early' and once only; so all that stuff is in
SYSTEM:7-1-CONFIG.CMD. You have to reboot to get changes updated.
>> Other stuff (like setting the executor identification) and enabling services goes
into SYSTEM:SYSTEM.CMD where OPR hands it to NMLT20.
>> There is much to be learned by comparing the architectures.
>>> ------------------------------------------------------------------------
>>> On 7/4/2019 2:37 PM, Johnny Billquist wrote:
>>>
>>> NETACP in RSX (and I suspect VMS) is just the process/program that implements
a lot of the DECnet protocols. It is actually pretty much not related to anything here.
>>>
>>> At least in RSX, the NICE protocol is handled by a separate task called
NICE.TSK.
>>>
>>> And when you run NCP under RSX, it pretty much talks to NICE for any
operations requested, also for the local node.
>>>
>>> I know that this is very different from how things work under TOPS-20. There
are no handling of objects from NCP using NICE in TOPS-20, and there is no permanent
database (as far as I know), compared to RSX or VMS.
>>>
>>> Johnny
>>>> ------------------------------------------------------------------------
>>>> On 2019-07-04 03:06, Thomas DeBellis wrote:
>>>>
>>>> Tops-20 has a subtly different architecture, in part perhaps reflective
of the previously described 'bolt on'.
>>>>
>>>> The closest thing to NETACP is NMLT20, which implments NCU. Parts of that
are in written BLISS and at one point, it had a shared a partly common code base with some
RSX/VAX stuff. Interfacing to Galaxy (the Tops-10/Tops-20 Operator Interface and Queuing
system), NMLT20 was /notorious/ for crashing in early (Phase III) releases. I wrote many
SPR's...
>>>>
>>>> I can't define objects. FAL itself puts up the FAL object and speaks
DAP over it. Communication with it is either over a DECnet FAL object (via DAP) or with
Tops-20 IPCF. The only messages that gets are (the largely useless) logging messages from
inferior FAL processes and checkpoint messages from Quasar, the queue manager. It
doesn't process any other messages from Galaxy, so it doesn't seem that it would
know how to swallow anything that NMLT20 might hand off.
>>>>
>>>> I can define the following:
>>>>
>>>> CIRCUIT
>>>> EXECUTOR
>>>> KNOWN
>>>> LINE
>>>> LOGGING
>>>> MODULE
>>>> NODE
>>>>
>>>> I'll see what I turn up when I finish polishing off that pesky DAP
bug (after I finish the VIKING OCR).
>>>>
>>>> Lots for you to look forward when you get back into it, eh? :-D
>>>>>
------------------------------------------------------------------------
>>>>> On 7/3/2019 5:34 PM, Robert Armstrong wrote:
>>>>>
>>>>>> I'll have a look at FAL; at first glance it has no hooks for
a default account
>>>>>
>>>>> It?s probably handled by NETACP, or whatever passes for that on
TOPS20. Does your NCP understand the command
>>>>>
>>>>> DEFINE OBJECT FAL USER <whatever> PASSWORD <whatever>
>>>>>
>>>>> Bob
>>>>>
>>>
>>>
>
>
> --
> Johnny Billquist || "I'm on a bus
> || on a psychedelic trip
> email: bqt at softjar.se || Reading murder books
> pdp is alive! || tryin' to stay hip" - B. Idol
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol