There are parts that are pretty common, and there are parts that are miles apart...
Device drivers, as well as I/O in general, is very different in RSX than RSTS/E.
The same goes for the concepts of processes/tasks, which in RSTS/E are a job, which is
tied to a terminal, while in RSX tasks are more self-contained in the same way as under
Unix. So you can run several tasks at the same time from one terminal, and tasks can run
other tasks without exiting themself, and that is the normal way of life. RSTS/E is in
another category of design.
All I/O is also asynchronous in RSX... And you have ASTs that tells you when things
actually have happened.
Not that I want to rack down on RSTS/E, or discourage you from trying something, but you
should expect this to be in the rather difficult category of work... :-)
Johnny
On 2012-04-13 15:32, Steve Davidson wrote:
Well...
While the two Oses ARE different they do share quite a bit. I used to
support RSX (and IAS) at the internals level when I worked in the
Corporate Operations Group/Software Services/Real-time Group (RTG) at
DEC so I'm quite at home with the RSX family of systems. I use RSTS/E
in day-to-day tasks here. I am out of practice but it wouldn't take
that much to come back up to speed programming wise. I also used to
teach MACRO-11 to Software Services Personnel.
This could be fun! It will certainly be different!
-Steve
-----Original Message-----
From: owner-hecnet at Update.UU.SE
[mailto:owner-hecnet at Update.UU.SE] On Behalf Of Johnny Billquist
Sent: Friday, April 13, 2012 09:22
To: hecnet at Update.UU.SE
Subject: Re: [HECnet] Web-server under RSX-11M-PLUS
Some parts possibly, but it would be very complex. Much of
the actual TCP/IP implementation is in the form of device drivers.
In RSX, there is (now) IF:, which is the basic device
interfaces, IP:, which talks raw IP (and ICMP), UD:, which
talks UDP, and TC:, which talks TCP.
The TC: driver, as well as the UD: driver internally then talks to the
IP: driver. The IP: driver in turn talks to the appropriate
IF: driver, depending on the routing tables.
TC: even understands file specifications, so you can do things like:
PIP TI:=TC:"130.238.19.212";17, which will give you the quote
of the day on your terminal (that's what port 17 is). (Try it
on MIM:: :-) )
Device drivers are very different in the different OSes, so
the basic code that deals with the protocol bits can pretty
much be used straight off, but all the code dealing with the
interfacing to the OS, memory, other drivers, and user
applications, will be totally different. I'm not sure exactly
how a device driver in RSTS/E works.
Also, for ethernet, I make use of a feature in RSX called an
ACP, which is like a user level program that extends the
functionality of a device.
So the ethernet device is an ACP attached to the IF: driver
(for the specific unit), and which in turn implements all the
logic of communicating over ethernet, including ARP.
And then of course, is the tools, which are perhaps a bit
more OS specific, but they are smaller and simpler for the most part.
Applications (if everything else was ported) would probably
work without any changes.
Johnny
On 2012-04-13 14:55, Steve Davidson wrote:
Johnny,
Could it be ported to RSTS/E V10.1? That's what PLUTO:: is.
-Steve
-----Original Message-----
From: owner-hecnet at Update.UU.SE
[mailto:owner-hecnet at Update.UU.SE] On Behalf Of Johnny Billquist
Sent: Friday, April 13, 2012 08:41
To: hecnet at Update.UU.SE
Subject: [HECnet] Web-server under RSX-11M-PLUS
This is perhaps slightly offtopic, but fun enough that I like to
announce it anyway...
===
Ok. I just thought I'd stir some interest and just general
noise by
announcing that I've written a small web-server running under RSX.
It's written in BASIC+2, and uses the TCP/IP stack for RSX
that I've
also written. There are probably a bunch of bugs and issues still
around, so I'm happy to take any bug reports, comments or whatever.
The url is
http://madame.update.uu.se/, and if anyone is curious
about the code, it's at mim.update.uu.se (same machine, other IP),
under MIM::DU:[HTTPD]WWW.B2S (also on HECnet)
If people have any interest in this stuff, or something else/more,
I'm interested in hearing about it. The TCP/IP stack will
eventually
(soon) be available for others to download and use, and apart from
the web server, I've also written a telnet client, and a few small
services under TCP, as well as some tools for
administration. I have
some polishing to do, I need to finish a DNS resolved, and
I'd like
to also finish FTP and a telnet server, but I might be open to
distributing things before I've finished all those things,
especially
if someone is interested in helping writing stuff.
I have interfaces completed for BASIC+2, PDP-11 C, Macro-11.
FORTRAN 77 should also work, but I haven't tried it yet.
This all runs under RSX-11M-PLUS V4.6, but I think it should be
possible to get running under almost any M+ version, but
there might
be some hacking needed for some versions.
It will not work under 11M, and I never expect it to. One or two
drivers as well as one or two tools really are big enough
that I need
to use the split I/D space feature in M+.
Rewriting stuff to not need that is way too much work.
Johnny
--
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
--
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